hug*_*nus 10 amazon-cloudformation amazon-iam
目前我有一个共享的 S3 存储桶,它具有对不同实例的特定关键路径(即文件夹)的特定访问权限。我已经能够使用我的新角色创建实例配置文件并测试限制访问该文件夹没有问题。
我的问题是,存在具有定义策略的现有通用角色,我还希望能够将其包含在每个堆栈的新角色中。
在 cloudformation 中,是否可以将在一个角色中定义的策略包含在另一个角色中,而无需在新角色中重新定义策略文档?
类似于以下内容:
"AppTierS3AccessRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [ "ec2.amazonaws.com" ]
},
"Action": [ "sts:AssumeRole" ]
}
]
},
"Path": "/",
"Policies": [ { "Ref": "existing-policy" } ]
}
},
Run Code Online (Sandbox Code Playgroud)
“现有政策”是这里的重要组成部分。我试图找到现有政策的 arn 来尝试参考它,但我有点卡住了。
Joh*_*rry 14
源代码:https : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html
该AWS::IAM::Role类型现在有一个ManagedPolicyArns字段,您可以设置此。您只需要获取 ARN(很容易从 IAM 控制台获取)并将其放置在该字段中。在下面的示例中,我创建了一个提供只读 ECR 访问的角色,以便我的映像可以从 ECR 中提取 docker 容器。
ecrRole:
Type: AWS::IAM::Role
Properties:
Path: "/"
ManagedPolicyArns:
- "arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly"
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
- sts:AssumeRole
Run Code Online (Sandbox Code Playgroud)
dia*_*0ne -1
不可以,目前您不能将一个角色嵌入到另一个角色中。我能想到的唯一选择是:
| 归档时间: |
|
| 查看次数: |
25126 次 |
| 最近记录: |