Amazon ECS 태스크 실행 IAM 역할(Task execution IAM role)
Amazon ECS 태스크 실행 IAM 역할(Task execution IAM role)
태스크 실행 IAM 역할은 Amazon ECS 컨테이너 에이전트가 AWS API를 호출할 때 사용하는 역할이에요. 이 역할을 통해 ECR에서 이미지를 가져오고, Secrets Manager/파라미터 스토어에서 시크릿을 읽고, 로그를 CloudWatch로 전송할 수 있어요.
출처: 문서
본문
태스크 실행 IAM 역할은 Amazon ECS 컨테이너 에이전트가 사용자를 대신해 AWS API를 호출하도록 허용하는 역할이에요. Fargate 태스크를 포함한 대부분의 태스크에서 필요해요.
태스크 실행 역할은 다음 작업을 수행할 수 있게 해줘요:
- Amazon ECR에서 컨테이너 이미지를 가져오기(
ecr:GetAuthorizationToken,ecr:BatchGetImage,ecr:GetDownloadUrlForLayer). - AWS Secrets Manager에서 시크릿 읽기(
secretsmanager:GetSecretValue). - AWS Systems Manager 파라미터 스토어에서 파라미터 읽기(
ssm:GetParameters). - 로그를 CloudWatch Logs로 전송(
logs:CreateLogStream,logs:PutLogEvents).
역할 생성 및 사용
태스크 실행 역할의 이름은 일반적으로 ecsTaskExecutionRole이에요. 태스크 정의의 executionRoleArn에 이 역할의 ARN을 지정해요.
태스크 실행 역할을 만들 때는 다음 신뢰 정책을 사용해 Amazon ECS 서비스가 이 역할을 맡을 수 있게 해요:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": { "Service": "ecs-tasks.amazonaws.com" },
"Action": "sts:AssumeRole"
}
]
}
태스크 실행 역할은 컨테이너 에이전트가 AWS 리소스에 접근할 수 있게 하는 중요한 역할이에요. 컨테이너 내부 애플리케이션이 AWS API를 호출해야 한다면 태스크 역할(task role)을 별도로 지정해요.