使用 SQL 语义授予访问权限
可以通过在表和表存储桶策略中使用 SQL 语义来授予对表的权限。可以使用的 SQL 语义的示例为 CREATE
、INSERT
、DELETE
、UPDATE
和 ALTER
。下表提供了与 SQL 语义关联的 API 操作的列表,您可以使用这些操作向用户授予权限。
S3 表类数据存储服务部分支持使用 SQL 语义的权限。例如,CreateTable
API 仅在表存储桶中创建一个空表。您需要额外的权限(例如 UpdateTableMetadata
、PutTableData
和 GetTableMetadataLocation
),才能设置表架构。这些额外权限还意味着您还授予用户在表中插入行的权限。如果您希望纯粹基于 SQL 语义来管理访问权限,那么我们建议您使用 Amazon Lake Formation 或任何与 S3 表类数据存储服务集成的第三方解决方案。
表级活动 | 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
|