我無法連接到 Amazon Athena - Amazon QuickSight

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

我無法連接到 Amazon Athena

   目標受眾:Amazon QuickSight 管理員 

使用此章節來協助您對 Athena 的連線進行疑難排解。

如果您無法連線到 Amazon Athena,執行查詢時可能會收到許可不足錯誤,表示未設定許可。若要確認您可以將 Amazon 連線至 QuickSight Athena,請檢查下列設定:

  • AWS Amazon 內部的資源許可 QuickSight

  • AWS Identity and Access Management (IAM) 政策

  • Amazon S3 位置

  • 查詢結果位置

  • AWS KMS 金鑰政策 (僅適用於加密資料集)

如需詳細資訊,請參閱下列資訊。如需 Athena 其他問題疑難排解的資訊,請參閱 搭配 Amazon 使用 Amazon Athena 時的連線問題 QuickSight

請確定您已授權 Amazon QuickSight 使用 Athena

   目標受眾:Amazon QuickSight 管理員 

使用下列程序,確認您已成功授權 Amazon QuickSight 使用 Athena。資源的許可 AWS 適用於所有 Amazon QuickSight 使用者。

若要執行此動作,您必須是 Amazon QuickSight 管理員。若要檢查您是否具有存取權,請在從右上角的設定檔開啟選單時,確認您是否看到管理 QuickSight選項。

授權 Amazon QuickSight 存取 Athena
  1. 選擇您的描述檔名稱 (右上角)。選擇管理 QuickSight,然後選擇安全性和許可

  2. QuickSight 存取 AWS 服務下,選擇新增或移除

  3. 在清單中尋找 Athena。清除 Athena 旁的方塊,然後再次選取以啟用 Athena。

    然後選擇 Connect both(同時連線)

  4. 選擇您要從 Amazon 存取的儲存貯體 QuickSight。

    您在此處存取的 S3 儲存貯體設定與您從 清單中選擇 Amazon S3 存取的設定相同 AWS 服務。請小心不要意外停用其他人使用的儲存貯體。

  5. 選擇刪除確認您選取的項目。若要退出而不儲存,請選擇取消

  6. 選擇更新以儲存 Amazon QuickSight 存取 的新設定 AWS 服務。或者,選擇取消離開,但不建立任何變更。

  7. AWS 區域 完成後,請確定您使用的是正確的 。

    如果您必須變更 AWS 區域 作為此程序第一步驟的一部分,請將它變更回 AWS 區域 您之前使用的 。

確保您的IAM政策授予正確的許可

   目標對象:系統管理員 

您的 AWS Identity and Access Management (IAM) 政策必須授予特定動作的許可。您的IAM使用者或角色必須能夠讀取和寫入 Athena 用於查詢的 S3 儲存貯體的輸入和輸出。

如果資料集已加密,IAM使用者必須是指定金鑰政策中的 AWS KMS 金鑰使用者。

驗證您的IAM政策是否具有使用 S3 儲存貯體進行查詢的許可
  1. 在 開啟IAM主控台https://console.aws.amazon.com/iam/

  2. 找出您正在使用IAM的使用者或角色。選擇使用者或角色名稱來查看相關聯的政策。

  3. 驗證政策具有正確的許可。選擇您要驗證的政策,然後選擇編輯政策。使用視覺化編輯器 (預設會開啟)。如果您改為開啟JSON編輯器,請選擇視覺化編輯器索引標籤。

  4. 選擇清單中的 S3 項目來查看它的內容。政策需要對清單授予的許可為讀取和寫入。如果 S3 不在清單中,或是它沒有正確的許可,則可以在這裡加以新增。

如需使用 Amazon IAM的政策範例 QuickSight,請參閱 IAM Amazon 的政策範例 QuickSight

確定IAM使用者具有 S3 位置的讀取/寫入存取權

   目標受眾:Amazon QuickSight 管理員 

若要從 Amazon 存取 Athena 資料 QuickSight,請先確定 Athena 及其 S3 位置已在管理 QuickSight畫面中獲得授權。如需詳細資訊,請參閱請確定您已授權 Amazon QuickSight 使用 Athena

