amazon-web-services - Cloudformation 中的循环依赖 |身份管理资源

标签 amazon-web-services aws-cloudformation aws-ssm

我在我的 cloudformation 模板中不断遇到循环依赖错误。我相信要解决这个问题,需要将依赖项分离到不同的资源中,但就我而言,我只想将我正在创建的角色的 arn 添加到策略内。

以下是我想要添加到该角色的策略中的操作之一:

Resources:
  SSMHostMgmtRole:
     Type: AWS::IAM::Role
     Properties:
       AssumeRolePolicyDocument:
         Statement:
         - Action:
           - sts:AssumeRole
           Effect: Allow
           Principal:
             Service:
             - ssm.amazonaws.com
         Version: '2012-10-17'
       Path: "/"
       Policies:
       - PolicyDocument:
           - Action:
             - iam:PassRole
             Effect: Allow
             Resource: !GetAtt SSMHostMgmtRole.Arn
         PolicyName: !Sub ${AWS::StackName}-${AWS::Region}-Example
       RoleName: !Sub ${AWS::StackName}-${AWS::Region}-HostMgmtRole

有人可以帮我指出消除循环依赖并使模板正常工作的更改吗?

最佳答案

您需要通过手动创建 Arn 来打破循环依赖关系。替换:

Resource: !GetAtt SSMHostMgmtRole.Arn

Resource: !Sub arn:aws:iam::${AWS::AccountId}:role/${AWS::StackName}-${AWS::Region}-HostMgmtRole

关于amazon-web-services - Cloudformation 中的循环依赖 |身份管理资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70109620/

相关文章:

ruby - 追溯未知 Sidekiq 进程的来源

facebook - AWS Cognito、Lambda、DynamoDB 中的用户凭证

aws-cloudformation - CDK 中是否有编程方式来设置 Cfn 参数值?

amazon-web-services - AWS Cloudformation 在创建之前删除资源

amazon-web-services - 在自动缩放 AMI 启动中如何在新实例中复制我的私钥文件

amazon-web-services - Aws Ec2 初始启动时设备上没有剩余空间,我丢失了 pem key 文件,因此无法 ssh

amazon-web-services - AWS 云信息 :Template validation error Role and policy

amazon-web-services - 将 .config 文件传递​​给 AWS Elastic Beanstalk

amazon-web-services - 如何排查 AWS 目标组中的不健康状态代码

ubuntu - SSM 始终以 Ubuntu 用户身份登录?