Amazon DynamoDB 的操作、资源和条件键 - 服务授权参考
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

Amazon DynamoDB 的操作、资源和条件键

Amazon DynamoDB(服务前缀:dynamodb)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。

参考:

Amazon DynamoDB 定义的操作

您可以在 IAM policy 语句的 Action 元素中指定以下操作。可以使用策略授予在 Amazon 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。

资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource 元素中指定所有资源(“*”)。如果该列包含一种资源类型,则可以在含有该操作的语句中指定该类型的 ARN。必需资源在表中以星号 (*) 表示。如果在使用该操作的语句中指定资源级权限 ARN,则它必须属于该类型。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种类型而不使用其他类型。

有关下表中各列的详细信息,请参阅操作表

操作 描述 访问级别 资源类型(* 为必需) 条件键 相关操作
BatchGetItem 授予权限以从一个或多个表中返回一个或多个项目的属性 Read

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:Select

BatchWriteItem 授予权限以将多个项目放入一个或多个表中或将其删除 Write

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

ConditionCheckItem 授予 ConditionCheckItem 操作检查具有给定主键的项目的一组属性是否存在的权限 Read

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

CreateBackup 授予权限以创建现有表的备份 Write

table*

CreateGlobalTable 授予权限以从现有表创建全局表 Write

global-table*

table*

CreateTable 授予 CreateTable 操作向您的账户添加新表的权限 Write

table*

CreateTableReplica 授予权限以添加新的副本表 Write

table*

DeleteBackup 授予权限以删除现有表的备份 Write

backup*

DeleteItem 授予按主键删除表中单个项目的权限 Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

DeleteTable 授予 DeleteTable 操作删除表及其所有项目的权限 Write

table*

DeleteTableReplica 授予权限以删除副本表及其所有项目 Write

table*

DescribeBackup 授予权限以描述现有表的备份 Read

backup*

DescribeContinuousBackups 授予权限以检查指定表上的备份还原设置的状态 Read

table*

DescribeContributorInsights 授予权限以描述给定表或全局二级索引的 Contributor Insights 状态和相关详细信息 Read

table*

index

DescribeExport 授予权限以描述现有表的导出 Read

export*

DescribeGlobalTable 授予返回指定全局表相关信息的权限 Read

global-table*

DescribeGlobalTableSettings 授予返回指定全局表相关设置信息的权限 Read

global-table*

DescribeKinesisStreamingDestination 授予权限以授予描述给定表的 Kinesis 流式传输状态和相关详细信息的权限 Read

table*

DescribeLimits 授予权限以返回在某个区域中Amazon Web Services 账户的当前预置容量限制,既包括整个区域的容量限制,也包括您在其中创建的任何一个 DynamoDB 表的容量限制 Read
DescribeReservedCapacity 授予权限以描述一个或多个购买的预留容量 Read
DescribeReservedCapacityOfferings 授予权限以描述可供购买的预留容量产品 Read
DescribeStream 授予权限以返回有关流的信息,包括流的当前状态、其 Amazon Resource Name (ARN)、其分片的构成及其相应的 DynamoDB 表 Read

stream*

DescribeTable 授予权限以返回有关表的信息 Read

table*

DescribeTableReplicaAutoScaling 授予权限以描述全局表的所有副本之间的弹性伸缩设置 Read

table*

DescribeTimeToLive 授予权限以给出指定表的存活时间 (TTL) 状态的描述 Read

table*

DisableKinesisStreamingDestination 授予权限以授予停止从 DynamoDB 表到 Kinesis 数据流的复制的权限 Write

table*

EnableKinesisStreamingDestination 授予权限以授予在启用工作流期间选择的时间戳启动将表数据复制到指定 Kinesis 数据流的权限 Write

table*

ExportTableToPointInTime 授予权限以启动将 DynamoDB 表到 S3 的导出过程 Write

table*

GetItem 授予 GetItem 操作返回具有给定主键的项目的一组属性的权限 Read

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:Select

GetRecords 授予权限以检索给定分片中的流记录 Read

stream*

GetShardIterator 授予返回分片迭代器的权限 Read

stream*

ListBackups 授予权限以列出与账户和终端节点关联的备份 List
ListContributorInsights 授予权限以列出与当前账户和终端节点关联的所有表和全局二级索引的 ContributorInsightsSummary List
ListExports 授予权限以列出与账户和终端节点关联的导出 List
ListGlobalTables 授予权限以列出在指定区域中具有副本的所有全局表 List
ListStreams 授予权限以返回与当前账户和终端节点关联的流 ARN 的数组 Read
ListTables 授予权限以返回与当前账户和终端节点关联的表名称的数组 List
ListTagsOfResource 授予权限以列出 Amazon DynamoDB 资源上的所有标签 Read

