我的IAM用户具有以下两个策略。
我创建了以下IAM策略,该策略可防止未包含Project标记的lambda被创建。
{
"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}。