Amazon DynamoDB 的操作、资源和条件键
Amazon DynamoDB(服务前缀:dynamodb
)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
Amazon DynamoDB 定义的操作
您可以在 IAM 策略语句的 Action
元素中指定以下操作。可以使用策略授予在 AWS 中执行操作的权限。您在策略中使用一项操作时,通常使用相同的名称允许或拒绝对 API 操作或 CLI 命令的访问。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。通过在 IAM policy 中使用条件来筛选访问权限,以控制是否可以在资源或请求中使用特定标签键。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您在 IAM policy 中使用 Resource
元素限制资源访问权限,则必须为每种必需的资源类型添加 ARN 或模式。某些操作支持多种资源类型。如果资源类型是可选的(未指示为必需),则可以选择使用一种可选资源类型。
操作表的条件键列包括可以在策略语句的 Condition
元素中指定的键。有关与服务资源关联的条件键的更多信息,请参阅资源类型表的条件键列。
注意
资源条件键在资源类型表中列出。您可以在操作表的资源类型(* 为必需)列中找到应用于某项操作的资源类型的链接。资源类型表中的资源类型包括条件密钥列,这是应用于操作表中操作的资源条件键。
有关下表中各列的详细信息,请参阅操作表。
操作 | 描述 | 访问级别 | 资源类型(* 为必需) | 条件键 | 相关操作 |
---|---|---|---|---|---|
BatchGetItem | 授予权限以从一个或多个表中返回一个或多个项目的属性 | 读取 | |||
BatchWriteItem | 授予权限以将多个项目放入一个或多个表中或将其删除 | 写入 | |||
ConditionCheckItem | 授予 ConditionCheckItem 操作检查具有给定主键的项目的一组属性是否存在的权限 | 读取 | |||
CreateBackup | 授予权限以创建现有表的备份 | 写入 | |||
CreateGlobalTable | 授予权限以从现有表创建全局表 | 写入 | |||
CreateTable | 授予 CreateTable 操作向您的账户添加新表的权限 | 写入 | |||
CreateTableReplica [仅权限] | 授予权限以添加新的副本表 | 写入 | |||
DeleteBackup | 授予权限以删除现有表的备份 | 写入 | |||
DeleteItem | 授予按主键删除表中单个项目的权限 | 写入 | |||
DeleteResourcePolicy | 授予权限以删除附加到资源中的资源策略 | 权限管理 | |||
DeleteTable | 授予 DeleteTable 操作删除表及其所有项目的权限 | 写入 | |||
DeleteTableReplica [仅权限] | 授予权限以删除副本表及其所有项目 | 写入 | |||
DescribeBackup | 授予权限以描述现有表的备份 | 读取 | |||
DescribeContinuousBackups | 授予权限以检查指定表上的备份还原设置的状态 | 读取 | |||
DescribeContributorInsights | 授予权限以描述给定表或全局二级索引的 Contributor Insights 状态和相关详细信息 | 读取 | |||
DescribeEndpoints | 授予返回区域端点信息的权限 | 读取 | |||
DescribeExport | 授予权限以描述现有表的导出 | 读取 | |||
DescribeGlobalTable | 授予返回指定全局表相关信息的权限 | 读取 | |||
DescribeGlobalTableSettings | 授予返回指定全局表相关设置信息的权限 | 读取 | |||
DescribeImport | 授予描述某个现有导入的权限 | 读取 | |||
DescribeKinesisStreamingDestination | 授予权限以授予描述给定表的 Kinesis 流式传输状态和相关详细信息的权限 | 读取 | |||
DescribeLimits | 授予权限以返回在某个区域中AWS 账户的当前预置容量限制,既包括整个区域的容量限制,也包括您在其中创建的任何一个 DynamoDB 表的容量限制 | 读取 | |||
DescribeReservedCapacity [仅权限] | 授予权限以描述一个或多个购买的预留容量 | 读取 | |||
DescribeReservedCapacityOfferings [仅权限] | 授予权限以描述可供购买的预留容量产品 | 读取 | |||
DescribeStream | 授予权限以返回有关流的信息,包括流的当前状态、其 Amazon Resource Name (ARN)、其分片的构成及其相应的 DynamoDB 表 | 读取 | |||
DescribeTable | 授予权限以返回有关表的信息 | 读取 | |||
DescribeTableReplicaAutoScaling | 授予权限以描述全局表的所有副本之间的弹性伸缩设置 | 读取 | |||
DescribeTimeToLive | 授予权限以给出指定表的存活时间 (TTL) 状态的描述 | 读取 | |||
DisableKinesisStreamingDestination | 授予权限以授予停止从 DynamoDB 表到 Kinesis 数据流的复制的权限 | 写入 | |||
EnableKinesisStreamingDestination | 授予权限以授予在启用工作流期间选择的时间戳启动将表数据复制到指定 Kinesis 数据流的权限 | 写入 | |||
ExportTableToPointInTime | 授予权限以启动将 DynamoDB 表到 S3 的导出过程 | 写入 | |||
GetItem | 授予 GetItem 操作返回具有给定主键的项目的一组属性的权限 | 读取 | |||
GetRecords | 授予权限以检索给定分片中的流记录 | 读取 | |||
GetResourcePolicy | 授予权限以查看资源的资源策略 | 读取 | |||
GetShardIterator | 授予返回分片迭代器的权限 | 读取 | |||
ImportTable | 授予将某个导入从 S3 启动到某个 DynamoDB 表的权限 | 写入 | |||
ListBackups | 授予权限以列出与账户和终端节点关联的备份 | 列出 | |||
ListContributorInsights | 授予权限以列出与当前账户和终端节点关联的所有表和全局二级索引的 ContributorInsightsSummary | 列出 | |||
ListExports | 授予权限以列出与账户和终端节点关联的导出 | 列出 | |||
ListGlobalTables | 授予权限以列出在指定区域中具有副本的所有全局表 | 列出 | |||
ListImports | 授予列出与账户和端点关联的导入的权限 | 列出 | |||
ListStreams | 授予权限以返回与当前账户和终端节点关联的流 ARN 的数组 | 读取 | |||
ListTables | 授予权限以返回与当前账户和终端节点关联的表名称的数组 | 列出 | |||
ListTagsOfResource | 授予权限以列出 Amazon DynamoDB 资源上的所有标签 | 读取 | |||
PartiQLDelete | 授予按主键删除表中单个项目的权限 | Write | |||
PartiQLInsert | 授予在表中不存在具有相同主键的项目时创建新项目的权限 | Write | |||
PartiQLSelect | 授予读取表或索引中项目的一组属性的权限 | Read | |||
PartiQLUpdate | 授予编辑现有项目属性的权限 | 写入 | |||
PurchaseReservedCapacityOfferings [仅权限] | 授予权限以购买预留容量用于您的账户 | 写入 | |||
PutItem | 授予权限以创建新项目,或将旧项目替换为新项目 | 写入 | |||
PutResourcePolicy | 授予权限以将资源策略附加到资源 | 权限管理 | |||
Query | 授予权限以使用表的主键或二级索引直接访问该表或索引中的项目 | 读取 | |||
RestoreTableFromAwsBackup [仅权限] | 授予权限以在 AWS Backup 上从恢复点创建新表 | 写入 | |||
RestoreTableFromBackup | 授予权限以从现有备份中创建新表 | 写入 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
RestoreTableToPointInTime | 授予权限以将表还原到某个时间点 | 写入 |
dynamodb:BatchWriteItem dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem dynamodb:Query dynamodb:Scan dynamodb:UpdateItem |
||
Scan | 授予权限以通过访问表或者二级索引中的每个项目,返回一个或多个项目和项目属性 | 读取 | |||
StartAwsBackupJob [仅权限] | 授予权限以在启用了高级功能的情况下在 AWS Backup 上创建备份 | 写入 | |||
TagResource | 授予权限以将一组标签与 Amazon DynamoDB 资源关联 | 标记 | |||
UntagResource | 授予权限从 Amazon DynamoDB 资源中删除标签的关联 | 标记 | |||
UpdateContinuousBackups | 授予权限以启用或禁用连续备份 | 写入 | |||
UpdateContributorInsights | 授予权限以更新特定表或全局二级索引的 Contributor Insights 状态 | 写入 | |||
UpdateGlobalTable | 授予权限以在指定的全局表中添加或删除副本 | 写入 | |||
UpdateGlobalTableSettings | 授予更新指定全局表的设置的权限 | 写入 | |||
UpdateGlobalTableVersion [仅权限] | 授予更新指定全局表的版本的权限 | 写入 | |||
UpdateItem | 授予权限以编辑现有项目的属性,或者将新项目添加到表中(如果它不存在) | 写入 | |||
UpdateKinesisStreamingDestination | 授予权限以更新指定 Kinesis 数据流的数据复制配置 | 写入 | |||
UpdateTable | 授予权限以修改给定表的预置吞吐量设置、全局二级索引或 DynamoDB Streams 设置 | 写入 | |||
UpdateTableReplicaAutoScaling | 授予权限以更新副本表上的自动伸缩设置 | 写入 | |||
UpdateTimeToLive | 授予权限以为指定表启用或禁用 TTL | 写入 |
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}
|
|
import |
arn:${Partition}:dynamodb:${Region}:${Account}:table/${TableName}/import/${ImportName}
|
Amazon DynamoDB 的条件键
Amazon DynamoDB 定义了以下可以在 IAM policy 的 Condition
元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
注意
有关如何使用上下文键通过 IAM policy 优化 DynamoDB 访问的信息,请参阅《Amazon DynamoDB 开发人员指南》中的使用 IAM policy 条件实现精细访问控制。
条件键 | 描述 | 类型 |
---|---|---|
dynamodb:Attributes | 通过表的属性(字段或列)名称筛选访问权限 | 字符串数组 |
dynamodb:EnclosingOperation | 通过阻止事务 API 调用来筛选访问权限,并允许非事务 API 调用,反之亦然 | String |
dynamodb:FullTableScan | 通过阻止全表扫描筛选访问权限 | 布尔型 |
dynamodb:LeadingKeys | 根据表的分区键筛选访问权限 | 字符串数组 |
dynamodb:ReturnConsumedCapacity | 根据请求的 ReturnConsumedCapacity 参数筛选访问权限。包含“TOTAL”或“NONE” | String |
dynamodb:ReturnValues | 根据请求的 ReturnValues 参数筛选访问权限。包含下列项之一:“ALL_OLD”、“UPDATED_OLD”、“ALL_NEW”、“UPDATED_NEW”或“NONE” | String |
dynamodb:Select | 根据 Query 或 Scan 请求的 Select 参数筛选访问权限 | String |