【发布时间】:2023-03-16 21:32:01
【问题描述】:
我正在尝试关注 Secret Manager 的 this article,并尝试使用此用户角色策略链接为 AWS Lambda 应用基于属性的访问控制 (ABAC):
- 创建 IAM 用户
- 为该 IAM 用户分配角色
- 为角色分配了 lambda 的 ABAC 策略。
目前我在一个项目中针对不同用户使用 Lambda 的 ABAC 政策如下:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LambdaPolicyForProject",
"Effect": "Allow",
"Action": [
"cloudformation:DescribeStacks",
"cloudformation:ListStackResources",
"cloudwatch:GetMetricData",
"cloudwatch:ListMetrics",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeVpcs",
"kms:ListAliases",
"iam:GetPolicy",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:ListAttachedRolePolicies",
"iam:ListRolePolicies",
"iam:ListRoles",
"logs:DescribeLogGroups",
"lambda:Get*",
"lambda:List*",
"states:DescribeStateMachine",
"states:ListStateMachines",
"tag:GetResources",
"xray:GetTraceSummaries",
"xray:BatchGetTraces"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/accessproject": "${aws:PrincipalTag/accessproject}",
"aws:ResourceTag/accessteam": "${aws:PrincipalTag/accessteam}",
"aws:ResourceTag/costcenter": "${aws:PrincipalTag/costcenter}"
}
}
}
]
}
当costcenter、accessteam、accessproject 标签对于 IAM 用户和 lambda 而言相似时,这对用户不起作用。
但是,当我删除上述策略中的条件时,它会起作用(这表明 IAM 能够访问 lambda 策略)。
我能知道我在上面的教程中缺少什么吗?我确实交叉检查了 lambda、策略和 IAM 用户的所有标签,它们与文档相同。
【问题讨论】:
-
costcenter、accessteam、accessproject标签对于 IAM 用户和 lambda 是什么意思?相似还是相同? -
现在还不清楚该怎么办吗?
-
不,感谢您的预先回答,我现在明白了,“某些 Secrets Manager 操作不支持该资源类型”是有道理的。
-
costcenter,accessteam,accessproject与 IAM 用户和 lambda 标签相同 -
很高兴听到。如果很清楚,请随意投票或标记为已接受的答案。
标签: amazon-web-services aws-lambda amazon-iam aws-secrets-manager