정책 구조 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

정책 구조

다음 항목에서는 IAM 정책의 구조에 대해 설명합니다.

정책 구문

IAM 정책은 하나 이상의 문으로 구성된 JSON 문서입니다. 각 명령문의 구조는 다음과 같습니다.

{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition":{ "key":"value" } } } ] }

명령문을 이루는 요소는 다양합니다.

  • 효과(Effect): 효과(effect)Allow 또는 Deny일 수 있습니다. 기본적으로 사용자에게는 리소스 및 API 작업을 사용할 권한이 없으므로 모든 요청이 거부됩니다. 따라서 모든 요청을 거부합니다. 명시적 허용은 기본 설정을 무시합니다. 명시적 거부는 모든 허용을 무시합니다.

  • 작업: 작업(action)은 권한을 부여하거나 거부할 특정 API 작업입니다. 작업(action)을 지정하는 방법에 대한 지침은 AWS Batch 작업 섹션을 참조하세요.

  • 리소스: 작업의 영향을 받는 리소스입니다. 일부 AWS Batch API 작업의 경우 작업이 생성하거나 수정할 수 있는 리소스를 정책에 구체적으로 포함할 수 있습니다. 설명문에서 리소스를 지정하려면 Amazon 리소스 이름(ARN)을 사용합니다. 자세한 정보는 AWS Batch API 작업에 지원되는 리소스 수준 권한AWS Batch의 Amazon 리소스 이름 섹션을 참조하세요. AWS Batch API 작업이 현재 리소스 수준 권한을 지원하지 않는 경우 와일드카드(*)를 포함하여 모든 리소스에 작업이 적용될 수 있도록 지정해야 합니다.

  • 조건(Condition): 조건(Condition)은 선택 사항입니다. 정책이 적용되는 시점을 제어하는 데 사용할 수 있습니다.

AWS Batch용 예제 정책 명령문에 대한 자세한 내용은 AWS Batch IAM 정책 생성 섹션을 참조하세요.

AWS Batch 작업

IAM 정책 설명에는 IAM을 지원하는 모든 서비스의 모든 API 작업을 지정할 수 있습니다. AWS Batch의 경우, API 작업 이름과 함께 batch: 접두사(예: batch:SubmitJobbatch:CreateComputeEnvironment)를 사용합니다.

단일 문에서 여러 작업을 지정하려면 각 작업을 쉼표로 구분합니다.

"Action": ["batch:action1", "batch:action2"]

와일드카드(*)를 포함하여 여러 작업을 지정할 수도 있습니다. 예를 들어 이름이 ‘Describe’로 시작되는 모든 작업을 지정할 수 있습니다.

"Action": "batch:Describe*"

모든 AWS Batch API 작업을 지정하려면 와일드카드(*)를 포함합니다.

"Action": "batch:*"

AWS Batch 작업의 목록을 보려면 AWS Batch API 참조작업을 참조하세요.

AWS Batch의 Amazon 리소스 이름

각 IAM 정책 설명은 Amazon 리소스 이름(ARN)을 사용하여 지정한 리소스에 적용됩니다.

Amazon 리소스 이름(ARN)의 일반 구문은 다음과 같습니다.

arn:aws:[service]:[region]:[account]:resourceType/resourcePath
service

서비스(예: batch)입니다.

region

리소스의 AWS 리전(예: us-east-2)입니다.

account

AWS 계정 ID이며 하이픈은 제외합니다(예: 123456789012).

resourceType

리소스의 유형(예: compute-environment)입니다.

resourcePath

리소스를 식별하는 경로입니다. 경로에 와일드카드(*)를 사용할 수 있습니다.

AWS Batch API 작업은 현재 여러 API 작업에 대한 리소스 수준 권한을 지원합니다. 자세한 내용은 AWS Batch API 작업에 지원되는 리소스 수준 권한 섹션을 참조하세요. 모든 리소스를 지정해야 하거나 특정 API 작업이 ARN을 지원하지 않는 경우 다음과 같이 Resource 요소에 와일드카드(*)를 포함합니다.

"Resource": "*"

사용자에게 필수 권한이 있는지 확인

IAM 정책을 프로덕션에 적용하기 전에, 해당 정책이 사용자에게 필요한 특정 API 작업 및 리소스를 사용할 권한을 부여하는지 확인하는 것이 좋습니다.

먼저, 테스트용으로 사용자를 생성하고 정책을 테스트 사용자에게 연결합니다. 그런 다음 테스트 사용자 자격으로 요청을 수행합니다. 콘솔 또는 AWS CLI에서 테스트 요청을 수행할 수 있습니다.

참고

IAM 정책 시뮬레이터로도 정책을 테스트할 수 있습니다. 정책 시뮬레이터에 대한 자세한 내용은 IAM 사용 설명서IAM 정책 시뮬레이터 작업 섹션을 참조하세요.

정책이 사용자에게 예상한 권한을 부여하지 않거나 과도한 권한을 부여하는 경우, 필요에 따라 정책을 조정할 수 있습니다. 원하는 결과를 얻을 때까지 다시 테스트합니다.

중요

변경된 정책이 전파되어 효력을 발휘하려면 몇 분이 걸릴 수 있습니다. 따라서 정책을 업데이트한 경우 최소 5분간 기다린 후에 테스트하는 것이 좋습니다.

요청 시 권한 부여 확인에 실패하면 진단 정보가 포함된 인코딩 메시지가 반환됩니다. DecodeAuthorizationMessage 작업을 사용하여 메시지를 디코딩할 수 있습니다. 자세한 내용은 AWS Security Token Service API 참조DecodeAuthorizationMessageAWS CLI 명령 참조decode-authorization-message를 참조하세요.