使用 Lake Formation 的服務連結角色 - AWS Lake Formation

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

使用 Lake Formation 的服務連結角色

AWS Lake Formation 使用 AWS Identity and Access Management (IAM) 服務連結角色 。服務連結角色是直接連結至 Lake Formation 的唯一IAM角色類型。Lake Formation 會預先定義服務連結角色,並包含服務 AWS 代表您呼叫其他服務所需的所有許可。

服務連結角色可讓您更輕鬆地設定 Lake Formation,因為您不必建立角色並手動新增必要的許可。Lake Formation 會定義其服務連結角色的許可,除非另有定義,否則只有 Lake Formation 才能擔任其角色。定義的許可包括信任政策和許可政策,該許可政策無法連接到任何其他IAM實體。

此服務連結角色信任下列 服務擔任該角色:

  • lakeformation.amazonaws.com

當您在帳戶 A 中使用服務連結角色來註冊帳戶 B 所擁有的 Amazon S3 位置時,帳戶 B 中的 Amazon S3 儲存貯體政策 (以資源為基礎的政策) 必須授予帳戶 A 中服務連結角色的存取權。

注意

服務控制政策 (SCPs) 不會影響服務連結角色。

如需詳細資訊,請參閱 AWS Organizations 使用者指南 中的服務控制政策 (SCPs)

Lake Formation 的服務連結角色許可

Lake Formation 使用名為 的服務連結角色AWSServiceRoleForLakeFormationDataAccess。此角色提供一組 Amazon Simple Storage Service (Amazon S3) 許可,可讓 Lake Formation 整合服務 (例如 Amazon Athena) 存取已註冊的位置。註冊資料湖位置時,您必須提供在該位置具有所需 Amazon S3 讀取/寫入許可的角色。您可以使用此服務連結角色,而不是建立具有所需 Amazon S3 許可的角色。

第一次將服務連結角色命名為註冊路徑的角色時,即會代表您建立服務連結角色和新IAM政策。Lake Formation 會將路徑新增至內嵌政策,並將其連接至服務連結角色。當您向服務連結角色註冊後續路徑時,Lake Formation 會將路徑新增至現有政策。

以資料湖管理員身分登入時,請註冊資料湖位置。然後,在IAM主控台中搜尋角色AWSServiceRoleForLakeFormationDataAccess並檢視其附加政策。

例如,在您註冊位置 之後s3://my-kinesis-test/logs,Lake Formation 會建立下列內嵌政策並將其連接至 AWSServiceRoleForLakeFormationDataAccess

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LakeFormationDataAccessPermissionsForS3", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::my-kinesis-test/logs/*" ] }, { "Sid": "LakeFormationDataAccessPermissionsForS3ListBucket", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::my-kinesis-test" ] } ] }

為 Lake Formation 建立服務連結角色

您不需要手動建立一個服務連結角色。當您在 AWS Management Console、 AWS CLI或 中向 Lake Formation 註冊 Amazon S3 位置時 AWS API,Lake Formation 會為您建立服務連結角色。

重要

此服務連結角色可以顯示在您的帳戶,如果您於其他服務中完成一項動作時,可以使用支援此角色的功能。若要進一步了解,請參閱我的IAM帳戶 中出現的新角色

若您刪除此服務連結角色,之後需要再次建立,您可以在帳戶中使用相同程序重新建立角色。當您向 Lake Formation 註冊 Amazon S3 位置時,Lake Formation 會再次為您建立服務連結角色。

您也可以使用 IAM 主控台,透過 Lake Formation 使用案例建立服務連結角色。在 AWS CLI 或 中 AWS API,使用服務名稱建立lakeformation.amazonaws.com服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的建立服務連結角色。如果您刪除此服務連結角色,您可以使用此相同的程序以再次建立該角色。

編輯 Lake Formation 的服務連結角色

Lake Formation 不允許您編輯AWSServiceRoleForLakeFormationDataAccess服務連結角色。因為有各種實體可能會參考服務連結角色,所以您無法在建立角色之後變更角色名稱。不過,您可以使用 編輯角色的描述IAM。如需詳細資訊,請參閱 IAM 使用者指南 中的編輯服務連結角色

刪除 Lake Formation 的服務連結角色

若您不再使用需要服務連結角色的功能或服務,我們建議您刪除該角色。如此一來,您就沒有未主動監控或維護的未使用實體。然而,在手動刪除服務連結角色之前,您必須先清除資源。

注意

如果您嘗試刪除資源時 Lake Formation 服務正在使用角色,則刪除可能會失敗。若此情況發生,請等待數分鐘後並再次嘗試操作。

刪除 Lake Formation 使用的 Lake Formation 資源
  • 如果您已使用服務連結角色向 Lake Formation 註冊 Amazon S3 位置,則在刪除服務連結角色之前,您需要取消註冊該位置,並使用自訂角色重新註冊該位置。

使用 手動刪除服務連結角色 IAM

使用IAM主控台 AWS CLI、 或 AWS API刪除AWSServiceRoleForLakeFormationDataAccess服務連結角色。如需詳細資訊,請參閱 IAM 使用者指南 中的刪除服務連結角色