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

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

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

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

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

开始前的准备工作

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

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

  2. 在导航窗格的 “权限” 下,选择 “数据位置”,然后选择 “授予”。

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

  4. 提供以下信息:

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

      在每个 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"}}'