添加作为服务相关角色的 IAM 角色

Posted

技术标签:

【中文标题】添加作为服务相关角色的 IAM 角色【英文标题】:Add a IAM role that is service linked role 【发布时间】:2021-10-20 21:20:20 【问题描述】:

我正在尝试创建一个 CFN 来启动连接到 ECR 的 ECS 和顶部的负载均衡器。但是现在我得到了这个错误:

Resource handler returned message: "Invalid request provided: CreateService error: You cannot specify an IAM role for services that require a service linked role. (Service: AmazonECS; Status Code: 400; Error Code: InvalidParameterException; Request ID: b8a77e87-5715-4d43-b58f-a0843dbee15e; Proxy: null)" (RequestToken: c19a676b-893b-8369-a9b5-75c792c18bd0, HandlerErrorCode: InvalidRequest)

我在事件中失败的服务块是这个。

  service:
    Type: AWS::ECS::Service
    DependsOn: ALBListenerHttps
    Properties:
      Cluster: !Ref 'ECSCluster'
      DesiredCount: '1'
      LaunchType: FARGATE
      LoadBalancers:
      - ContainerName: !Sub $Environment-$Name
        ContainerPort: '3000'
        TargetGroupArn: !Ref 'ECSTG'
      Role: 'arn:aws:iam::My was id:role/aws-service-role/ecs.amazonaws.com/AWSServiceRoleForECS'
      TaskDefinition: !Ref 'taskdefinition'
      NetworkConfiguration:
        AwsvpcConfiguration:
          AssignPublicIp: 'ENABLED'
          Subnets: !Ref 'SubnetId'

【问题讨论】:

【参考方案1】:

如果您有NetworkConfiguration,则不能使用Role。所以删除你的Role。来自docs:

仅当您在服务中使用负载均衡器并且您的任务定义不使用 awsvpc 网络模式时,才允许使用此参数。

【讨论】:

我在启动服务并尝试启动我的容器时遇到问题。 “ResourceInitializationError:无法提取机密或注册表身份验证:拉取命令失败::信号:已杀死”您知道这是否是由于标准角色造成的吗?

以上是关于添加作为服务相关角色的 IAM 角色的主要内容,如果未能解决你的问题,请参考以下文章

AWS EKS 添加IAM用户角色

将 IAM 角色应用于 ECS 实例

Terraform GCP 将 IAM 角色分配给服务帐户

服务角色 arn:aws:iam::20011470201:role/deploy 无权执行以下操作:autoscaling:DescribeLifecycleHooks

aws相关文档

SQLServer 维护脚本分享(04)服务器角色和数据库角色相关操作