SQL セマンティクスを使用したアクセス権の付与
テーブルおよびテーブルバケットポリシーで SQL セマンティクスを使用して、テーブルにアクセス許可を付与できます。使用できる SQL セマンティクスの例は、CREATE、INSERT、DELETE、UPDATE、ALTER です。次の表は、ユーザーにアクセス許可を付与するために使用できる SQL セマンティクスに関連付けられた API アクションのリストを示しています。
S3 Tables は、SQL セマンティクスを使用したアクセス許可を部分的にサポートしています。例えば、CreateTable API はテーブルバケットに空のテーブルのみを作成します。テーブルスキーマを設定するには、UpdateTableMetadata、PutTableData、GetTableMetadataLocation などの追加のアクセス許可が必要です。これらの追加のアクセス許可は、テーブルに行を挿入するためのアクセス権もユーザーに付与することを意味します。SQL セマンティクスのみに基づいてアクセスを管理する場合は、AWS Lake Formation または S3 Tables と統合されたサードパーティーソリューションを使用することをお勧めします。
| テーブルレベルのアクティビティ | IAM アクション |
|---|---|
SELECT |
s3tables:GetTableData,
s3tables:GetTableMetadataLocation |
CREATE |
s3tables:CreateTable,
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation, |
INSERT |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation |
UPDATE |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation |
ALTER,RENAME |
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation,
s3tables:RenameTable
|
DELETE,DROP |
s3tables:DeleteTable,
s3tables:UpdateTableMetadataLocation,
s3tables:PutTableData,
s3tables:GetTableMetadataLocation
|
注記
テーブルバケットからテーブルを削除するには、s3tables:DeleteTable アクセス許可が必要です。このアクセス許可により、テーブルとそれに関連するすべてのデータとメタデータを完全に削除できます。削除オペレーションは元に戻せないため、このアクセス許可を慎重に使用してください。