

# 先决条件
<a name="s3tables-catalog-prerequisites"></a>

在为 AWS Glue Data Catalog 中的 S3 表类数据存储服务创建联合目录之前，请确保您的 IAM 主体（用户或角色）具有所需的权限。

## 所需的 IAM 权限
<a name="s3tables-required-iam-permissions"></a>

IAM 主体需要以下权限才能启用 S3 表类数据存储服务集成：

**AWS Glue 权限**：
+ `glue:CreateCatalog`：创建 `s3tablescatalog` 联合目录所必需的
+ `glue:GetCatalog`：查看目录详细信息所必需的
+ `glue:GetDatabase`：以数据库形式查看 S3 命名空间所必需的
+ `glue:GetTable`：查看 S3 表类数据存储服务所必需的
+ `glue:passConnection`：授予调用主体将 `aws:s3tables` 连接委托给 AWS Glue 服务的权限

**S3 表类数据存储服务权限**（用于 IAM 访问控制）：
+ `s3tables:CreateTableBucket`
+ `s3tables:GetTableBucket`
+ `s3tables:CreateNamespace`
+ `s3tables:GetNamespace`
+ `s3tables:ListNamespaces`
+ `s3tables:CreateTable`
+ `s3tables:GetTable`
+ `s3tables:ListTables`
+ `s3tables:UpdateTableMetadataLocation`
+ `s3tables:GetTableMetadataLocation`
+ `s3tables:GetTableData`
+ `s3tables:PutTableData`

## IAM 策略示例
<a name="s3tables-iam-policy-example"></a>

以下 IAM 策略提供了在 IAM 模式下启用 S3 表类数据存储服务与 Data Catalog 的集成所需的最低权限：

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GlueDataCatalogPermissions",
      "Effect": "Allow",
      "Action": [
        "glue:CreateCatalog",
        "glue:GetCatalog",
        "glue:GetDatabase",
        "glue:GetTable"
      ],
      "Resource": [
        "arn:aws:glue:region:account-id:catalog/s3tablescatalog",
        "arn:aws:glue:region:account-id:database/s3tablescatalog/*/*",
        "arn:aws:glue:region:account-id:table/s3tablescatalog/*/*/*"
      ]
    },
    {
      "Sid": "S3TablesDataAccessPermissions",
      "Effect": "Allow",
      "Action": [
        "s3tables:GetTableBucket",
        "s3tables:GetNamespace",
        "s3tables:GetTable",
        "s3tables:GetTableMetadataLocation",
        "s3tables:GetTableData"
      ],
      "Resource": [
        "arn:aws:s3tables:region:account-id:bucket/*",
        "arn:aws:s3tables:region:account-id:bucket/*/table/*"
      ]
    }
  ]
}
```