使用授予数据目录权限Amazon CLI和 LF-TBAC 方法 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用授予数据目录权限Amazon CLI和 LF-TBAC 方法

您可以使用Amazon Command Line Interface(Amazon CLI) 和基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法,用于授予对数据目录数据库、表和列的 Lake Formation 权限。

使用 LF-TBAC 授予数据目录权限 (Amazon CLI)

  • 使用 grant-permissions 命令。

    以下示例将授予 lf-tag 表达式”module=*“(lf-tag 键的所有值module) 给用户datalake_user1. 该用户将拥有CREATE_TABLE对所有匹配数据库的权限 — 已分配了带有密钥的 LF-tag 的数据库module,带有任何值。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["*"]}]}}'

    下一个示例授予 lf-tag 表达式”(level=director) AND (region=west OR region=south)“给用户datalake_user1. 该用户将拥有SELECTALTER, 和DROP在匹配表上使用授予选项的权限(已分配两个表)level=director和(region=west要么region=south)。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "SELECT" "ALTER" "DROP" --permissions-with-grant-option "SELECT" "ALTER" "DROP" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"TABLE","Expression": [{"TagKey": "level","TagValues": ["director"]},{"TagKey": "region","TagValues": ["west", "south"]}]}}'

    下一个示例授予 lf-tag 表达式”module=orders“到Amazon账户 1234-5678-9012。然后,该账户中的数据湖管理员可以授予”module=orders“在他们的账户中向校长表达。那么这些校长将有CREATE_TABLE允许使用命名资源方法或 LF-TBAC 方法匹配账户 1111-2222-3333 并与账户 1234-5678-9012 共享的数据库。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "CREATE_TABLE" --permissions-with-grant-option "CREATE_TABLE" --resource '{ "LFTagPolicy": {"CatalogId":"111122223333","ResourceType":"DATABASE","Expression":[{"TagKey":"module","TagValues":["orders"]}]}}'