本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用管理 LF-Tag 权限 Amazon CLI
您可以使用 Amazon Command Line Interface (Amazon CLI) 授予、撤消和列出权限。 LF-Tags
列出 LF-Tag 权限 (Amazon CLI)
-
输入
list-permissions命令。您必须是 LF-Tag 创建者、数据湖管理员或拥有DropAlter、Describe、Associate、、Grant with LF-Tag permissions权限 LF-Tag 才能看到它。以下命令会请求 LF-Tags 您有权访问的所有内容。
aws lakeformation list-permissions --resource-type LF_TAG以下是数据湖管理员的输出示例,他看到所有权限均 LF-Tags已授予所有委托人。 Non-administrative 用户只能看到 LF-Tags 授予他们的权限。 LF-Tag 从外部帐户授予的权限显示在单独的结果页面上。要查看它们,请重复该命令并向
--next-token参数提供上一次命令运行时返回的令牌。{ "PrincipalResourcePermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_admin" }, "Resource": { "LFTag": { "CatalogId": "111122223333", "TagKey": "environment", "TagValues": [ "*" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [ "ASSOCIATE" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1" }, "Resource": { "LFTag": { "CatalogId": "111122223333", "TagKey": "module", "TagValues": [ "Orders", "Sales" ] } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }, ... ], "NextToken": "eyJzaG91bGRRdWVy...Wlzc2lvbnMiOnRydWV9" }
您可以列出特定 LF-Tag 密钥的所有授权。以下命令返回授予的所有权限 LF-Tag
module。aws lakeformation list-permissions --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'您还可以列出针对特定委托人授予的 LF-Tag 值 LF-Tag。提供
--principal参数时,必须提供--resource参数。因此,该命令只能有效地请求为特定 LF-Tag 密钥授予特定主体的值。以下命令显示了如何对主体datalake_user1和 LF-Tag 密钥执行此操作module。aws lakeformation list-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'下面是示例输出。
{ "PrincipalResourcePermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1" }, "Resource": { "LFTag": { "CatalogId": "111122223333", "TagKey": "module", "TagValues": [ "Orders", "Sales" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [] } ] }
要授予对 LF-Tags (的权限) 的权限Amazon CLI)
-
输入类似以下的命令。此示例向用户授
datalake_user1予使用密钥 LF-Tag 的Associate权限module。它授予查看和分配该键的所有值的权限,如星号 (*) 所示。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'授予
Associate权限会隐式授予Describe权限。下一个示例使用密钥和授权选项
Associate向外部 Amazon 账户 1234-5678-9012 授权。 LF-Tagmodule它仅授予查看和分配值sales和orders的权限。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}' -
授予
GrantWithLFTagExpression权限会隐式授予Describe权限。下一个示例使用密钥
GrantWithLFTagExpression向用户授予权限module,并使用授予选项。 LF-Tag 它仅使用值sales和orders授予查看和授予对数据目录资源的权限。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "GrantWithLFTagExpression" --permissions-with-grant-option "GrantWithLFTagExpression" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}' -
下一个示例 LF-Tag 使用 grant 选项向用户授予使用密钥
module的Drop权限。它授予删除的权限 LF-Tag。要删除 LF-Tag,您需要拥有该密钥所有值的权限。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}' -
下一个示例使用密钥
module和 grant 选项向用户授予Alter权限。 LF-Tag 它授予删除的权限 LF-Tag。要更新 a LF-Tag,您需要拥有该密钥所有值的权限。aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
撤消对 (的 LF-Tags 权限Amazon CLI)
-
输入类似以下的命令。此示例撤消了用户 LF-Tag
datalake_user1使用密钥module对的Associate权限。aws lakeformation revoke-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'