本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 LF-TBAC 方法授予数据湖权限
您可以向主体授予对 LF 标签的 DESCRIBE
和 ASSOCIATE
Lake Formation 权限,以便他们可以查看 LF 标签并将其分配给数据目录资源(数据库、表、视图和列)。为数据目录资源分配 LF-Tag 时,您可以使用基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法来保护这些资源。有关更多信息,请参阅 Lake Formation 基于标签的访问控制。
首先,只有数据湖管理员才能授予这些权限。如果数据湖管理员通过授予选项授予这些权限,则其他主体可以授予这些权限。Lake Formation 基于标签的访问控制最佳实践和注意事项中介绍了 DESCRIBE
和 ASSOCIATE
权限。
您可以向外部 AWS 账户授予 LF-Tag 的DESCRIBE
和ASSOCIATE
权限。然后,该账户中的数据湖管理员可以将这些权限授予给该账户中的其他主体。接着,外部账户中的数据湖管理员向其授予 ASSOCIATE
权限的主体可以将 LF 标签分配给您与其账户共享的数据目录资源。
向外部账户授予权限时,您必须包括授予选项。
您可以使用 AWS Lake Formation 控制台、或 AWS Command Line Interface ()AWS CLI授予对 LF-Tags 的权限。API
授予数据目录权限
使用 Lake Formation 控制台,或者 AWS CLI 使用基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法授予 Lake Formation 对数据目录数据库、表、视图和列的权限。
- Console
-
以下步骤说明了如何使用基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法和 Lake Formation 控制台上的 “授予数据湖权限” 页面来授予权限。该页面分为以下几个部分:
-
委托人-用户、角色和 AWS 账户 向其授予权限。
-
LF 标签或目录资源 – 要对其授予权限的数据库、表或资源链接。
-
权限 – 要授予的 Lake Formation 权限。
-
打开“授予数据湖权限”页面。
打开 AWS Lake Formation 控制台 https://console.aws.amazon.com/lakeformation/,然后以数据湖管理员或通过 LF-被授予 Lake Formation 数据目录资源权限的用户身份登录,并使用授权选项TBAC进行登录。
在导航窗格的权限下,选择数据湖权限。然后选择授予。
-
指定主体。
在主体部分中,选择主体类型,然后指定要向其授予权限的主体。
- IAM用户和角色
-
从用户和角色列表中选择一个或多个IAM用户或角色。
- IAM身份中心
-
从用户和组列表中选择一个或多个用户或组。
- SAML 用户和组
-
对于SAML和 Amazon QuickSight 用户和群组,请为通过联合身份的用户或群组SAML,或者为亚马逊用户或群组输入一个或ARNs多个亚马逊 QuickSight 资源名称 (ARNs)。每次之后按 Enter 键ARN。
有关如何构造的信息ARNs,请参见Lake Formation 授予和撤销命令 AWS CLI。
仅亚马逊 QuickSight 企业版支持 Lake Format QuickSight ion 与亚马逊的集成。
- 外部账户
-
对于AWS 账户、 AWS 组织或IAM委托人,请输入一个或多个有效的组织 AWS 账户 IDsIDsIDs、组织单位或IAM用户或角色。ARN在每个 ID 后按 Enter。
组织 ID 由“o-”后跟 10 到 32 个小写字母或数字组成。
单位 ID 以“ou-”开头,后跟 4 到 32 个小写字母或数字(包含 OU 的根的 ID)。该字符串后跟第二个“-”短横线和 8 到 32 个额外的小写字母或数字。
-
指定 LF 标签。
确保选择与 LF 标签匹配的资源选项。选择添加 LF 标签。
-
选择 LF 标签键和值。
如果选择多个值,则将使用 OR
运算符创建 LF 标签表达式。这意味着,如果任何 LF 标签值与分配给数据目录资源的 LF 标签相匹配,则将授予您对该资源的权限。
-
(可选)再次选择添加 LF 标签以指定其他 LF 标签。
如果指定多个值,则将使用 AND
运算符创建 LF 标签表达式。仅在为 LF 标签表达式中的每个 LF 标签分配了匹配的 LF 标签时,才会向主体授予对数据目录资源的权限。
-
指定权限。
指定向主体授予的对匹配数据目录资源的权限。匹配的资源是指那些分配了 LF 标签的资源,这些标签与向主体授予的其中一个 LF 标签表达式相匹配。
您可以指定要授予的对匹配数据库、匹配表和匹配视图的权限。
在数据库权限下,选择要向主体授予的对匹配数据库的数据库权限。
在表权限下,选择要向主体授予的对匹配表和匹配视图的表或视图权限。
您也可以从表权限中选择要对视图应用的 Select
、Describe
和 Drop
权限。
-
选择授权。
- AWS CLI
-
您可以使用 AWS Command Line Interface (AWS CLI) 和基于 Lake Formation 标签的访问控制 (LF-TBAC) 方法授予 Lake Formation 对数据目录数据库、表和列的权限。
使用 AWS CLI 和 LF-TBAC 方法授予数据湖权限
-
使用 grant-permissions
命令。
以下示例向用户 datalake_user1
授予 LF 标签表达式“module=*
”(LF 标签键 module
的所有值)。该用户将具有对所有匹配数据库(即分配了带有键 module
及任何值的 LF 标签的数据库)的 CREATE_TABLE
权限。
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":["*"]}]}}'
下一个示例向用户 datalake_user1
授予 LF 标签表达式“(level=director)
AND (region=west OR region=south)
”。该用户将通过授予选项具有对匹配表(即分配了 level=director
和 region=west
或region=south
的表)的 SELECT
、ALTER
和 DROP
权限。
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
” 授予 AWS 账户 1234-5678-9012。然后,该账户中的数据湖管理员可以向其账户中的主体授予“module=orders
”表达式。然后,这些委托人将CREATE_TABLE
有权使用命名的资源方法或 LF 方法访问账户 1111-2222-3333 拥有并与账户 1234-5678-9012 共享的匹配数据库。TBAC
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"]}]}}'