IAM JSON 정책 요소: Action
IAM JSON 정책 요소: Action
Action 요소는 허용되거나 거부될 특정 동작을 설명해요. 문은 Action 또는 NotAction 요소를 반드시 포함해야 해요. 각 서비스는 그 서비스로 수행할 수 있는 작업을 설명하는 자체 동작 집합을 가져요.
출처: 문서
본문
Action 요소는 허용되거나 거부될 특정 동작 또는 동작들을 설명해요. 문은 Action이나 NotAction 요소를 반드시 포함해야 해요. 각 AWS 서비스는 그 서비스로 수행할 수 있는 작업을 설명하는 자체 동작 집합을 가져요. 예를 들어 Amazon S3의 동작 목록은 Amazon Simple Storage Service 사용자 가이드의 정책에서 권한 지정에서, Amazon EC2의 동작 목록은 Amazon EC2 API 레퍼런스에서, AWS Identity and Access Management의 동작 목록은 IAM API 레퍼런스에서 찾을 수 있어요. 다른 서비스의 동작 목록은 해당 서비스의 API 레퍼런스 문서를 참고하세요.
AWS는 정책 관리 워크플로우의 자동화를 간소화하기 위해 JSON 형식의 서비스 참조 정보도 제공해요. 서비스 참조 정보를 사용하면 기계가 읽을 수 있는 파일에서 AWS 서비스 전반의 사용 가능한 동작, 리소스, 조건 키에 접근할 수 있어요. 자세한 내용은 Service Authorization Reference의 프로그래밍 접근용 간소화된 AWS 서비스 정보를 참고하세요.
값은 서비스 네임스페이스를 동작 접두사(iam, ec2, sqs, sns, s3 등)로 지정하고, 그 뒤에 허용하거나 거부할 동작 이름을 붙여서 지정해요. 이름은 서비스가 지원하는 동작과 일치해야 해요. 접두사와 동작 이름은 대소문자를 구분하지 않아요. 예를 들어 iam:ListAccessKeys는 IAM:listaccesskeys와 같아요. 다음 예시는 여러 서비스의 Action 요소를 보여 줘요.
Amazon SQS 동작
"Action": "sqs:SendMessage"
Amazon EC2 동작
"Action": "ec2:StartInstances"
IAM 동작
"Action": "iam:ChangePassword"
Amazon S3 동작
"Action": "s3:GetObject"
Action 요소에 여러 값을 지정할 수 있어요.
"Action": [ "sqs:SendMessage", "sqs:ReceiveMessage", "ec2:StartInstances", "iam:ChangePassword", "s3:GetObject" ]
특정 AWS 제품이 제공하는 모든 동작에 접근 권한을 주려면 다중 문자 매칭 와일드카드(*)와 단일 문자 매칭 와일드카드(?)를 쓸 수 있어요. 예를 들어 다음 Action 요소는 모든 S3 동작에 적용돼요.
"Action": "s3:*"
동작 이름의 일부로 와일드카드(* 또는 ?)를 쓸 수도 있어요. 예를 들어 다음 Action 요소는 CreateAccessKey, DeleteAccessKey, ListAccessKeys, UpdateAccessKey를 포함해서 AccessKey 문자열이 들어간 모든 IAM 동작에 적용돼요.
"Action": "iam:*AccessKey*"
일부 서비스는 사용 가능한 동작을 제한할 수 있게 해 줘요. 예를 들어 Amazon SQS는 가능한 모든 Amazon SQS 동작의 하위 집합만 사용할 수 있게 해요. 이 경우 * 와일드카드는 큐에 대한 완전한 제어를 허용하지 않고, 공유한 동작의 하위 집합만 허용해요. 자세한 내용은 Amazon Simple Queue Service 개발자 가이드의 권한 이해를 참고하세요.