作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是角色片段:
"InstanceRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Version" : "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Principal": {
"Service" : [ { "Fn::FindInMap": [ "Region2Principal", { "Ref": "AWS::Region" },"EC2Principal" ] } ] },
"Action" : [ "sts:AssumeRole" ]
}]
},
"Path": "/",
"Policies": [{
"PolicyName": {"Fn::Join" : ["",["AWS::StackName","InstanceApi"] ] },
"PolicyDocument": {
"Statement": [{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}]
}
}]
}
},
这是错误:为策略名称指定的值无效。它必须仅包含字母数字字符和/或以下内容:+=,.@_-
我输入的 AWS::StackName
值是 tmplt-stack
,生成的给出错误的策略名称是:tmplt-stack-InstanceApi- O7KF5OL0TA2Q
我不明白为什么cloudformation拒绝该名称,即使它只包含几个“-”字符,并且根据错误消息是允许的,其余的都是字母数字字符。
最佳答案
这是我在使用伪参数AWS::StackName
时犯的巨大错误,我没有用Ref
调用它
"InstanceRole": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Version" : "2012-10-17",
"Statement": [ {
"Effect": "Allow",
"Principal": {
"Service" : [ { "Fn::FindInMap": [ "Region2Principal", { "Ref": "AWS::Region" },"EC2Principal" ] } ] },
"Action" : [ "sts:AssumeRole" ]
}]
},
"Path": "/",
"Policies": [{
"PolicyName": {"Fn::Join" : ["",[{"Ref":"AWS::StackName"},"InstanceApi"] ] },
"PolicyDocument": {
"Statement": [{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}]
}
}]
}
},
关于json - 通过cloudformation创建IAM角色时policyName出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870776/
使用 terraform,有谁知道如何设置 预定义 ELB 的 SSL 安全策略,来自 aws_elastic_beanstalk_environment 资源? 我已经尝试了各种参数排列,从类似下面
我是一名优秀的程序员,十分优秀!