将基于资源的策略附加到 DynamoDB 流
您可以使用 DynamoDB 控制台、PutResourcePolicy API、AWS CLI、AWS SDK 或 AWS CloudFormation 模板将基于资源的策略附加到现有表的流中或修改现有策略。
注意
在使用 CreateTable 或 UpdateTable API 创建流时,您无法将策略附加到该流。但是,您可以在删除表之后修改或删除策略。您也可以修改或删除已禁用流的策略。
以下 IAM 策略示例使用 put-resource-policy
AWS CLI 命令将基于资源的策略附加到名为 MusicCollection
的表的流中。此示例允许用户 John
对流执行 GetRecords、GetShardIterator 和 DescribeStream API 操作。
切记用特定资源信息替换斜体
文本。
aws dynamodb put-resource-policy \ --resource-arn arn:aws:dynamodb:us-west-2:
123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
\ --policy \ "{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"AWS\": \"arn:aws:iam::111122223333
:user/John
\" }, \"Action\": [ \"dynamodb:GetRecords\", \"dynamodb:GetShardIterator\", \"dynamodb:DescribeStream\" ], \"Resource\": \"arn:aws:dynamodb:us-west-2:123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
\" } ] }"
登录 AWS Management Console,并打开 DynamoDB 控制台:https://console.aws.amazon.com/dynamodb/
。 -
在 DynamoDB 控制台控制面板上,选择表,然后选择现有表。
确保您选择的表已开启流。有关为表开启流的信息,请参阅启用流。
-
选择权限选项卡。
-
在活跃流的基于资源的策略中,选择创建流策略。
-
在基于资源的策略编辑器中,添加策略来定义流的访问权限。在此策略中,您可以指定谁有权访问流,以及允许他们对流执行的操作。要添加策略,请执行以下操作之一:
-
键入或粘贴一个 JSON 策略文档。有关 IAM 策略语言的详细信息,请参阅《IAM 用户指南》中的使用 JSON 编辑器创建策略。
提示
要查看《Amazon DynamoDB 开发人员指南》中基于资源的策略示例,请选择策略示例。
-
选择添加语句来添加新的语句并在提供的字段中输入信息。对所有您想添加的语句重复执行此步骤。
重要
确保在保存策略之前解决任何安全警告、错误或建议。
-
-
(可选)选择右下角的预览外部访问,以预览新策略如何影响对资源的公有和跨账户访问。在保存策略之前,您可以检查策略是引入了新的 IAM Access Analyzer 发现结果还是解析了现有的发现结果。如果您没有看到活动的分析器,请在 IAM Access Analyzer 中选择转至 Access Analyzer 以创建账户分析器。有关更多信息,请参阅预览访问。
-
选择创建策略。
以下 IAM 策略示例将基于资源的策略附加到名为 MusicCollection
的表的流中。此示例允许用户 John
对流执行 GetRecords、GetShardIterator 和 DescribeStream API 操作。
切记用特定资源信息替换斜体
文本。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:user/John
" }, "Action": [ "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:DescribeStream" ], "Resource": [ "arn:aws:dynamodb:us-west-2:123456789012
:table/MusicCollection
/stream/2024-02-12T18:57:26.492
" ] } ] }