问题通常发生在 CloudFormation 模板的中 IAM 资源中,某些最有可能的原因包括:
对于这种情况,可能会出现以下类似的错误消息:
An error occurred (AccessDenied) when calling the CreateUser operation: User: arn:aws:iam::123456789012:user/test-user is not authorized to perform: iam:CreateUser
为避免此错误,您需要在 CloudFormation 模板的 IAM 资源中,正确指定 IAM 用户的名称并设置正确的 Permissions policy。以下是一个示例 IAM 用户及附带 Permissions policy 的模板片段:
"Resources": {
"MyUser": {
"Type": "AWS::IAM::User",
"Properties": {
"UserName": "my-user-name",
"Policies": [
{
"PolicyName": "MyPolicy",
"PolicyDocument": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:CreateUser"
],
"Resource": [
"*"
]
}
]
}
}
]
}
}
}
此模板片段将创建名为my-user-name
的 IAM 用户,并将名为MyPolicy
的 Permissions policy 授予此用户,使用户具有iam:CreateUser
权限。