

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

# IAM 정책 구조
<a name="iam-policy-structure"></a>

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

**Topics**
+ [정책 구문](#policy-syntax)
+ [에 대한 API 작업 AWS Batch](#UsingWithbatch_Actions)
+ [에 대한 Amazon 리소스 이름 AWS Batch](#batch_ARN_Format)
+ [사용자에게 필요한 권한이 있는지 확인](#check-required-permissions)

## 정책 구문
<a name="policy-syntax"></a>

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

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

명령문을 구성하는 네 가지 기본 요소가 있습니다.
+ **효과(Effect)**: *효과(effect)*는 `Allow` 또는 `Deny`일 수 있습니다. 기본적으로 사용자에게는 리소스 및 API 작업을 사용할 권한이 없으므로 모든 요청이 거부됩니다. 따라서 모든 요청을 거부합니다. 명시적 허용은 기본 설정을 무시합니다. 명시적 거부는 모든 허용을 무시합니다.
+ **작업**: *작업(action)*은 권한을 부여하거나 거부할 특정 API 작업입니다. *작업(action)*을 지정하는 방법에 대한 지침은 [에 대한 API 작업 AWS Batch](#UsingWithbatch_Actions) 섹션을 참조하세요.
+ **리소스**: 작업의 영향을 받는 리소스입니다. 일부 AWS Batch API 작업의 경우 작업이 생성하거나 수정할 수 있는 리소스를 정책에 구체적으로 포함할 수 있습니다. 설명문에서 리소스를 지정하려면 Amazon 리소스 이름(ARN)을 사용합니다. 자세한 내용은 [AWS Batch API 작업에 지원되는 리소스 수준 권한](batch-supported-iam-actions-resources.md) 및 [에 대한 Amazon 리소스 이름 AWS Batch](#batch_ARN_Format) 섹션을 참조하세요. AWS Batch API 작업이 현재 리소스 수준 권한을 지원하지 않는 경우 와일드카드(\$1)를 포함하여 모든 리소스가 작업의 영향을 받을 수 있도록 지정합니다.
+ **조건(Condition)**: 조건(Condition)은 선택 사항입니다. 정책이 적용되는 시점을 제어하는 데 사용할 수 있습니다.

에 대한 예제 IAM 정책 설명에 대한 자세한 내용은 섹션을 AWS Batch참조하세요[리소스:에 대한 정책 예 AWS Batch](ExamplePolicies_BATCH.md).

## 에 대한 API 작업 AWS Batch
<a name="UsingWithbatch_Actions"></a>

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

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

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

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

```
"Action": "batch:Describe*"
```

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

```
"Action": "batch:*"
```

 AWS Batch 작업 목록은 *AWS Batch API* 참조의 [작업을](https://docs.aws.amazon.com/batch/latest/APIReference/API_Operations.html) 참조하세요.

## 에 대한 Amazon 리소스 이름 AWS Batch
<a name="batch_ARN_Format"></a>

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

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

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

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

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

*account*  
하이픈이 없는 AWS 계정 ID입니다(예: `123456789012`).

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

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

AWS Batch API 작업은 현재 여러 API 작업에 대한 리소스 수준 권한을 지원합니다. 자세한 내용은 [AWS Batch API 작업에 지원되는 리소스 수준 권한](batch-supported-iam-actions-resources.md) 단원을 참조하십시오. 모든 리소스를 지정해야 하거나 특정 API 작업이 ARN을 지원하지 않는 경우 다음과 같이 `Resource` 요소에 와일드카드(\$1)를 포함합니다.

```
"Resource": "*"
```

## 사용자에게 필요한 권한이 있는지 확인
<a name="check-required-permissions"></a>

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

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

**참고**  
[IAM 정책 시뮬레이터](https://policysim.aws.amazon.com/home/index.jsp?#)로도 정책을 테스트할 수 있습니다. 정책 시뮬레이터에 대한 자세한 내용은 *IAM 사용 설명서*의 [IAM 정책 시뮬레이터 작업](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_testing-policies.html) 섹션을 참조하세요.

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

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

요청 시 권한 부여 확인에 실패하면 진단 정보가 포함된 인코딩 메시지가 반환됩니다. `DecodeAuthorizationMessage` 작업을 사용하여 메시지를 디코딩할 수 있습니다. 자세한 내용은 *AWS Security Token Service API 레퍼런스*의 [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)와 *AWS CLI 명령 참조*의 [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html)를 참조하세요.