本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon DynamoDB 的操作、资源和条件键
Amazon DynamoDB(服务前缀:dynamodb
)提供以下服务特定的资源、操作和条件上下文键以在 IAM 权限策略中使用。
参考:
-
了解如何配置该服务。
-
查看此服务可用的API操作列表。
-
了解如何使用 IAM 权限策略保护该服务及其资源。
Amazon DynamoDB 定义的操作
您可以在 Action
策略语句的 IAM 元素中指定以下操作。可以使用策略授予在 AWS中执行操作的权限。当您在策略中使用操作时,通常会允许或拒绝访问具有相同名称的API操作或CLI命令。但在某些情况下,单一动作可控制对多项操作的访问。还有某些操作需要多种不同的动作。
操作表的资源类型列指示每项操作是否支持资源级权限。如果该列没有任何值,您必须在策略语句的 Resource
元素中指定策略应用的所有资源(“*”)。如果该列包含资源类型,则可以在带有该操作ARN的语句中指定该类型的资源类型。如果操作具有一个或多个必需资源,则调用方必须具有使用这些资源来使用该操作的权限。必需资源在表中以星号 (*) 表示。如果您使用IAM策略中的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 资源名称 (ARN)、其分片的组成以及相应的 DynamoDB 表 | 读取 | |||
DescribeTable | 授予权限以返回有关表的信息 | 读取 | |||
DescribeTableReplicaAutoScaling | 授予权限以描述全局表的所有副本之间的弹性伸缩设置 | 读取 | |||
DescribeTimeToLive | 授予描述指定表的 Time to Live (TTL) 状态的权限 | 读取 | |||
DisableKinesisStreamingDestination | 授予权限以授予停止从 DynamoDB 表到 Kinesis 数据流的复制的权限 | 写入 | |||
EnableKinesisStreamingDestination | 授予权限以授予在启用工作流期间选择的时间戳启动将表数据复制到指定 Kinesis 数据流的权限 | 写入 | |||
ExportTableToPointInTime | 授予权限以启动将 DynamoDB 表到 S3 的导出过程 | 写入 | |||
GetAbacStatus[仅权限] | 授予查看账户基于属性的访问控制状态的权限 | 读取 | |||
GetItem | 授予 GetItem 操作权限,该操作返回具有给定主键的项目的一组属性 | 读取 | |||
GetRecords | 授予权限以检索给定分片中的流记录 | 读取 | |||
GetResourcePolicy | 授予权限以查看资源的资源策略 | 读取 | |||
GetShardIterator | 授予返回分片迭代器的权限 | 读取 | |||
ImportTable | 授予将某个导入从 S3 启动到某个 DynamoDB 表的权限 | 写入 | |||
ListBackups | 授予权限以列出与账户和终端节点关联的备份 | 列出 | |||
ListContributorInsights | 授予列出与当前账户和终端节点关联的所有表和全局二级索引的权限 ContributorInsightsSummary | 列出 | |||
ListExports | 授予权限以列出与账户和终端节点关联的导出 | 列出 | |||
ListGlobalTables | 授予权限以列出在指定区域中具有副本的所有全局表 | 列出 | |||
ListImports | 授予列出与账户和端点关联的导入的权限 | 列出 | |||
ListStreams | 授予返回与当前账户和端点ARNs关联的直播数组的权限 | 读取 | |||
ListTables | 授予权限以返回与当前账户和终端节点关联的表名称的数组 | 列出 | |||
ListTagsOfResource | 授予权限以列出 Amazon DynamoDB 资源上的所有标签 | 读取 | |||
PartiQLDelete | 授予按主键删除表中单个项目的权限 | Write | |||
PartiQLInsert | 授予在表中不存在具有相同主键的项目时创建新项目的权限 | Write | |||
PartiQLSelect | 授予读取表或索引中项目的一组属性的权限 | Read | |||
PartiQLUpdate | 授予编辑现有项目属性的权限 | 写入 | |||
PurchaseReservedCapacityOfferings[仅权限] | 授予权限以购买预留容量用于您的账户 | 写入 | |||
PutItem | 授予权限以创建新项目,或将旧项目替换为新项目 | 写入 | |||
PutResourcePolicy | 授予权限以将资源策略附加到资源 | 权限管理 | |||
Query | 授予权限以使用表的主键或二级索引直接访问该表或索引中的项目 | 读取 | |||
RestoreTableFromAwsBackup[仅权限] | 授予从 B AWS ackup 上的恢复点创建新表的权限 | 写入 | |||
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[仅权限] | 授予在启用高级功能的情况下在 Bac AWS kup 上创建备份的权限 | 写入 | |||
TagResource | 授予权限以将一组标签与 Amazon DynamoDB 资源关联 | 标记 | |||
UntagResource | 授予权限从 Amazon DynamoDB 资源中删除标签的关联 | 标记 | |||
UpdateAbacStatus[仅权限] | 授予更新账户基于属性的访问控制状态的权限 | 权限管理 | |||
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 策略的 Condition
元素中使用的条件键。您可以使用这些键进一步细化应用策略语句的条件。有关下表中各列的详细信息,请参阅条件键表。
要查看适用于所有服务的全局条件键,请参阅可用的全局条件键。
注意
有关如何使用上下文密钥通过IAM策略优化 DynamoDB 访问权限的信息,请参阅 Amazon DynamoDB 开发者指南中的IAM使用策略条件进行精细访问控制。
条件键 | 描述 | 类型 |
---|---|---|
aws:RequestTag/${TagKey} | 按请求中传递的标签筛选访问权限 | 字符串 |
aws:ResourceTag/${TagKey} | 按与资源关联的标签筛选访问权限 | 字符串 |
aws:TagKeys | 按请求中传递的标签键筛选访问权限 | ArrayOfString |
dynamodb:Attributes | 通过表的属性(字段或列)名称筛选访问权限 | ArrayOfString |
dynamodb:EnclosingOperation | 通过屏蔽事务APIs调用来过滤访问权限并允许非交易APIs调用,反之亦然 | String |
dynamodb:FullTableScan | 通过阻止全表扫描筛选访问权限 | 布尔型 |
dynamodb:LeadingKeys | 根据表的分区键筛选访问权限 | ArrayOfString |
dynamodb:ReturnConsumedCapacity | 按请求的 ReturnConsumedCapacity 参数筛选访问权限。包含 “TOTAL” 或 “NONE” | String |
dynamodb:ReturnValues | 按请求 ReturnValues 参数筛选访问权限。包含以下内容之一:OLD“ALL_”、“UPDATED_”、OLD “” ALL _ NEW “、” UPDATED _ NEW “,或”NONE” | String |
dynamodb:Select | 根据 Query 或 Scan 请求的 Select 参数筛选访问权限 | String |