

# 前提条件
<a name="s3tables-catalog-prerequisites"></a>

AWS Glue Data Catalog で S3 Tables のフェデレーテッドカタログを作成する前に、IAM プリンシパル (ユーザーまたはロール) に必要なアクセス許可があることを確認してください。

## 必要な IAM 許可
<a name="s3tables-required-iam-permissions"></a>

S3 Tables 統合を有効にするには、IAM プリンシパルに次のアクセス許可が必要です。

**AWS Glue アクセス許可**:
+ `glue:CreateCatalog` – `s3tablescatalog` フェデレーテッドカタログの作成に必要です
+ `glue:GetCatalog` – カタログの詳細を表示するために必要です
+ `glue:GetDatabase` – S3 名前空間をデータベースとして表示するために必要です
+ `glue:GetTable` – S3 テーブルを表示するために必要です
+ `glue:passConnection` – 呼び出し元プリンシパルに対し、`aws:s3tables` 接続を AWS Glue サービスに委任する権限を付与します

**S3 Tables アクセス許可** (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 Tables と 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/*"
      ]
    }
  ]
}
```