

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

# 更改数据湖的默认设置
<a name="change-settings"></a>

要保持向后兼容 AWS Glue AWS Lake Formation ，请使用以下初始安全设置：
+ 向组 `IAMAllowedPrincipals` 授予对所有现有 AWS Glue 数据目录资源的 `Super` 权限。
+ 为新的数据目录资源启用“仅使用 IAM 访问控制”设置。

这些设置实际上使对数据目录资源和 Amazon S3 位置的访问只能由 AWS Identity and Access Management (IAM) 策略控制。单个 Lake Formation 权限无效。

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

要更改安全设置，以便对数据目录资源（数据库和表）的访问由 Lake Formation 权限管理，请执行以下操作：

1. 更改新资源的默认安全设置。有关说明，请参阅[更改默认权限模式或使用混合访问模式](initial-lf-config.md#setup-change-cat-settings)。

1. 更改现有数据目录资源的设置。有关说明，请参阅[升级 AWS Lake Formation 模型AWS Glue的数据权限](upgrade-glue-lake-formation.md)。

**使用 Lake Formation `PutDataLakeSettings` API 操作更改默认安全设置**  
您还可以使用 Lake Formation [PutDataLakeSettings](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_PutDataLakeSettings.html)API 操作更改默认安全设置。此操作将可选的目录 ID 和[DataLakeSettings](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_DataLakeSettings.html)结构作为参数。

要通过 Lake Formation 对新数据库和表实施元数据和基础数据访问控制，请按如下方式对 `DataLakeSettings` 结构进行编码。

**注意**  
*<AccountID>*替换为有效的 AWS 账户 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>"
            }
        ]
    }
}
```

此操作实际上会撤销 `IAMAllowedPrincipals` 组对新数据库和表的所有 Lake Formation 权限。创建数据库时，您可以覆盖此设置。

要仅通过 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"
                ]
            }
        ]
    }
}
```

这将向 `IAMAllowedPrincipals` 组授予对新数据库和表的 `Super` Lake Formation 权限。创建数据库时，您可以覆盖此设置。

**注意**  
在前面的 `DataLakeSettings` 结构中，`DataLakePrincipalIdentifier` 的唯一允许值是 `IAM_ALLOWED_PRINCIPALS`，`Permissions` 的唯一允许值是 `ALL`。