Man*_*eja 24 amazon-web-services amazon-iam aws-lambda
我正在尝试在AWS中创建IAM角色,但在创建时我遇到了错误
"我们在处理您的请求时遇到以下错误:在添加角色权限时出现问题.将在未经许可的情况下创建角色.策略未能通过旧版解析"
{"Version": "2012-10-17", "Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Action": [
"sqs:SendMessage",
"sqs:GetQueueUrl"
],
"Effect": "Allow",
"Resource": "arn:aws:sqs:ap-northeast-1:SOME_ID_HERE:test-messages"
}]}
Run Code Online (Sandbox Code Playgroud)
rub*_*ful 28
我收到了这个错误,无法弄明白.一位同事和我倾盆而下,然后我们发现我没有留下替换变量Fn::Sub,例如
"Resource": "arn:aws:logs::${AWS::AccountId}:*
Run Code Online (Sandbox Code Playgroud)
会导致这个错误,当然应该是
"Resource": { "Fn::Sub": "arn:aws:logs::${AWS::AccountId}:*" }
Run Code Online (Sandbox Code Playgroud)
顺便说一句,根据我的经验,我同意上面的EJ Brennan,你不能在区域使用通配符,而是像我那样把它留空.
Joh*_*Mee 17
如果您正在使用,serverless您可以通过在资源前添加前缀来指示您想要变量替换!Sub:
Resource:
- !Sub arn:aws:dynamodb:*:${AWS::AccountId}:table/${self:provider.environment.DYNAMODB_TABLE}
Run Code Online (Sandbox Code Playgroud)
不需要插件(如果无服务器版本是最新的)。
asp*_*pak 11
如果 s3 失败,请确保您使用的是正确的 arn 格式:
正确的一个是 3 ::: arn:aws:s3:::AccountABucketName
"资源": "arn:aws:s3:::AccountAbucketName"
错误一 2 :: arn:aws:s3::AccountABucketName
"资源": "arn:aws:s3::AccountAbucketName"
计算s3和之间的冒号数AccountABucketName
小智 5
我今天发现了一个有趣的新错误状态:
如果:
Default参数的道具来提供帐户 ID0CFN 实际上会将参数作为整数读取(并将其强制转换为 9.3476294382E10) - 无论您是否拥有Type: String该参数,或用于!!str显式强制转换。
所以解决方案是手动向部署提供参数,而不是使用Default: "093476294382".
希望我能拯救别人一些时间。
我不认为你可以在 arn 上使用通配符,所以你可能需要这样的东西:
arn:aws:logs:us-east-1:*:*
,您可以在其中指定要使用的区域来代替 us-east-1。
更多信息请点击这里:
http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-cloudwatch-logs
| 归档时间: |
|
| 查看次数: |
15413 次 |
| 最近记录: |