Amazon API Gateway에 대한 액세스 정책 언어 개요 - Amazon API Gateway

Amazon API Gateway에 대한 액세스 정책 언어 개요

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

IAM 정책과 동일한 구문을 사용하여 리소스 정책이 지정됩니다. 전체 정책 언어에 대한 정보는 IAM 사용 설명서의 IAM 정책 개요AWS Identity and Access Management 정책 참조를 참조하세요.

AWS 서비스가 어떻게 해당 요청의 허용 또는 거부 여부를 결정하는지에 대한 자세한 내용은 요청의 허용 또는 거부 결정 단원을 참조하세요.

액세스 정책의 공통 요소

가장 기본적인 경우, 리소스 정책에는 다음 요소가 포함되어 있습니다.

  • 리소스 – API는 권한을 허용 또는 거부할 수 있는 Amazon API Gateway 리소스입니다. 정책에서는 Amazon 리소스 이름(ARN)을 사용하여 리소스를 식별해야 합니다. 리소스 정책을 저장할 때 API Gateway가 전체 ARN으로 자동으로 확장하는 약식 구문을 사용할 수도 있습니다. 자세한 내용은 API Gateway 리소스 정책 예제을 참조하십시오.

    전체 Resource 요소의 형식은 API Gateway의 API 실행 권한 리소스 형식 단원을 참조하세요.

  • 작업 - 각 리소스에 대해 Amazon API Gateway는 작업의 집합을 지원합니다. 작업 키워드를 사용하여 허용(또는 거부)할 리소스 작업을 식별합니다.

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

    Action 요소의 형식은 API Gateway의 API 실행 권한 작업 형식 단원을 참조하세요.

  • 효과 - 사용자가 특정 작업을 요청하는 경우의 효과입니다. 이는 Allow 또는 Deny 중에 하나가 될 수 있습니다. 다른 정책에서 액세스 권한을 부여하는 경우라도 사용자가 해당 리소스에 액세스할 수 없도록 하기 위해 리소스에 대한 권한을 명시적으로 거부할 수도 있습니다.

    참고

    "암시적 거부"는 "기본 거부"와 동일합니다.

    “암시적 거부”는 “명시적 거부”와 다릅니다. 자세한 내용은 기본 거부와 명시적 거부의 차이 단원을 참조하세요.

  • 보안 주체 - 문에서의 작업 및 리소스에 액세스할 수 있는 계정 또는 사용자입니다. 리소스 정책에서 보안 주체는 이 권한을 수신하는 사용자나 계정입니다.

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*" }, { "Effect": "Deny", "Principal": "*", "Action": "execute-api:Invoke", "Resource": "arn:aws:execute-api:region:account-id:*", "Condition": { "NotIpAddress": { "aws:SourceIp": "123.4.5.6/24" } } } ] }