AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

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

参考:

Amazon DynamoDB 定义的操作

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

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

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

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

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:Select

BatchWriteItem 在一个或多个表中放置或删除多个项目 写入

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

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

table*

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

CreateBackup 创建现有表的备份 写入

table*

CreateGlobalTable 允许用户从现有表创建全局表 写入

global-table*

table*

CreateTable CreateTable 操作向您的账户添加新表 写入

table*

DeleteBackup 删除表的现有备份 写入

backup*

DeleteItem 按主键删除表中的单个项目 写入

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

DeleteTable DeleteTable 操作删除表及其所有项目 写入

table*

DescribeBackup 描述表的现有备份 Read

backup*

DescribeContinuousBackups 检查指定表上的备份还原设置的状态 Read

table*

DescribeGlobalTable 返回有关指定的全局表的信息 Read

global-table*

DescribeGlobalTableSettings 返回有关指定的全局表的设置信息 Read

global-table*

DescribeLimits 返回 AWS 账户在某个区域中的当前预置容量限制,既包括整个区域的容量限制,也包括您在其中创建的任何一个 DynamoDB 表的容量限制 Read
DescribeReservedCapacity 描述购买的一个或多个预留容量 Read
DescribeReservedCapacityOfferings 描述可供购买的预留容量服务 Read
DescribeStream 返回有关流的信息,包括流的当前状态、其 Amazon 资源名称 (ARN)、其分片的构成及其相应的 DynamoDB 表 Read

stream*

DescribeTable 返回有关表的信息 Read

table*

DescribeTimeToLive 给出指定表的有效时间 (TTL) 状态的描述。 Read

table*

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

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:Select

GetRecords 检索给定分片中的流记录 Read

stream*

GetShardIterator 返回分片迭代器 Read

stream*

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

table*

PurchaseReservedCapacityOfferings 购买预留容量用于您的账户 写入
PutItem 创建新项目,或将旧项目替换为新项目 写入

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

RestoreTableFromBackup 从现有备份创建新表 写入

backup*

table*

RestoreTableToPointInTime 使表还原到某个时间点 写入

table*

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

table*

index

dynamodb:Attributes

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

dynamodb:Select

TagResource 将一组标签与 Amazon DynamoDB 资源关联 标记

table*

UntagResource 从 Amazon DynamoDB 资源中删除标签的关联。 标记

table*

UpdateContinuousBackups 启用或禁用连续备份 写入

table*

UpdateGlobalTable 使用户可以在指定的全局表中添加或删除副本 写入

global-table*

table*

UpdateGlobalTableSettings 使用户可以更新指定全局表的设置 写入

global-table*

table*

UpdateItem 编辑现有项目的属性,或者将新项目添加到表中(如果它不存在) 写入

table*

dynamodb:Attributes

dynamodb:EnclosingOperation

dynamodb:LeadingKeys

dynamodb:ReturnConsumedCapacity

dynamodb:ReturnValues

UpdateTable 修改给定表的预置吞吐量设置、全局二级索引或 DynamoDB 流设置 写入

table*

UpdateTimeToLive 为指定的表启用或禁用 TTL 写入

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}
global-table arn:${Partition}:dynamodb::${Account}:global-table/${GlobalTableName}

Amazon DynamoDB 的条件键

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

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

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

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