【发布时间】:2016-04-13 15:46:05
【问题描述】:
我有一个 CloudFormation 模板,它提供了一个自动缩放组。它具有以下实例配置文件以及相关的角色和策略。有没有办法将现有的 IAM 角色也添加到 InstanceProfile? AWS 文档似乎拒绝了:
目前,一个实例配置文件最多可以分配一个角色。
基本上我想在模板中保留以下角色和策略创建,以便策略可以引用 SQS 资源(即 "Resource": [{ "Fn::GetAtt" : ["LifecycleSQS", "Arn "] }]) 由模板创建,同时还分配一个预先存在的角色,该角色将授予实例上的应用程序权限。我不想在 CloudFormation 模板中创建这些应用特定的权限。
"InstanceRole":{
"Type":"AWS::IAM::Role",
"Properties":{
"AssumeRolePolicyDocument":{
"Statement":[
{
"Effect":"Allow",
"Principal":{
"Service":[
"autoscaling.amazonaws.com"
]
},
"Action":[
"sts:AssumeRole"
]
}
]
},
"Path":"/"
}
},
"RolePolicies":{
"Type":"AWS::IAM::Policy",
"Properties":{
"PolicyName": "MyRolePolicy,
"PolicyDocument":{
"Statement":[
{
"Effect": "Allow",
"Resource": [{ "Fn::GetAtt" : ["LifecycleSQS", "Arn"] }],
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl",
"sns:Publish"
]
}
]
},
"Roles":[
{
"Ref":"InstanceRole"
}
]
}
},
"InstanceProfile":{
"Type":"AWS::IAM::InstanceProfile",
"Properties":{
"Path":"/",
"Roles":[
{
"Ref":"InstanceRole"
}
]
}
}
【问题讨论】:
标签: amazon-web-services amazon-iam amazon-cloudformation