使用 JDBC 驅動程式連線至 Athena 時,如何使用 IAM 角色登入資料或切換至其他 IAM 角色?

2 分的閱讀內容
0

我想要使用 AWS 身分和存取管理 (IAM) 角色透過 JDBC 驅動程式連線到 Amazon Athena。-或-我想要在透過 JDBC 驅動程式連線到 Athena 之前,切換到 AWS 帳戶或其他帳戶中的其他 IAM 角色。

解決方法

使用 IAM 角色憑證連線至 Athena JDBC 驅動程式

擷取角色的臨時憑證。擷取臨時憑證的程序取決於您如何承擔角色。

**注意:**如果在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

如需詳細資訊,請參閱使用 IAM 角色和檢閱比較使用角色的方法表格。

臨時憑證包含工作階段權杖、存取金鑰 ID 和私密存取金鑰。驗證與 Athena 的 JDBC 連線需要這三個憑證。請記住,臨時憑證的最長使用期為 12 小時。

1.    在安裝 Athena JDBC 驅動程式的電腦上,將臨時憑證儲存到 AWS 憑證檔案 (~/.aws/credentials) 做為具名設定檔。如需詳細資訊,請參閱組態和憑證檔案設定

以下是存放在名為 testprofile 的 AWS CLI 設定檔中的臨時憑證範例:

[testprofile]
aws_access_key_id=ASIAXXXXXXXXX
aws_secret_access_key=XXXXXXXX
aws_session_token=XXXXXXXXXXXXXXXXXX

2.    若要使用 JDBC 驅動程式連線至 Athena,請在 JDBC 連線字串中指定設定檔名稱 (例如:jdbc:awsathena://AwsRegion=us-west-2;Profile=testprofile;)。或者,在設定檔 JDBC 組態屬性中設定設定檔名稱。

注意:設定檔 JDBC 組態屬性可在 Athena JDBC 驅動程式 2.0.6 版及更新版本中使用。若要取得最新的 JDBC 驅動程式,請參閱下載 JDBC 驅動程式的連結

切換至不同的 IAM 角色,然後連線至 Athena JDBC 驅動程式

若要在連線至 Athena JDBC 驅動程式之前切換角色,請使用具名設定檔中的 source_profile 選項:

1.    在安裝 Athena JDBC 驅動程式的電腦上,將具名設定檔新增至 AWS CLI 憑證檔案 (~/.aws/credentials)。如需建立具名設定檔的詳細資訊,請參閱具名設定檔。設定檔必須包含下列屬性:

role_arn:您要承擔的角色的 Amazon Resource Name (ARN)
source\ _profile:包含 IAM 使用者的憑據或具有擔任該角色之權限的 IAM 角色的設定檔

例如,要承擔具有 ARN arn:aws:iam::123456789012:role/testrole 的名為 testrole 的角色,請建立具名設定檔,如下所示:

[switchroletest]
role_arn=arn:aws:iam::123456789012:role/testrole
source_profile=default

在此範例中,預設設定檔包含 IAM 使用者或具有執行 testrole 權限的角色的憑證:

[default]
aws_access_key_id=ASIAXXXXXXXXX
aws_secret_access_key=XXXXXXXX
aws_session_token=XXXXXXXXXXXXXXXXXX

注意: AWS CLI 支援在 AWS CLI 設定檔 (/.aws/config) 中指定 source_profile 和在單獨的 AWS CLI 憑證檔案 (/.aws/credentials) 中指定使用者憑證。不過,Athena JDBC 驅動程式只支援從 AWS CLI 登入憑證讀取憑證。由於此限制,前述範例中的設定檔必須放置在相同的 AWS CLI 憑證檔案 (~/.aws/credentials) 中,且不應加上 profile 字首。Athena JDBC 驅動程式不支援在具名設定檔中使用 credential_source = Ec2InstanceMetadata

2.    若要使用 JDBC 驅動程式連線至 Athena,請在 JDBC 連線字串中指定設定檔名稱 (例如:jdbc:awsathena://AwsRegion=us-west-2;Profile=switchroletest;)。或者,在設定檔 JDBC 組態屬性中設定設定檔名稱。


相關資訊

要求臨時安全性憑證

包含 SQL 連接器安裝和組態指南的 Simba Athena JDBC 驅動程式 (版本 2.0.9)

切換到 IAM 角色 (AWS CLI)

在 AWS CLI 中使用 IAM 角色

AWS 官方
AWS 官方已更新 2 年前