我無法連接到 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 雅典娜與亞馬遜搭配使用時出 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,請參閱IAMAmazon 政策示例 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. 請確認您已選取要使用的工作群組:

    • 檢查頂部的工作群組選項。它具有工作組格式: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 金鑰使用者。您可以在以下位 AWS KMS 置訪問設置:https://console.aws.amazon.com/kms

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

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

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

如需詳細資訊,請參閱 Sup AWS port 文章當我執行 Athena 查詢時,出現「拒絕存取」錯誤