使用 Lake Formation 管理對資料表或資料庫的存取 - Amazon Simple Storage Service

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

使用 Lake Formation 管理對資料表或資料庫的存取

將資料表儲存貯體與 AWS 分析服務整合後,Lake Formation 會管理對資料表資源的存取。Lake Formation 使用自己的許可模型 (Lake Formation 許可),為 Data Catalog 資源啟用精細存取控制。Lake Formation 需要授權每個 IAM 主體 (使用者或角色),才能對由 Lake Formation 管理的資源執行動作。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的 Lake Formation 許可概觀。如需有關跨帳戶資料共用的資訊,請參閱《 AWS Lake Formation 開發人員指南》中的 Lake Formation 中的跨帳戶資料共用

在 IAM 主體可以存取 AWS 分析服務中的資料表之前,您必須授予這些資源的 Lake Formation 許可。

注意

如果您是執行資料表儲存貯體整合的使用者,您已擁有資料表的 Lake Formation 許可。如果您是將存取資料表的唯一主體,您可以略過此步驟。您只需將資料表上的 Lake Formation 許可授予其他 IAM 主體。這可讓其他主體在執行查詢時存取 資料表。如需詳細資訊,請參閱授予資料表或資料庫的 Lake Formation 許可

您必須授予資料表資源上的其他 IAM 主體 Lake Formation 許可,才能在下列服務中使用它們:

  • Amazon Redshift

  • Amazon Data Firehose

  • Amazon QuickSight

  • Amazon Athena

授予資料表或資料庫的 Lake Formation 許可

您可以透過 Lake Formation 主控台或 ,對資料表儲存貯體中的資料表或資料庫授予委託人 Lake Formation 許可 AWS CLI。

注意

當您將 Data Catalog 資源的 Lake Formation 許可授予外部帳戶或直接授予另一個帳戶中的 IAM 主體時,Lake Formation 會使用 AWS Resource Access Manager (AWS RAM) 服務來共用資源。如果承授者帳戶與承授者帳戶位於相同的組織中,則承授者可立即使用共用資源。如果承授者帳戶不在同一個組織中, AWS RAM 會向承授者帳戶傳送邀請,以接受或拒絕資源授予。然後,若要讓共用資源可用,承授者帳戶中的資料湖管理員必須使用 AWS RAM 主控台或 AWS CLI 接受邀請。如需跨帳戶資料共用的詳細資訊,請參閱《 AWS Lake Formation 開發人員指南中的 Lake Formation 中的跨帳戶資料共用

Console
  1. 在 開啟 AWS Lake Formation 主控台https://console.aws.amazon.com/lakeformation/,並以資料湖管理員身分登入。如需如何建立資料湖管理員的詳細資訊,請參閱《 AWS Lake Formation 開發人員指南》中的建立資料湖管理員

  2. 在導覽窗格中,選擇資料許可,然後選擇授予

  3. 授予許可頁面的委託人下,執行下列其中一項操作:

    • 針對 Amazon Athena 或 Amazon Redshift,選擇 IAM 使用者和角色,然後選取您用於查詢的 IAM 主體。

    • 針對 Amazon Data Firehose,選擇 IAM 使用者和角色,然後選取您建立以串流至資料表的服務角色。

    • 針對 QuickSight,選擇 SAML 使用者和群組,然後輸入 QuickSight 管理員使用者的 Amazon Resource Name (ARN)。

    • 針對 AWS GlueIceberg REST端點存取,選擇 IAM 使用者和角色,然後選取您為用戶端建立的 IAM 角色。如需詳細資訊,請參閱為您的用戶端建立 IAM 角色

  4. LF-標籤或型錄資源下,選擇已命名的的資料型錄資源

  5. 針對目錄,選擇您在整合資料表儲存貯體時建立的子目錄,例如 account-id:s3tablescatalog/amzn-s3-demo-bucket

  6. 針對資料庫,選擇您建立的 S3 資料表儲存貯體命名空間。

  7. (選用) 針對資料表,選擇您在資料表儲存貯體中建立的 S3 資料表。

    注意

    如果您要在 Athena 查詢編輯器中建立新資料表,請勿選取資料表。

  8. 執行以下任意一項:

    • 如果您在上一個步驟中指定了資料表,請針對資料表許可選擇超級

    • 如果您未在上一個步驟中指定資料表,請前往資料庫許可。對於跨帳戶資料共用,您無法選擇超級來授予其他主體資料庫的所有許可。反之,請選擇更精細的許可,例如描述

  9. 選擇 Grant (授予)。

CLI
  1. 請確定您以資料湖管理員身分執行下列 AWS CLI 命令。如需詳細資訊,請參閱《 AWS Lake Formation 開發人員指南》中的建立資料湖管理員

  2. 執行下列命令,將 S3 資料表儲存貯體中資料表的 Lake Formation 許可授予 IAM 主體,以存取資料表。若要使用此範例,請以您自己的資訊取代 user input placeholders

    aws lakeformation grant-permissions \ --region us-east-1 \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "user or role ARN, for example, arn:aws:iam::account-id:role/example-role" }, "Resource": { "Table": { "CatalogId": "account-id:s3tablescatalog/amzn-s3-demo-bucket", "DatabaseName": "S3 table bucket namespace, for example, test_namespace", "Name": "S3 table bucket table name, for example test_table" } }, "Permissions": [ "ALL" ] }'