

# Amazon API Gateway에 대한 액세스 정책 언어 개요
<a name="apigateway-control-access-policy-language-overview"></a>

이 페이지에서는 Amazon API Gateway 리소스 정책에 사용되는 기본 요소를 설명합니다.

IAM 정책과 동일한 구문을 사용하여 리소스 정책이 지정됩니다. 전체 정책 언어에 대한 정보는 **IAM 사용 설명서의 [IAM 정책 개요](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) 및 [AWS Identity and Access Management 정책 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)를 참조하세요.

AWS 서비스가 어떻게 해당 요청의 허용 또는 거부 여부를 결정하는지에 대한 자세한 내용은 [요청의 허용 또는 거부 결정](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow) 단원을 참조하세요.

## 액세스 정책의 공통 요소
<a name="apigateway-common-elements-in-an-access-policy"></a>

가장 기본적인 경우, 리소스 정책에는 다음 요소가 포함되어 있습니다.
+ **리소스** – API는 권한을 허용 또는 거부할 수 있는 Amazon API Gateway 리소스입니다. 정책에서는 Amazon 리소스 이름(ARN)을 사용하여 리소스를 식별해야 합니다. 리소스 정책을 저장할 때 API Gateway가 전체 ARN으로 자동으로 확장하는 약식 구문을 사용할 수도 있습니다. 자세한 내용은 [API Gateway 리소스 정책 예제](apigateway-resource-policies-examples.md) 단원을 참조하세요.

  전체 `Resource` 요소의 형식은 [API Gateway의 API 실행 권한 리소스 형식](api-gateway-control-access-using-iam-policies-to-invoke-api.md#api-gateway-iam-policy-resource-format-for-executing-api) 단원을 참조하세요.
+ **작업** - 각 리소스에 대해 Amazon API Gateway는 작업의 집합을 지원합니다. 작업 키워드를 사용하여 허용(또는 거부)할 리소스 작업을 식별합니다.

  예를 들어 `execute-api:Invoke` 권한은 사용자가 클라이언트 요청 시 API를 호출할 수 있도록 허용합니다.

  `Action` 요소의 형식은 [API Gateway의 API 실행 권한 작업 형식](api-gateway-control-access-using-iam-policies-to-invoke-api.md#api-gateway-iam-policy-action-format-for-executing-api) 단원을 참조하세요.
+ **효과** - 사용자가 특정 작업을 요청하는 경우의 효과입니다. 이는 `Allow` 또는 `Deny` 중에 하나가 될 수 있습니다. 다른 정책에서 액세스 권한을 부여하는 경우라도 사용자가 해당 리소스에 액세스할 수 없도록 하기 위해 리소스에 대한 권한을 명시적으로 거부할 수도 있습니다.
**참고**  
"암시적 거부"는 "기본 거부"와 동일합니다.  
“암시적 거부”는 “명시적 거부”와 다릅니다. 자세한 내용은 [기본 거부와 명시적 거부의 차이](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#AccessPolicyLanguage_Interplay) 단원을 참조하세요.
+ **보안 주체** - 문에서의 작업 및 리소스에 액세스할 수 있는 계정 또는 사용자입니다. 리소스 정책에서 보안 주체는 이 권한을 수신하는 사용자나 계정입니다.

다음의 리소스 정책 예시는 이전의 공통 정책 요소를 나타냅니다. 이 정책은 소스 IP 주소가 *123.4.5.6/24* 주소 블록에 속하는 사용자에게 지정된 *region*의 지정된 *account-id*에서 API에 대한 액세스 권한을 부여합니다. 이 정책은 사용자의 소스 IP가 해당 범위 내에 있지 않으면 API에 대한 모든 액세스를 거부합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-1:111111111111:*"
        },
        {
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-1:111111111111:*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "123.4.5.6/24"
                }
            }
        }
    ]
}
```

------