註冊 Amazon S3 位置 - AWS Lake Formation

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

註冊 Amazon S3 位置

註冊 Amazon Simple Storage Service AWS Identity and Access Management (Amazon S3IAM) 位置時,您必須指定 () 角色。Lake Formation 在將臨時憑證授予存取該位置資料的整合 AWS 服務時,會擔任該角色。

重要

避免註冊已啟用請求者付款的 Amazon S3 儲存貯體。對於向 Lake Formation 註冊的儲存貯體,用於註冊儲存貯體的角色一律會被視為請求者。如果儲存貯體是由另一個 AWS 帳戶存取,則如果角色屬於與儲存貯體擁有者相同的 帳戶,則會向儲存貯體擁有者收取資料存取費用。

您可以使用 AWS Lake Formation 主控台 Lake Formation API或 AWS Command Line Interface (AWS CLI) 來註冊 Amazon S3 位置。

開始之前

檢閱用於註冊位置 的角色需求

註冊位置 (主控台)
重要

下列程序假設 Amazon S3 位置與 Data Catalog 位於相同的 AWS 帳戶中,且位置中的資料未加密。本章的其他章節涵蓋加密位置的跨帳戶註冊和註冊。

  1. 在 開啟 AWS Lake Formation 主控台https://console.aws.amazon.com/lakeformation/。以資料湖管理員或具有 lakeformation:RegisterResource IAM 許可的使用者身分登入。

  2. 在導覽窗格中的管理 下,選取 Data lake 位置

  3. 選擇註冊位置 ,然後選擇瀏覽以選取 Amazon Simple Storage Service (Amazon S3) 路徑。

  4. (選用,但強烈建議) 選取檢閱位置許可,以檢視所選 Amazon S3 位置及其許可中的所有現有資源清單。

    註冊選取的位置可能會導致 Lake Formation 使用者取得該位置已存在資料的存取權。檢視此清單可協助您確保現有資料保持安全。

  5. 針對IAM角色 ,選擇AWSServiceRoleForLakeFormationDataAccess服務連結角色 (預設) 或符合 中需求的自訂IAM角色用於註冊位置的角色需求

    只有在使用自訂IAM角色註冊時,您才能更新已註冊的位置或其他詳細資訊。若要編輯使用服務連結角色註冊的位置,您應該取消註冊該位置並重新註冊。

  6. 選擇啟用資料目錄聯合選項,以允許 Lake Formation 擔任整合 AWS 服務的角色和vend 臨時憑證,以存取聯合資料庫下的資料表。如果某個位置已向 Lake Formation 註冊,而且您想要在聯合資料庫下使用相同的位置來作為資料表,則需要使用啟用資料目錄聯合選項註冊相同的位置。

  7. 選擇混合存取模式,預設不會啟用 Lake Formation 許可。當您以混合存取模式註冊 Amazon S3 位置時,您可以選擇該位置下資料庫和資料表的主體來啟用 Lake Formation 許可。


    如需設定混合存取模式的詳細資訊,請參閱 混合存取模式

  8. 選取註冊位置

註冊位置 (AWS CLI)
  1. 向 Lake Formation 註冊新位置

    此範例使用服務連結角色來註冊位置。您可以改為使用 --role-arn 引數來提供您自己的角色。

    Replace (取代) <s3-path> 具有有效的 Amazon S3 路徑、具有有效帳戶的帳號 AWS ,以及 <s3-access-role> 具有註冊資料位置許可IAM的角色。

    注意

    如果已註冊位置使用服務連結角色註冊,則無法編輯該位置的屬性。

    aws lakeformation register-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --use-service-linked-role

    下列範例使用自訂角色來註冊位置。

    aws lakeformation register-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role>
  2. 更新向 Lake Formation 註冊的位置

    只有在已使用自訂IAM角色註冊時,您才能編輯已註冊的位置。對於使用服務連結角色註冊的位置,您應該取消註冊該位置並重新註冊。如需詳細資訊,請參閱取消註冊 Amazon S3 位置

    aws lakeformation update-resource \ --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role>\ --resource-arn arn:aws:s3:::<s3-path>
    aws lakeformation update-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --use-service-linked-role
  3. 向聯合註冊處於混合存取模式的資料位置
    aws lakeformation register-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \ --hybrid-access-enabled
    aws lakeformation register-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \ --with-federation
    aws lakeformation update-resource \ --resource-arn arn:aws:s3:::<s3-path> \ --role-arn arn:aws:iam::<123456789012>:role/<s3-access-role> \ --hybrid-access-enabled

如需詳細資訊,請參閱 RegisterResource API 操作。

注意

註冊 Amazon S3 位置後,指向該位置 (或其任何子位置) 的任何 AWS Glue 資料表都會傳回IsRegisteredWithLakeFormation參數的值,如 GetTable 通話true中所示。Data Catalog API操作有已知的限制,例如 GetTablesSearchTables 不會更新 IsRegisteredWithLakeFormation 參數的值,並傳回預設值,這是 false。建議使用 GetTableAPI來檢視 IsRegisteredWithLakeFormation 參數的正確值。