특정 Amazon EC2 리소스에 대한 IAM Identity의 액세스를 제한할 수 있습니까?

최종 업데이트 날짜: 2022-10-20

AWS Identity and Access Management(IAM) 사용자/그룹/역할에 대한 액세스를 동일한 계정의 특정 Amazon Elastic Compute Cloud(Amazon EC2) 리소스로 제한하고 싶습니다. 어떻게 해야 합니까?

해결 방법

Amazon EC2는 리소스 수준 권한 또는 조건을 부분적으로 지원합니다. 따라서 특정 Amazon EC2 작업에서는 충족해야 하는 조건이나 사용자가 사용할 수 있는 특정 리소스를 기반으로, 사용자가 이러한 작업을 할 수 있는 시점을 제어할 수 있습니다.

AWS 리전이 아닌 다른 기준으로 Amazon EC2 리소스에 대한 IAM 사용자 또는 사용자 그룹의 액세스를 격리하는 것은 대부분의 사용 사례에는 어울리지 않습니다. 동일한 계정의 리전 또는 임의 조건에 따라 리소스를 격리해야 하는 경우 리소스 수준 권한 및 조건을 지원하는 Amazon EC2 작업 목록을 검사하고 사용 사례가 지원되는지 확인합니다.

다음은 IAM Identity(사용자/그룹/역할)의 액세스를 버지니아 북부(us-east-1) 리전의 EC2 인스턴스 시작/중지/재부팅으로 제한하는 데 사용할 수 있는 정책 예시입니다. 인스턴스에는 태그 값이 "Bob"인 "소유자" 태그 키가 있어야 합니다. "ec2:Describe*"가 정책에 추가되어 EC2 인스턴스와 AWS 관리 EC2 콘솔에 있는 모든 관련 리소스를 설명할 권한을 부여합니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances",
        "ec2:RebootInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/Owner": "Bob"
        }
      }
    }
  ]
}

참고: "소유자", "Bob" 및 리소스 ARN을 본인 환경의 파라미터로 바꿉니다.

정책을 생성하면 IAM 사용자, 그룹 또는 역할에 정책을 연결할 수 있습니다.

사용 사례 태그 지정 및 모범 사례는 모범 사례를 참조하세요.