接下來,驗證相關IAM許可。您的 Athena 連線IAM使用者需要讀取/寫入存取結果進入 S3 的位置。首先,驗證IAM使用者是否具有連接政策,允許存取 Athena ,例如 AmazonAthenaFullAccess。讓 Athena 使用其所需的名稱建立儲存貯體,然後將此儲存貯體新增至QuickSight 可存取的儲存貯體清單。如果您變更結果儲存貯體 (aws-athena-query-results-*) 的預設位置,請確定IAM使用者具有讀取和寫入新位置的許可。

確認您未在 S3 中包含 AWS 區域 程式碼URL。例如,使用 s3://awsexamplebucket/path 而非 s3://us-east-1.amazonaws.com/awsexamplebucket/path。使用錯誤的 S3 URL會導致Access Denied錯誤。

也請確認儲存貯體政策和物件存取控制清單 (ACLs) 允許使用者IAM存取儲存貯體 中的物件。如果IAM使用者位於不同的 AWS 帳戶,請參閱 Amazon Athena 使用者指南 中的跨帳戶存取

如果資料集已加密,請確認IAM使用者是指定金鑰政策中的 AWS KMS 金鑰使用者。您可以在 AWS KMS 主控台的 https://console.aws.amazon.com/kms 中執行此操作。

若要設定對您的 Athena 查詢結果位置的許可
  1. https://console.aws.amazon.com/athena/ 中開啟 Athena 主控台。

  2. 請確認您已選取要使用的工作群組:

    • 檢查頂部的工作群組選項。它具有 Workgroup 格式:group-name。 如果群組名稱是您要使用的群組名稱,請跳至下一個步驟。

    • 若要選擇其他工作群組,請選擇頂部的工作群組。選擇您想要使用的工作群組,然後選擇切換工作群組

  3. 選擇右上角的設定

    (不常見) 如果出現找不到您的工作群組的錯誤,請使用下列步驟進行修正:

    1. 暫時忽略錯誤訊息,然後尋找工作群組:group-name設定頁面上。您的工作群組名稱是超連結。將之開啟。

    2. 工作群組上:<groupname> 頁面,選擇左側的編輯工作群組。現在關閉錯誤訊息。

    3. 查詢結果位置附近,透過選擇具有檔案資料夾圖示的選取按鈕,以開啟 S3 位置選取器。

    4. 選擇 Athena S3 位置名稱末尾的小箭頭。名稱的開頭必須為 aws-athena-query-results

    5. (選用) 選取 Encrypt results stored in S3 核取方塊來加密查詢結果。

    6. 選擇儲存以確認選擇。

    7. 如果錯誤沒有再次出現,請返回設定

      有時,錯誤可能會再次出現。若如此,請遵循以下步驟:

      1. 選擇工作群組,然後選擇檢視詳細資訊

      2. (選用) 若要保留您的設定,請以筆記記下工作群組組態或擷取螢幕畫面。

      3. 選擇建立工作群組

      4. 將工作群組取代為新工作群組。設定正確的 S3 位置和加密選項。請記下 S3 位置,因為稍後會需要它。

      5. 選擇儲存以繼續。

      6. 當您不再需要原始工作群組時,請將其停用。請務必仔細閱讀出現的警告,因為它會告訴您如果您選擇禁用它,將會失去什麼。

  4. 如果在上一個步驟中進行疑難排解並未取得此項,請選擇右上角的設定,並獲取顯示為查詢結果位置的 S3 位置值。

  5. 如果啟用加密查詢結果,請檢查其是否使用 SSE-KMS 或 CSE-KMS。記下該金鑰。

  6. 在 開啟 S3 主控台https://console.aws.amazon.com/s3/,開啟正確的儲存貯體,然後選擇許可索引標籤。

  7. 檢視儲存貯體政策 ,檢查您的IAM使用者是否具有存取權。

    如果您使用 管理存取權ACLs,請務必檢視存取控制清單 來設定存取控制清單 (ACLs)。

  8. 如果您的資料集已加密 (在工作群組設定中選取加密查詢結果),請確定使用者IAM或角色已新增為該 AWS KMS 金鑰政策中的金鑰使用者。您可以在 https://console.aws.amazon.com/kms 存取 AWS KMS 設定。

若要授予 Athena 使用的 S3 儲存貯體的存取權
  1. 在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/

  2. 查詢結果位置中,選擇 Athena 使用的 S3 儲存貯體。

  3. Permissions (許可) 索引標籤上,驗證許可。

如需詳細資訊,請參閱 AWS 支援文章 當我執行 Athena 查詢時,會收到「拒絕存取」錯誤