【发布时间】:2020-07-21 14:56:36
【问题描述】:
我的 IAM 用户附加了以下两个策略。
我创建了以下 IAM 策略,如果 lambda 没有 Project 标签,则无法创建它。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Deny",
"Action": "lambda:*",
"Resource": "*",
"Condition": {
"Null": {
"aws:RequestTag/Project": "true"
}
}
}
]
}
我还需要在创建 lambda 时附加/创建一个新的执行角色,所以我在下面添加 我的 IAM 用户的 Iam 政策。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Action": "iam:*",
"Resource": "*"
}
]
}
我使用该 IAM 用户的凭证登录到 aws 控制台并尝试创建没有标签的 lambda 函数,但它没有阻止资源创建。我能够创建没有所需标签的 lambda 函数,但具有以下内容错误。
You are not authorized to perform: cloudformation:DescribeStackResources.
You are not authorized to perform: lambda:GetFunctionEventInvokeConfig.
User: arn:aws:iam::****:user/testuser is not authorized to perform: lambda:ListEventSourceMappings on resource: * with an explicit deny (Service: AWSLambda; Status Code: 403; Error Code: AccessDeniedException; Request ID: 199433ed*****)
如何才能完全阻止资源创建?
最终我想为所有受支持的 aws 资源尝试 aws:RequestTag/{TageKey}。
【问题讨论】:
-
不应该是该政策中的
Deny吗?SCP你链接的例子只有Deny那里。 -
感谢 Marcin 指出错误!
-
没问题。它现在工作了吗?如果,我可以回答以供将来参考?
-
它仍然让我创建 lambda 函数,但这次我遇到了一些错误。
标签: amazon-web-services amazon-iam