CloudFormation과 함께 사용하는 Amazon ECS 콘솔에 필요한 권한

CloudFormation과 함께 사용하는 Amazon ECS 콘솔에 필요한 권한

AWS Management Console을 사용해 리소스를 만들기 전에 올바른 IAM 권한이 있는지 확인해야 해요. Amazon ECS 콘솔용 권한을 일반적으로 설정하는 방법은 먼저 Permissions required for the Amazon ECS console 을 참고해 주세요.

출처: 문서

본문

AWS Management Console을 사용해 리소스를 만들기 전에 올바른 IAM 권한이 있는지 확인해야 해요. Amazon ECS 콘솔용 권한을 일반적으로 설정하는 방법은 먼저 Permissions required for the Amazon ECS console 을 참고해 주세요. Amazon ECS 콘솔은 AWS CloudFormation으로 구동되며 다음 경우에 추가 IAM 권한이 필요해요.

  • 클러스터 만들기
  • 서비스 만들기
  • 용량 제공자 만들기

추가 권한에 대한 정책을 만든 다음 콘솔에 액세스하는 데 사용하는 IAM 역할에 연결할 수 있어요. 자세한 내용은 IAM User Guide 의 Creating IAM policies 를 참고해 주세요.

클러스터 만들기에 필요한 권한 콘솔에서 클러스터를 만들 때 CloudFormation 스택을 관리할 수 있는 권한을 부여하는 추가 권한이 필요해요. 다음 추가 권한이 필요해요.

  • cloudformation – 보안 주체가 CloudFormation 스택을 만들고 관리할 수 있게 해 줘요. AWS Management Console을 사용해 Amazon ECS 클러스터를 만들고 이후에 해당 클러스터를 관리할 때 필요해요.
  • ssm – CloudFormation이 최신 Amazon ECS-optimized AMI를 참조할 수 있게 해 줘요. AWS Management Console을 사용해 Amazon ECS 클러스터를 만들 때 필요해요.

다음 정책에는 필요한 CloudFormation 권한이 포함되어 있으며, 액션이 Amazon ECS 콘솔에서 생성된 리소스로 제한돼요.

{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/Infra-ECS-Cluster-*"
            ]
      },
      {
          "Effect": "Allow",
          "Action": "ssm:GetParameters",
          "Resource": [
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2*/*",
            "arn:aws:ssm:*:*:parameter/aws/service/ecs/optimized-ami/amazon-linux-2023*/*"
          ]
      }
   ]
}

Amazon ECS 컨테이너 인스턴스 역할(ecsInstanceRole)을 아직 만들지 않았고 Amazon EC2 인스턴스를 사용하는 클러스터를 만든다면 콘솔이 대신 역할을 만들어요.

또한 Auto Scaling 그룹을 사용한다면 클러스터 자동 스케일링 기능을 사용할 때 콘솔이 자동 스케일링 그룹에 태그를 추가할 수 있도록 추가 권한이 필요해요. 다음 추가 권한이 필요해요.

  • autoscaling – 콘솔이 Amazon EC2 Auto Scaling 그룹에 태그를 지정할 수 있게 해 줘요. 클러스터 자동 스케일링 기능을 사용할 때 Amazon EC2 자동 스케일링 그룹을 관리할 때 필요해요. 태그는 콘솔이 그룹에 자동으로 추가해 이 그룹이 콘솔에서 생성되었음을 나타내는 ECS 관리형 태그예요.
  • iam – 보안 주체가 IAM 역할과 그 연결된 정책을 나열할 수 있게 해 줘요. 보안 주체는 Amazon EC2 인스턴스에 사용할 수 있는 인스턴스 프로파일도 나열할 수 있어요.

다음 정책에는 필요한 IAM 권한이 포함되어 있으며, 액션이 ecsInstanceRole 역할로 제한돼요. Auto Scaling 권한은 제한되지 않아요.

{
  "Statement": [
      {
          "Effect": "Allow",
            "Action": [
              "iam:AttachRolePolicy",
              "iam:CreateRole",
              "iam:CreateInstanceProfile",
              "iam:AddRoleToInstanceProfile",
              "iam:ListInstanceProfilesForRole",
              "iam:GetRole"
            ],
            "Resource": "arn:aws:iam::*:role/ecsInstanceRole"
        },
        {
            "Effect": "Allow",
            "Action": "autoscaling:CreateOrUpdateTags",
            "Resource": "*"
        }
    ]
}

서비스 만들기에 필요한 권한 콘솔에서 서비스를 만들 때 CloudFormation 스택을 관리할 수 있는 권한을 부여하는 추가 권한이 필요해요. 다음 추가 권한이 필요해요.

  • cloudformation – 보안 주체가 CloudFormation 스택을 만들고 관리할 수 있게 해 줘요. AWS Management Console을 사용해 Amazon ECS 서비스를 만들고 이후에 해당 서비스를 관리할 때 필요해요.

다음 정책에는 필요한 권한이 포함되어 있으며, 액션이 Amazon ECS 콘솔에서 생성된 리소스로 제한돼요.

{
  "Statement": [
      {
          "Effect": "Allow",
          "Action": [
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStack*",
                "cloudformation:UpdateStack"
             ],
            "Resource": [
                "arn:*:cloudformation:*:*:stack/ECS-Console-V2-Service-*"
            ]
      }
   ]
}

더 알아보기 (Learn more)