Amazon ECS 콘솔에 필요한 권한
Amazon ECS 콘솔에 필요한 권한
최소 권한(least privilege) 부여라는 모범 사례에 따라, AmazonECS_FullAccess 관리형 정책을 본인만의 사용자 지정 정책을 만들기 위한 템플릿으로 사용할 수 있어요. 그렇게 하면 특정 요구 사항에 따라 관리형 정책에서 권한을 빼거나 추가할 수 있습니다. 자세한 내용은 AWS Managed Policy Reference의 "AmazonECS_FullAccess"를 참고하세요.
출처: 문서
본문
최소 권한 부여라는 모범 사례에 따라, AmazonECS_FullAccess 관리형 정책을 본인만의 사용자 지정 정책을 만들기 위한 템플릿으로 사용할 수 있습니다. 그렇게 하면 특정 요구 사항에 따라 관리형 정책에서 권한을 빼거나 추가할 수 있어요.
IAM 역할 생성에 필요한 권한
다음 작업은 작업을 완료하기 위해 추가 권한이 필요합니다.
- 외부 인스턴스 등록 — 자세한 내용은 "Amazon ECS Anywhere IAM role" 참고.
- 태스크 정의 등록 — 자세한 내용은 "Amazon ECS task execution IAM role" 참고.
- 태스크 스케줄링에 사용할 EventBridge 규칙 생성 — 자세한 내용은 "Amazon ECS EventBridge IAM Role" 참고.
Amazon ECS 콘솔에서 사용하기 전에 IAM에서 역할을 만들어 이러한 권한을 추가할 수 있습니다. 역할을 만들지 않으면 Amazon ECS 콘솔이 대신 만듭니다.
외부 인스턴스를 클러스터에 등록하는 데 필요한 권한
클러스터에 외부 인스턴스를 등록하면서 새 외부 인스턴스(ecsExternalInstanceRole) 역할을 만들려면 추가 권한이 필요합니다. 필요한 추가 권한은 다음과 같습니다.
- iam — 주체가 IAM 역할과 연결된 정책을 생성·나열할 수 있게 합니다.
iam:AttachRolePolicy,iam:CreateRole,iam:CreateInstanceProfile,iam:AddRoleToInstanceProfile,iam:ListInstanceProfilesForRole,iam:GetRole
- ssm — 주체가 외부 인스턴스를 Systems Manager에 등록할 수 있게 합니다.
참고: 기존
ecsExternalInstanceRole을 선택하려면iam:GetRole과iam:PassRole권한이 있어야 합니다.
다음 정책은 필요한 권한을 포함하고, 액션을 ecsExternalInstanceRole 역할로 제한합니다.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:CreateRole",
"iam:CreateInstanceProfile",
"iam:AddRoleToInstanceProfile",
"iam:ListInstanceProfilesForRole",
"iam:GetRole"
],
"Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
},
{
"Effect": "Allow",
"Action": ["iam:PassRole","ssm:CreateActivation"],
"Resource": "arn:aws:iam::*:role/ecsExternalInstanceRole"
}
]
}
태스크 정의를 등록하는 데 필요한 권한
태스크 정의를 등록하면서 새 태스크 실행(ecsTaskExecutionRole) 역할을 만들려면 추가 권한이 필요합니다. 필요한 추가 권한은 다음과 같습니다.
- iam — 주체가 IAM 역할과 연결된 정책을 생성·나열할 수 있게 합니다.
iam:AttachRolePolicy,iam:CreateRole,iam:GetRole
참고: 기존
ecsTaskExecutionRole을 선택하려면iam:GetRole권한이 있어야 합니다.
다음 정책은 필요한 권한을 포함하고, 액션을 ecsTaskExecutionRole 역할로 제한합니다.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:CreateRole",
"iam:GetRole"
],
"Resource": "arn:aws:iam::*:role/ecsTaskExecutionRole"
}
]
}
Amazon Q Developer가 콘솔에서 추천을 제공하도록 하기 위한 권한
Amazon Q Developer가 Amazon ECS 콘솔에서 추천을 제공하려면 IAM 사용자 또는 역할에 올바른 IAM 권한을 활성화해야 합니다. codewhisperer:GenerateRecommendations 권한을 추가해야 합니다.
{
"Statement": [
{
"Sid": "AmazonQDeveloperPermissions",
"Effect": "Allow",
"Action": ["codewhisperer:GenerateRecommendations"],
"Resource": "*"
}
]
}
Amazon ECS 콘솔에서 인라인 채팅(inline chat)을 사용하려면 IAM 사용자 또는 역할에 올바른 IAM 권한을 활성화해야 합니다. q:SendMessage 권한을 추가해야 합니다.
{
"Statement": [
{
"Sid": "AmazonQDeveloperInlineChatPermissions",
"Effect": "Allow",
"Action": ["q:SendMessage"],
"Resource": "*"
}
]
}
스케줄링된 태스크용 EventBridge 규칙 생성에 필요한 권한
태스크를 스케줄링하면서 새 CloudWatch Events 역할(ecsEventsRole)을 만들려면 추가 권한이 필요합니다. 필요한 추가 권한은 다음과 같습니다.
- iam — 주체가 IAM 역할과 연결된 정책을 생성·나열하고, Amazon ECS가 역할을 다른 서비스에 전달(pass)해 역할을 맡게(assume) 할 수 있게 합니다.
참고: 기존
ecsEventsRole을 선택하려면iam:GetRole과iam:PassRole권한이 있어야 합니다.
다음 정책은 필요한 권한을 포함하고, 액션을 ecsEventsRole 역할로 제한합니다.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:CreateRole",
"iam:GetRole",
"iam:PassRole"
],
"Resource": "arn:aws:iam::*:role/ecsEventsRole"
}
]
}
서비스 배포를 보는 데 필요한 권한
최소 권한 부여라는 모범 사례를 따를 때, 콘솔에서 서비스 배포를 보려면 추가 권한을 추가해야 합니다. 다음 액션에 대한 접근이 필요합니다.
ListServiceDeployments,DescribeServiceDeployments,DescribeServiceRevisions
다음 리소스에 대한 접근이 필요합니다.
- Service, Service deployment, Service revision
다음 예제 정책은 필요한 권한을 포함하고 액션을 지정된 서비스로 제한합니다. account, cluster-name, service-name을 본인의 값으로 바꿔 주세요.
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:ListServiceDeployments",
"ecs:DescribeServiceDeployments",
"ecs:DescribeServiceRevisions"
],
"Resource": [
"arn:aws:ecs:us-east-1:123456789012:service/cluster-name/service-name",
"arn:aws:ecs:us-east-1:123456789012:service-deployment/cluster-name/service-name/*",
"arn:aws:ecs:us-east-1:123456789012:service-revision/cluster-name/service-name/*"
]
}
]
}
Container Insights에서 Amazon ECS 수명주기 이벤트를 보는 데 필요한 권한
수명주기 이벤트를 보려면 다음 권한이 필요합니다. 다음 권한을 역할에 인라인 정책으로 추가하세요. 자세한 내용은 "Adding and Removing IAM Policies"를 참고하세요.
events:DescribeRule,events:ListTargetsByRule,logs:DescribeLogGroups
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:DescribeRule",
"events:ListTargetsByRule",
"logs:DescribeLogGroups"
],
"Resource": "*"
}
]
}
Container Insights에서 Amazon ECS 수명주기 이벤트를 활성화하는 데 필요한 권한
수명주기 이벤트를 구성하려면 다음 권한이 필요합니다.
events:PutRule,events:PutTargets,logs:CreateLogGroup
{
"Version":"2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"events:PutRule",
"events:PutTargets",
"logs:CreateLogGroup"
],
"Resource": "*"
}
]
}
더 알아보기 (Learn more)
- Amazon ECS IAM 권한과 관리형 정책에 대한 자세한 내용은 AWS 공식 문서를 참고해 주세요.