

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# アクセス許可の付与
<a name="s3-tables-grant-permissions"></a>

 S3 テーブルを と統合したら AWS Lake Formation、S3 テーブルカタログとカタログオブジェクト (テーブルバケット、データベース、テーブル) に対するアクセス許可を、アカウントの他の IAM ロールとユーザーに付与できます。Lake Formation アクセス許可を使用すると、Amazon Redshift Spectrum や Athena などの統合分析エンジンのユーザーに対して、テーブル、列、行レベルの粒度でアクセスコントロールを定義できます。

 許可は、名前付きリソース方式、または Lake Formation のタグベースのアクセスコントロール (LF-TBAC) 方式を使用して付与することができます。LF タグと LF タグ式を使用してアクセス許可を付与する前に、それらを定義してデータカタログオブジェクトに割り当てる必要があります。

詳細については、「[メタデータアクセスコントロールのための LF タグの管理](managing-tags.md)」を参照してください。

外部 AWS アカウントに Lake Formation アクセス許可を付与することで、データベースとテーブルを外部アカウントと共有できます。ユーザーはその後、複数のアカウントにまたがるテーブルを結合してクエリするクエリとジョブを実行できるようになります。データカタログリソースを別のアカウントと共有すると、そのアカウント内のプリンシパルは、そのリソースをプリンシパルのデータカタログ内にあるかのように操作することができます。

データベースとテーブルを外部アカウントと共有すると、**スーパーユーザー**のアクセス許可は使用できません。

 アクセス許可を付与する詳細な手順については、「[Lake Formation 許可の管理](managing-permissions.md)」セクションを参照してください。

## AWS CLI Amazon S3 テーブルに対するアクセス許可の付与例
<a name="w2aac13c27c29c15"></a>

```
aws lakeformation grant-permissions \
--cli-input-json \
'{
    "Principal": {
        "DataLakePrincipalIdentifier":"arn:aws:iam::111122223333:role/DataAnalystRole"
    },
    "Resource": {
        "Table": {
            "CatalogId":"111122223333:s3tablescatalog/amzn-s3-demo-bucket1",
            "DatabaseName":"S3 table bucket namespace <example_namespace>",
            "Name":"S3 table bucket table name <example_table>"
        }
    },
    "Permissions": [
        "SELECT"
    ]
}'
```

 コマンドに含めるパラメータは次のとおりです。
+ DataLakePrincipalIdentifier – アクセス許可を付与する IAM ユーザー、ロール、またはグループ ARN
+ CatalogId – データカタログを所有する 12 桁の AWS アカウント ID
+ DatabaseName – Amazon S3 テーブルバケット名前空間の名前
+ Name – Amazon S3 テーブルバケットのテーブル名
+ Permissions – 付与するアクセス許可。オプション: SELECT、INSERT、DELETE、DESCRIBE、ALTER、DROP、ALLL、SUPER

# 共有 Amazon S3 Tables へのアクセス
<a name="s3-tables-cross-account-sharing"></a>

 S3 テーブルカタログのデータベースまたはテーブルに対するクロスアカウントアクセス許可を付与した後、リソースにアクセスするには、共有データベースとテーブルへのリソースリンクを作成する必要があります。

1.  送信先アカウント (共有リソースを受信するアカウント) で、データベースリソースリンクを作成します。詳細な手順については、「[共有 Data Catalog データベースへのリソースリンクの作成](create-resource-link-database.md)」を参照してください。

   データベースリソースリンクを作成するための CLI の例

   ```
   aws glue create-database 
   --region us-east-1 
   --catalog-id "111122223333" 
   --database-input \
   '{
     "Name": "s3table_resourcelink",
     "TargetDatabase": {
       "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
       "DatabaseName": "s3_table_ns"
     },
     "CreateTableDefaultPermissions": []
   }'
   ```

1.  テーブルに対するクロスアカウントアクセス許可を付与します。

   クロスアカウントアクセス許可付与の CLI の例

   ```
   aws lakeformation grant-permissions \
   --region us-east-1 \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:role/S3TablesTestExecRole"
       },
       "Resource": {
           "Table": {
               "CatalogId": "011426214932:s3tablescatalog/chmni-s3-table-bucket-011426214932",
               "DatabaseName": "s3_table_ns",
               "Name": "test_s3_iceberg_table"
           }
       },
       "Permissions": [
           "ALL"
       ]
   }'
   ```

1.  リソースリンクに対する Lake Formation `DESCRIBE` アクセス許可を付与します。

    リソースリンクに対する describe アクセス許可を付与する CLI の例。

   ```
   aws lakeformation grant-permissions \
       --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:role/S3TablesTestExecRole
       --resource Database='{CatalogId=111122223333;, Name=s3table_resourcelink}' \
       --permissions DESCRIBE
   ```