Aws

如何使用代入角色將 Datagrip 與 AWS Athena 連接?

  • June 29, 2021

我可以通過 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 $$; 代理:空

即使我在UserDatagrip 對話框中將角色作為 a 輸入,我的使用者名也會出現同樣的錯誤。

我最終通過在憑據中使用命名配置文件解決了這個問題。

awsume 可以選擇將憑證寫入文件:將awsume -o default role-profile-name它們寫入[default].~/.aws/credentials

然後在 Datagrip 中,我將連接配置為default用作配置文件。使用者名顯然沒有被使用,可以是任何東西(至少在我的情況下)。

有關詳細資訊,請參閱https://aws.amazon.com/premiumsupport/knowledge-center/athena-iam-jdbc-driver/

引用自:https://dba.stackexchange.com/questions/294726