我正在尝试使用 yaml 语言在 AWS Cloud Formation 中创建具有特定策略的角色,不幸的是我偶然发现了一个错误并且不知道如何修复它,无法通过更新堆栈来创建该角色。
[1]:/image/DTLBo.png这是我收到的错误。
我创建角色的代码是这样的:
PublicEC2Role:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- ec2.amazonaws.com
Action:
-'sts:AssumeRole'
Description: 'PublicEC2Role'
ManagedPolicyArns:
- arn:aws:iam::aws:policy/AmazonS3FullAccess
RoleName: 'PublicEC2Role'
Tags:
- Key: Name
Value: PublicEC2Role
如果有人知道如何创建这个特定角色,请告诉我。
最佳答案
这是 YAML 的解析问题。
-'sts:AssumeRole'
由于连字符和单引号之间没有空格,YAML 会以您不希望的方式处理它,并且 CloudFormation 不会将其视为有效的 IAM 操作 (sts:AssumeRole
).
如果你将其更改为 - sts:AssumeRole
我认为它会起作用。
关于amazon-web-services - 使用特定策略创建 Amazon EC2 角色但不断收到错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70907240/