テーブルおよびテーブルバケットポリシーで 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
|