基于资源的策略vsIAM策略:Lambda访问Secret Manager权限疑问
Lambda访问Secret Manager:基于资源策略的权限说明
不需要为Lambda的执行角色额外添加针对Secret Manager的IAM策略,仅靠你在目标Secret Manager密钥上配置的基于资源的策略,就能让指定的Lambda函数访问该密钥。
具体逻辑和注意事项如下:
- Lambda调用Secret Manager时,是以其执行角色的身份发起请求的。只要你在Secret Manager的资源策略中,正确将该执行角色的ARN设为允许的主体,并授予了所需的权限(比如
secretsmanager:GetSecretValue、secretsmanager:DescribeSecret等,根据实际需求选择),AWS的IAM权限评估就会通过——资源策略提供了明确的允许规则,而执行角色没有针对该操作的显式拒绝策略,满足权限允许的条件。 - Lambda的执行角色需要保留基础运行权限(比如
AWSLambdaBasicExecutionRole,用于写入CloudWatch日志),但这部分和访问Secret Manager无关,无需额外调整。
配置资源策略时的关键细节:
- 必须使用Lambda执行角色的ARN作为允许主体,而不是Lambda函数的名称或ARN。示例格式:
arn:aws:iam::123456789012:role/lambda-my-lambda - 资源策略中授予的权限要覆盖Lambda需要执行的所有Secret Manager操作,比如仅读取密钥的话,
secretsmanager:GetSecretValue就足够。
内容的提问来源于stack exchange,提问作者pkaramol
相关产品推荐
相关产品推荐

