如何使用代入角色將 Datagrip 與 AWS Athena 連接?
我可以通過 AWS CLI 進行 Athena 查詢。這需要我先承擔一個角色(我使用
awsume
)。該角色需要 MFA。現在我也想為此配置 Datagrip。但是,有兩種身份驗證選項:
- 使用者/通行證 - 我可以輸入我的 AWS 密鑰 ID 和密碼,但我認為如果沒有 MFA 令牌也會失敗(Datagrip 2021.1 中沒有它的欄位)。
- AWS 配置文件 - 我想出了要放入“配置文件”的內容 - 這是
source_profile
我在我的角色配置文件中的~/.aws/config
. 但是,我不知道該放什麼User
。如果我輸入:
- 角色配置文件的名稱
- 角色名稱
- 角色的 ARN
- 我的 AWS 使用者名它們都因錯誤而失敗:
指定的數據庫使用者/密碼組合被拒絕:
$$ HY000 $$$$ 100071 $$ $$ Simba $$AthenaJDBC AWS Athena 客戶端引發錯誤。使用者:arn:aws:iam::$$ NUMBER $$:使用者/$$ MYUSERNAME $$無權執行:athena:ListDataCatalogs$$ Execution ID not available $$ com.simba.athena.amazonaws.services.athena.model.AmazonAthenaException:使用者:arn:aws:iam::
$$ NUMBER $$:使用者/$$ MYUSERNAME $$無權執行:athena:ListDataCatalogs(服務:AmazonAthena;狀態程式碼:400;錯誤程式碼:AccessDeniedException;請求 ID:$$ UUID $$; 代理:空
即使我在
User
Datagrip 對話框中將角色作為 a 輸入,我的使用者名也會出現同樣的錯誤。
我最終通過在憑據中使用命名配置文件解決了這個問題。
awsume 可以選擇將憑證寫入文件:將
awsume -o default role-profile-name
它們寫入[default]
.~/.aws/credentials
然後在 Datagrip 中,我將連接配置為
default
用作配置文件。使用者名顯然沒有被使用,可以是任何東西(至少在我的情況下)。有關詳細資訊,請參閱https://aws.amazon.com/premiumsupport/knowledge-center/athena-iam-jdbc-driver/