lon*_*ony 7 aws-cloudformation amazon-iam
我有以下角色.从内部我想使用另一个堆栈中的现有托管策略.
我怎么能这样做?
"TestRole": {
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Action": [
"sts:AssumeRole"
],
"Effect": "Allow",
"Principal": {
"Service": [
"lambda.amazonaws.com"
]
}
}
],
"Version": "2012-10-17"
},
"Path": "/lambda/",
"Policies": [
??????
]
},
"Type": "AWS::IAM::Role"
}
Run Code Online (Sandbox Code Playgroud)
小智 3
现在有一种受支持的方法可以做到这一点,即使用Imports/Exports。基本上,创建策略的堆栈具有包含策略名称(或 ARN,不确定在本例中需要哪个)的输出,并将其声明为具有区域唯一名称的导出。然后,其他堆栈可以使用导入功能使用它。
例如,如果以下堆栈(假设它名为 FooStack)创建托管策略,则它的输出中可以包含以下内容:
"Outputs" : {
"MyManagedPolicy" : {
"Value" : { "Ref" : "MyManagedPolicy" },
"Export" : { "Name" : {"Fn::Sub": "${AWS::StackName}-MyManagedPolicy" }}
}
}
Run Code Online (Sandbox Code Playgroud)
另一个堆栈可以使用它:
"Policies": [
{ "Fn::ImportValue" : "FooStack-MyManagedPolicy" }
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5131 次 |
| 最近记录: |