授予数据位置权限(外部账户) - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

授予数据位置权限(外部账户)

按照以下步骤向外部 Amazon 账户或组织授予数据位置权限。

您可以使用 Lake Formation 控制台、API 或 Amazon Command Line Interface (Amazon CLI) 授予权限。

开始之前

确保满足所有跨账户访问先决条件。有关更多信息,请参阅先决条件

授予数据位置权限(外部账户,使用控制台)
  1. 通过 https://console.aws.amazon.com/lakeformation/ 打开 Amazon Lake Formation 控制台。以数据湖管理员身份登录。

  2. 在导航窗格中,选择数据位置,然后选择授予

  3. 授予权限对话框中,选择外部账户磁贴。

  4. 提供以下信息:

    • 对于 Amazon 账户 ID 或 Amazon 组织 ID,输入有效的 Amazon 账号、组织 ID 或组织单位 ID。

      在每个 ID 后按 Enter

      组织 ID 由“o-”后跟 10 到 32 个小写字母或数字组成。

      组织单位 ID 由“ou-”后跟 4 到 32 个小写字母或数字(包含 OU 的根的 ID)组成。此字符串后跟第二个“-”(连字符)和 8 到 32 个额外的小写字母或数字。

    • 存储位置下,选择浏览,然后选择一个 Amazon Simple Storage Service (Amazon S3) 存储位置。该位置必须在 Lake Formation 中注册。

    
       在“授予权限”对话框中,已选中“外部账户”单选按钮,指定了 Amazon 账户并指定了存储位置。
  5. 选择可授予

  6. 选择授权

授予数据位置权限(外部账户,使用 Amazon CLI)
  • 要向外部 Amazon 账户授予权限,请输入类似如下的命令。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'

    此命令使用授予选项向账户 1111-2222-3333 授予对 Amazon S3 位置 s3://retail/transactions/2020q1DATA_LOCATION_ACCESS 权限,该位置由账户 1234-5678-9012 拥有。

    要向组织授予权限,请输入类似如下的命令。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:organizations::111122223333:organization/o-abcdefghijkl --permissions "DATA_LOCATION_ACCESS" --permissions-with-grant-option "DATA_LOCATION_ACCESS" --resource '{"DataLocation": {"CatalogId":"123456789012","ResourceArn":"arn:aws:s3::retail/transactions/2020q1"}}'

    此命令使用授予选项向组织 o-abcdefghijkl 授予对 Amazon S3 位置 s3://retail/transactions/2020q1DATA_LOCATION_ACCESS 权限,该位置由账户 1234-5678-9012 拥有。

    要向外部 Amazon 账户中的主体授予权限,请输入类似如下的命令。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3::retail/transactions/2020q1", "CatalogId": "123456789012"}}'

    此命令使用授予选项向账户 1111-2222-3333 中的主体授予对 Amazon S3 位置 s3://retail/transactions/2020q1DATA_LOCATION_ACCESS 权限,该位置由账户 1234-5678-9012 拥有。

    以下示例向外部账户中的 ALLIAMPrincipals 组授予对 s3://retail 的数据位置权限。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333:IAMPrincipals --permissions "DATA_LOCATION_ACCESS" --resource '{ "DataLocation": {"ResourceArn":"arn:aws:s3:::retail", "CatalogId": "123456789012"}}'