我想授予一组用户访问权限以对某些Lambda函数执行某些操作。我的Lambda已被正确标记以允许这样做,例如:“ department:hr”。我可以将其与IAM绑在一起吗?
我看过关于条件的文档,这些条件允许将ResourceTag\*
与一个值进行比较,但是这些似乎在Lambda函数的可视化编辑器(不幸的是,我依赖于它)中不可用。
我想要这样的东西:
"Effect": "Allow",
"Action": [
"lambda:ListFunctions",
"lambda:ListVersionsByFunction",
"lambda:GetLayerVersion",
"lambda:GetEventSourceMapping",
"lambda:GetFunction",
"lambda:ListAliases",
"lambda:GetAccountSettings",
"lambda:GetFunctionConfiguration",
"lambda:GetLayerVersionPolicy",
"lambda:ListTags",
"lambda:ListEventSourceMappings",
"lambda:ListLayerVersions",
"lambda:ListLayers",
"lambda:GetAlias",
"lambda:GetPolicy"
],
"Resource": "*"
"Condition": {
"StringEquals": {
"lambda:ResourceTag/department": "hr"
}
我无法在可视化编辑器中构建它,而自己尝试时会出现语法错误。
答案 0 :(得分:0)
我不认为lambda:ResourceTag/${TagKey}
是可用于任何lambda动作的上下文条件(参考:https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html)。
话虽如此,对上下文键的错误使用通常会静默失败。您能提供完整的陈述吗?例如,在上面的代码段中,缺少该条件的}
。
答案 1 :(得分:0)
用以下内容代替您的病情应该可以。
"Condition": {
"StringEquals": {
"aws:PrincipalTag/department": "hr"
}
}
参考:https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html