检查资源策略 - AWS Secrets Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

检查资源策略

您可以使用 GetResourcePolicy 操作并检查 ResourcePolicy 响应元素,以查看附加到密钥的密钥策略文档。

检查资源策略文档,并记下每个策略语句 Principal 元素中指定的所有委托人。Principal 元素中的 IAM 用户、IAM 角色和 AWS 账户均有权访问该密钥。

示例策略语句 1

{ "Sid": "Allow users or roles in account 123456789012 who are delegated access by that account's administrator to have read access to the secret", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:root"}, "Action": [ "secretsmanager:List*", "secretsmanager:Describe*", "secretsmanager:Get*" ], "Resource": "*" }

在上述策略语句中,&region-arn;iam::123456789012:root 指 AWS 账户 123456789012,并允许该账户的管理员向账户中的任何用户或角色授予访问权限。

您还必须在作为委托人列出的所有 AWS 账户中检查所有 IAM 策略,以确定这些策略是否允许访问该密钥。

示例策略语句 2

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:*", "Principal": {"AWS": "arn:aws:iam::123456789012:user/anaya"}, "Resource": "*" } ] }

在上述策略语句中,&region-arn;iam::111122223333:user/anaya 指的是 AWS 账户 111122223333 中名为 Anaya 的 IAM 用户。该用户可以执行所有 Secrets Manager 操作。

示例策略语句 3

{ "Sid": "Allow an app associated with an &IAM; role to only read the current version of a secret", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::123456789012:role/EncryptionApp" }, "Action": ["secretsmanager:GetSecretValue"], "Condition": { "ForAnyValue:StringEquals": {"secretsmanager:VersionStage": "AWSCURRENT" } }, "Resource": "*" }

在上述策略语句中,&region-arn;iam::123456789012:role/EncryptionApp 指 AWS 账户 IAMEncryptionApp 中名为 123456789012 角色。担任该角色的委托人可以执行策略语句中列出的一个操作。该操作获取密钥的当前版本的详细信息。

要了解可以在密钥策略文档中指定委托人的所有不同方法,请参阅 IAM 用户指南中的指定委托人

要了解有关 Secrets Manager 密钥策略的更多信息,请参阅基于资源的策略