為什麼即使我的 IAM 使用者或角色具有所需的 S3 許可,我仍然在 Amazon Athena 中收到「<Amazon S3 位置> 的 Lake Formation 許可不足」錯誤?

上次更新日期:2022 年 2 月 22 日

當我嘗試在 Amazon Athena 中使用已向 AWS Lake Formation 註冊的 Amazon Simple Storage Service (Amazon S3) 位置創建資料庫/資料表時,我會查詢失敗和遇到「Lake Formation 許可不足 」錯誤。但是,Athena 的 AWS Identity and Access Management (IAM) 使用者或角色已經具有必要的 IAM 許可。

解決方案

當符合下列條件時,將會出現此錯誤:

  • IAM 使用者或角色嘗試在已向 Lake Formation 註冊的 Amazon S3 儲存貯體上創建或更改資料型錄資源 (資料庫或資料表)。
  • IAM 使用者或角色缺少來自 Lake Formation 的適當資料位置許可。

要解決此錯誤,您必須向用於創建資料庫或資料表的 IAM 使用者或角色授予適當的資料位置許可。當您將 Athena 結合 Lake Formation 使用時,除了 IAM 使用者或角色所需的資料存取許可外,您還要確保向 IAM 用户或角色授予來自 Lake Formation 的所需 S3 許可。資料存取許可允許 IAM 使用者或角色讀取資料,並將資料寫入相關的 Amazon S3 位置。但是,Lake Formation 中的資料位置許可允許 IAM 使用者或角色創建和更改指向已註冊 Amazon S3 位置的資料型錄資源。

若要解決此錯誤,請執行下列操作:

  1. 驗證 Athena 中的 S3 路徑是否已成功向 Lake Formation 註冊。
  2. 向 IAM 使用者或角色授予存取 S3 路徑所需的資料位置許可。

驗證資料湖位置是否已向 Lake Formation 註冊

  1. 使用資料湖管理員角色登錄 AWS Lake Formation 主控台
  2. 在導覽窗格的 Register and ingest (註冊和擷取) 中,選擇 Data lake locations (資料湖位置)。
    Data lake locations (資料湖位置) 列表中,驗證資料型錄資源指向的 S3 路徑是否已向 Lake Formation 註冊。

從 AWS Lake Formation 主控台授予資料位置許可

  1. 在導覽窗格中,選擇 Data locations (資料位置)。
  2. 選擇 Grant (授予)。
  3. Grant permissions (授予許可) 對話方塊中,選擇 My account (我的帳戶)。
  4. IAM users and roles (IAM 使用者和角色) 中,選擇要為其授予許可的 IAM 用户或角色。
  5. Storage locations (儲存位置) 中,選擇遇到錯誤的 S3 路徑。
  6. 選擇 Grant (授予)。

注意:僅當 S3 路徑位於同一帳戶時,才執行上述步驟。如果 S3 路徑位於不同的帳户,請確保符合所有跨帳戶存取先決條件。然後,按照授予資料位置許可 (外部帳戶) 中的指示進行操作。


此文章是否有幫助?


您是否需要帳單或技術支援?