Amazon ECS CloudWatch Events IAM 역할 - Amazon Elastic Container Service

Amazon ECS CloudWatch Events IAM 역할

CloudWatch Events 규칙 및 대상과 함께 Amazon ECS 예약된 태스크를 사용하기 전에 CloudWatch Events 서비스는 사용자를 대신하여 Amazon ECS 태스크를 실행할 수 있는 권한이 필요합니다. 이러한 권한은 CloudWatch Events IAM 역할(ecsEventsRole)에 의해 제공됩니다.

CloudWatch Events 역할은 예약된 태스크를 구성할 때 AWS Management Console에서 생성됩니다. 자세한 정보는 예약된 작업 섹션을 참조하세요.

AmazonEC2ContainerServiceEventsRole 정책은 아래 나와 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "*" ], "Condition": { "StringLike": { "iam:PassedToService": "ecs-tasks.amazonaws.com" } } } ] }

예약된 태스크에 태스크 실행 역할, 태스크 역할 또는 태스크 역할 재정의를 사용해야 하는 경우 각 태스크 실행 역할, 태스크 역할 또는 태스크 역할 재정의를 위한 iam:PassRole 권한을 CloudWatch Events IAM 역할에 추가해야 합니다. 태스크 실행 역할에 대한 자세한 정보는 Amazon ECS 태스크 실행 IAM 역할 섹션을 참조하세요.

참고

태스크 실행 역할 또는 태스크 역할 재정의의 전체 ARN을 지정합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }

다음 절차를 사용하여 계정에 CloudWatch Events IAM 역할이 이미 있는지 확인할 수 있습니다. 필요한 경우 직접 생성하세요.

IAM 콘솔에서 CloudWatch Events IAM 역할을 확인하는 방법

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할(Roles)을 선택합니다.

  3. 역할 목록에서 ecsEventsRole을 검색합니다. 역할이 없으면 다음 절차를 사용하여 역할을 생성합니다. 역할이 존재하지 않을 경우, 연결된 정책을 볼 역할을 선택합니다.

  4. 권한(Permissions) 탭에서 AmazonEC2ContainerServiceEventsRole 관리형 정책이 역할에 연결되었는지 확인합니다. 정책이 연결된 경우, Amazon ECS 태스크 실행 역할이 적절히 구성된 것입니다. 그렇지 않다면 아래의 하위 단계에 따라 정책을 연결합니다.

    1. 권한 추가(Add Permissions), 정책 연결(Attach policies)을 선택합니다.

    2. 연결에 사용할 수 있는 정책의 범위를 좁히려면 필터(Filter)AmazonEC2ContainerServiceEventsRole을 입력합니다.

    3. AmazonEC2ContainerServiceEventsRole 정책 왼쪽의 확인란을 선택하고 정책 연결(Attach policies)을 선택합니다.

  5. 신뢰 관계(Trust relationships)를 선택합니다.

  6. 신뢰 관계에 다음 정책이 포함되어 있는지 확인합니다. 신뢰 관계가 아래 정책과 일치하는 경우, 취소(Cancel)를 선택합니다. 신뢰 관계가 일치하지 않는 경우 신뢰 정책 편집(Edit trust policy)을 선택하고 정책을 정책 문서(Policy Document) 창에 복사하고 정책 업데이트(Update policy)를 선택합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

CloudWatch Events에 대한 IAM 역할을 생성하는 방법

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할(Roles), 역할 생성(Create role)을 선택합니다.

  3. 신뢰할 수 있는 엔터티 유형(Trusted entity type) 섹션에서 AWS 서비스, Elastic Container Service를 선택합니다.

  4. 사용 사례(Use case)에서 Elastic Container Service Task를 선택하고 다음(Next)을 선택합니다.

  5. 권한 정책 연결(Attach permissions policy) 섹션에서 다음을 수행합니다.

    1. AmazonEC2ContainerServiceEventsRole을 검색한 다음 정책을 선택합니다.

    2. 권한 경계 설정(Set permissions boundary)(선택 사항)에서 선택권한 경계 없이 역할 만들기(Create role without a permissions boundary)를 선택합니다.

    3. 다음(Next)을 선택합니다.

  6. 역할 세부 정보(Role details)에서 다음을 수행합니다.

    1. 역할 이름(Role name)ecsEventsRole을(를) 입력합니다.

    2. 태그 추가(Add tags)(선택 사항)에서 정책과 연결할 사용자 지정 태그를 지정합니다.

  7. 역할 생성(Create role)을 선택합니다.

  8. 역할 목록에서 ecsEventsRole을 검색한 후 방금 생성한 역할을 선택합니다.

  9. 권한(Permissions) 탭에서 권한 추가(Add Permissions), 정책 연결(Attach policies)을 선택합니다.

  10. 기존 신뢰 관계를 다음 텍스트로 교체합니다. 신뢰 정책 편집(Edit trust policy)을 선택하고 정책을 정책 문서(Policy Document) 창에 복사하고 정책 업데이트(Update policy)를 선택합니다.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

CloudWatch Events IAM 역할에 태스크 실행 역할에 대한 권한을 추가하는 방법

  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 정책(Policies)을 선택한 후 정책 생성(Create policy)을 선택합니다.

  3. JSON을 선택하고 다음 정책을 붙여 넣은 후 정책 검토(Review policy)를 선택합니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": [ "arn:aws:iam::<aws_account_id>:role/<ecsTaskExecutionRole_or_TaskRole_name>" ] } ] }
  4. 이름AmazonECSEventsTaskExecutionRole을 입력하고 필요한 경우 설명을 입력한 후 정책 생성을 선택합니다.

  5. 탐색 창에서 역할(Roles)을 선택합니다.

  6. 목록에서 ecsEventsRole을 검색한 후 해당 역할을 선택하여 연결된 정책을 확인합니다.

  7. 정책 연결(Attach policies)을 선택합니다.

  8. 정책 연결(Attach policies) 섹션에서 AmazonECSEventsTaskExecutionRole 정책을 선택한 후 정책 연결(Attach policies)을 선택합니다.