View a markdown version of this page

使用 SQL 语义授予访问权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

使用 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
注意

从表存储桶中删除表需要 s3tables:DeleteTable 权限。此权限可让您永久移除表及其所有关联数据和元数据。请谨慎使用此权限,因为删除操作无法撤消。