amazon-web-services - 使用特定策略创建 Amazon EC2 角色但不断收到错误

标签 amazon-web-services amazon-s3 amazon-ec2 yaml aws-cloudformation

我正在尝试使用 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/

相关文章:

java - AWS Java API for Spot 自动出价最高价格和分配策略

python - 在 sorl-thumbnail 中调用 get_thumbnail 时,是什么导致了这种偶发的 IntegrityError ?

python - boto3 定价客户端的区域名称和位置之间的映射

python - boto3 list_role_policies 返回空数组,或者如何分离所有策略?

linux - 连续在 AWS EC2 linux AMI 上运行 perl 脚本

amazon-web-services - AWS CodePipeline 未将文件上传到 S3 存储桶

windows - 将文件复制到 AWS EC2 Windows 服务器上的 FTP 服务器失败并显示 "Unable to build data connection: The connection waiting time has expired"

amazon-ec2 - 如何从命令行终止所有 EC2 实例?

amazon-web-services - 如何让 AWS Lambda 停止执行?

java - 在 Java 中没有访问权限和 key 的 AWS S3 上传