更改数据湖的默认安全设置 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

更改数据湖的默认安全设置

保持向后兼容性Amazon Glue、Amazon Lake Formation具有以下初始安全设置:

  • 这些区域有:Super已向该组授予权限IAMAllowedPrincipals在所有现有的Amazon Glue数据目录资源。

  • 已为新的数据目录资源启用 “仅使用 IAM 访问控制” 设置。

这些设置实际上导致对数据目录资源和 Amazon S3 位置的访问仅由以下人员控制Amazon Identity and Access Management(IAM) 策略。单个Lake Formation 权限无效。

这些区域有:IAMAllowedPrincipals组包括您的 IAM 策略允许访问您的数据目录资源的任何 IAM 用户和角色。这些区域有:Super权限使主体能够对授予权限的数据库或表执行所有受支持的 Lake Formation 操作。

要更改安全设置,以便通过 Lake Formation 权限管理对数据目录资源(数据库和表)的访问,请执行以下操作:

  1. 更改新资源的默认安全设置。有关说明,请参阅 更改默认权限模型

  2. 更改现有数据目录资源的设置。有关说明,请参阅 升级Amazon Glue的数据权限Amazon Lake Formation模型

使用Lake Formation 更改默认安全设置PutDataLakeSettingsAPI 操作

也可以使用Lake Formation 更改默认安全设置PutDataLakeSettings操作(Python:put_data_lake_settings). 此操作将可选的目录 ID 和DataLake设置结构.

要强制执行 Lake Formation 对新数据库和表的元数据和基础数据访问控制,请将DataLakeSettings结构如下。

注意

Replace<AccountID>使用有效的Amazon账户 ID 和<Username>具有有效的 IAM 用户名。您可以指定多个用户作为数据湖管理员。

{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [] } }

您也可以按如下方式对结构进行编码。忽略CreateDatabaseDefaultPermissions要么CreateTableDefaultPermissions参数等效于传递空列表。

{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>" } ] } }

此操作会有效地撤Lake Formation 来自IAMAllowedPrincipals对新数据库和表进行分组。在创建数据库时,您可以覆盖此设置。

要仅通过 IAM 对新数据库和表实施元数据和基础数据访问控制,请将DataLakeSettings结构如下。

{ "DataLakeSettings": { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::<AccountId>:user/<Username>" } ], "CreateDatabaseDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ] } }

这授予SuperLake Formation 许可IAMAllowedPrincipals对新数据库和表进行分组。在创建数据库时,您可以覆盖此设置。

注意

在以上的DataLakeSettingsstructure,唯一允许的值DataLakePrincipalIdentifierIAM_ALLOWED_PRINCIPALS,并且是唯一允许的值PermissionsALL.