table*

PartiQLDelete 授予按主键删除表中单个项目的权限 Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnValues

PartiQLInsert 授予在表中不存在具有相同主键的项目时创建新项目的权限 Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

PartiQLSelect 授予读取表或索引中项目的一组属性的权限 Read

table*

index

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:FullTableScan

dynamodb:LeadingKeys

dynamodb:Select

PartiQLUpdate 授予编辑现有项目属性的权限 Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnValues

PurchaseReservedCapacityOfferings 授予权限以购买预留容量用于您的账户 Write
PutItem 授予权限以创建新项目,或将旧项目替换为新项目 Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

Query 授予权限以使用表的主键或二级索引直接访问该表或索引中的项目 Read

table*

index

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

dynamodb:Select

RestoreTableFromAwsBackup 授予权限以在 Amazon Backup 上从恢复点创建新表 Write

table*

RestoreTableFromBackup 授予权限以从现有备份中创建新表 Write

backup*

table*

RestoreTableToPointInTime 授予权限以将表还原到某个时间点 Write

table*

Scan 授予权限以通过访问表或者二级索引中的每个项目,返回一个或多个项目和项目属性 Read

table*

index

dynamodb:Attributes

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

dynamodb:Select

StartAwsBackupJob 授予权限以在启用了高级功能的情况下在 Amazon Backup 上创建备份 Write

table*

TagResource 授予权限以将一组标签与 Amazon DynamoDB 资源关联 Tagging

table*

UntagResource 授予权限从 Amazon DynamoDB 资源中删除标签的关联 Tagging

table*

UpdateContinuousBackups 授予权限以启用或禁用连续备份 Write

table*

UpdateContributorInsights 授予权限以更新特定表或全局二级索引的 Contributor Insights 状态 Write

table*

index

UpdateGlobalTable 授予权限以在指定的全局表中添加或删除副本 Write

global-table*

table*

UpdateGlobalTableSettings 授予更新指定全局表的设置的权限 Write

global-table*

table*

UpdateItem 授予权限以编辑现有项目的属性,或者将新项目添加到表中(如果它不存在) Write

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

UpdateTable 授予权限以修改给定表的预置吞吐量设置、全局二级索引或 DynamoDB Streams 设置 Write

table*

UpdateTableReplicaAutoScaling 授予权限以更新副本表上的自动伸缩设置 Write

table*

UpdateTimeToLive 授予权限以为指定表启用或禁用 TTL Write

table*

Amazon DynamoDB 定义的资源类型

以下资源类型是由该服务定义的,可以在 IAM 权限策略语句的 Resource 元素中使用这些资源类型。操作表中的每个操作指定了可以使用该操作指定的资源类型。您也可以在策略中包含条件键,从而定义资源类型。这些键显示在表的最后一列。有关下表中各列的详细信息,请参阅资源类型表

资源类型 ARN 条件键
index arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/index/${IndexName}
stream arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/stream/${StreamLabel}
table arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}
backup arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/backup/${BackupName}
export arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/export/${ExportName}
global-table arn:${Partition}:dynamodb::${Account}:global-table/${GlobalTableName}

Amazon DynamoDB 的条件键

Amazon DynamoDB 定义了以下可以在 IAM policy 的 Condition 元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表

要查看适用于所有服务的全局条件键,请参阅可用的全局条件键

注意

有关如何使用上下文键通过 IAM policy 优化 DynamoDB 访问的信息,请参阅《Amazon DynamoDB 开发人员指南》 中的使用 IAM policy 条件实现精细访问控制

条件键 描述 类型
dynamodb:Attributes 根据表的属性(字段或列)名称筛选 字符串
dynamodb:EnclosingOperation 用于阻止事务 API 调用并允许非事务 API 调用,反之亦然 字符串
dynamodb:FullTableScan 用于阻止全表扫描 Bool
dynamodb:LeadingKeys 根据表的分区键筛选 字符串
dynamodb:ReturnConsumedCapacity 根据请求的 ReturnConsumedCapacity 参数筛选。包含“TOTAL”或“NONE” 字符串
dynamodb:ReturnValues 根据请求的 ReturnValues 参数筛选。包含下列项之一:“ALL_OLD”、“UPDATED_OLD”、“ALL_NEW”、“UPDATED_NEW”或“NONE” 字符串
dynamodb:Select 根据 Query 或 Scan 请求的 Select 参数筛选 字符串