使用基于资源的策略创建一个表
在创建表时,您可以使用 DynamoDB 控制台、CreateTable API、AWS CLI、AWS SDK 或 AWS CloudFormation 模板添加基于资源的策略。
以下示例将使用 create-table
AWS CLI 命令创建一个名为 MusicCollection
的表。此命令还包括向表中添加基于资源的策略的 resource-policy
参数。此策略允许用户 John
对表执行 RestoreTableToPointInTime、GetItem 和 PutItem API 操作。
切记用特定资源信息替换斜体
文本。
aws dynamodb create-table \ --table-name
MusicCollection
\ --attribute-definitions AttributeName=Artist,AttributeType=S AttributeName=SongTitle,AttributeType=S \ --key-schema AttributeName=Artist,KeyType=HASH AttributeName=SongTitle,KeyType=RANGE \ --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ --resource-policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::123456789012
:user/John
\" }, \"Action\": [ \"dynamodb:RestoreTableToPointInTime\", \"dynamodb:GetItem\", \"dynamodb:DescribeTable\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012
:table/MusicCollection
\" } ] }"
登录 AWS Management Console,并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
在控制面板上,选择创建表。
-
在表详细信息中,输入表名、分区键和排序键的详细信息。
-
在表设置部分,选择自定义设置。
-
(可选)为表类、容量计算器、读/写容量设置、二级索引、静态加密和删除保护指定选项。
-
在基于资源的策略中,添加一个策略来定义表及其索引的访问权限。在此策略中,您可以指定谁有权访问这些资源,以及允许他们对每个资源执行的操作。要添加策略,请执行以下操作之一:
-
键入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅《IAM 用户指南》中的使用 JSON 编辑器创建策略。
提示
要查看《Amazon DynamoDB 开发人员指南》中基于资源的策略示例,请选择策略示例。
-
选择添加语句来添加新的语句并在提供的字段中输入信息。对所有您想添加的语句重复执行此步骤。
重要
确保在保存策略之前解决任何安全警告、错误或建议。
以下 IAM 策略允许用户
John
对表MusicCollection
执行 RestoreTableToPointInTime、GetItem 和 PutItem API 操作。切记用特定资源信息替换
斜体
文本。{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/John
" }, "Action": [ "dynamodb:RestoreTableToPointInTime", "dynamodb:GetItem", "dynamodb:PutItem" ], "Resource": "arn:aws:dynamodb:us-east-1:123456789012
:table/MusicCollection
" } ] } -
-
(可选)选择右下角的预览外部访问,以预览新策略如何影响对资源的公有和跨账户访问。在保存策略之前,您可以检查策略是引入了新的 IAM Access Analyzer 发现结果还是解析了现有的发现结果。如果您没有看到活动的分析器,请在 IAM Access Analyzer 中选择转至 Access Analyzer 以创建账户分析器。有关更多信息,请参阅预览访问。
-
选择创建表。