

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 授予或撤銷 Lake Formation 許可所需的 IAM 許可
<a name="required-permissions-for-grant"></a>

所有委託人，包括資料湖管理員，都需要下列 AWS Identity and Access Management (IAM) 許可，才能使用 Lake Formation API 或 授予或撤銷 AWS Lake Formation 資料目錄許可或資料位置許可 AWS CLI：
+ `lakeformation:GrantPermissions`
+ `lakeformation:BatchGrantPermissions`
+ `lakeformation:RevokePermissions`
+ `lakeformation:BatchRevokePermissions`
+ `glue:GetTable`、 `glue:GetDatabase`或 `glue:GetCatalog` 適用於您使用具名資源方法授予許可的資料表、資料庫或目錄。

**注意**  
資料湖管理員具有隱含 Lake Formation 許可，可授予和撤銷 Lake Formation 許可。但他們仍然需要 Lake Formation 授予和撤銷 API 操作的 IAM 許可。  
具有`AWSLakeFormationDataAdmin` AWS 受管政策的 IAM 角色無法新增資料湖管理員，因為此政策包含 Lake Formation API 操作 的明確拒絕`PutDataLakeSetting`。

對於非資料湖管理員且想要使用 Lake Formation 主控台授予或撤銷許可的主體，建議使用下列 IAM 政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lakeformation:ListPermissions",
                "lakeformation:GrantPermissions",
                "lakeformation:BatchGrantPermissions",
                "lakeformation:RevokePermissions",
                "lakeformation:BatchRevokePermissions",
                "glue:GetCatalogs",
                "glue:GetDatabases",
                "glue:SearchTables",
                "glue:GetTables",
                "glue:GetCatalog",
                "glue:GetDatabase",
                "glue:GetTable",
                "iam:ListUsers",
                "iam:ListRoles",
                "sso-directory:DescribeUser",
                "sso-directory:DescribeGroup",
                "sso:DescribeInstance"
            ],
            "Resource": "*"
        }
    ]
}
```

------

此政策中的所有 `glue:`和 `iam:`許可都可以在 AWS 受管政策 中使用`AWSGlueConsoleFullAccess`。

若要使用 Lake Formation 標籤型存取控制 (LF-TBAC) 授予許可，委託人需要額外的 IAM 許可。如需詳細資訊，請參閱[Lake Formation 標籤型存取控制最佳實務和考量事項](lf-tag-considerations.md)及[Lake Formation 角色和 IAM 許可參考](permissions-reference.md)。

**跨帳戶 許可**  
想要使用具名資源方法授予跨帳戶 Lake Formation 許可的使用者，也必須擁有 `AWSLakeFormationCrossAccountManager` AWS 受管政策中的許可。

資料湖管理員需要這些相同的許可才能授予跨帳戶許可，加上 AWS Resource Access Manager (AWS RAM) 許可，才能將許可授予組織。如需詳細資訊，請參閱[Data Lake 管理員許可](permissions-reference.md#persona-dl-admin)。

**管理使用者**  
具有管理許可的委託人，例如具有 `AdministratorAccess` AWS 受管政策的委託人，具有授予 Lake Formation 許可和建立資料湖管理員的許可。若要拒絕使用者或角色存取 Lake Formation 管理員操作，請將管理員 API 操作的`Deny`陳述式附加或新增至其政策。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lakeformation:GetDataLakeSettings",
                "lakeformation:PutDataLakeSettings"
            ],
            "Effect": "Deny",
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

**重要**  
若要防止使用者使用擷取、轉換和載入 (ETL) 指令碼將自己新增為管理員，請確保所有非管理員使用者和角色都無法存取這些 API 操作。`AWSLakeFormationDataAdmin` AWS 受管政策包含 Lake Formation API 操作的明確拒絕，`PutDataLakeSetting`可防止使用者新增資料湖管理員。