승인 정책 (AuthzPolicy
)은 수신 트래픽의 소스와 해당 소스에 대해 허용되거나 제한된 작업을 지정하는 규칙을 정의합니다.
또한 승인 정책은 규칙이 적용되는 조건을 간략히 설명하고 트래픽을 허용, 거부 또는 추가로 평가하는 작업을 지정합니다.
승인 정책을 사용하면 애플리케이션 부하 분산기로 들어오는 트래픽에 대한 액세스 제어 검사를 설정할 수 있습니다. 이러한 검사를 통과하는 요청은 백엔드 서비스로 라우팅됩니다. 이러한 검사에 실패한 요청은 승인되지 않은 응답으로 종료됩니다.
이 페이지에서는 다음 애플리케이션 부하 분산기에 대한 승인 정책을 간략히 설명합니다.
- 전역 외부 애플리케이션 부하 분산기
리전 외부 애플리케이션 부하 분산기
리전 내부 애플리케이션 부하 분산기
- 리전 간 내부 애플리케이션 부하 분산기
Cloud Service Mesh로 배포된 서비스에 승인 정책을 사용하려면 Envoy로 서비스 보안 설정을 참고하세요.
승인 정책 규칙 구성요소
승인 정책은 여러 승인 정책 규칙으로 구성됩니다. 승인 정책 규칙은 트래픽이 부하 분산기를 통과할 수 있는지 여부를 결정하는 조건을 정의합니다.
승인 정책 규칙에는 다음 구성요소가 포함됩니다.
from
: 규칙에서 허용하는 클라이언트의 ID를 지정합니다. ID는 상호 TLS 연결의 클라이언트 인증서에서 파생될 수도 있고, 서비스 계정이나 보안 태그와 같이 클라이언트 VM과 연결된 주변 ID일 수도 있습니다.to
: 액세스할 수 있는 URL 또는 허용되는 HTTP 메서드와 같이 규칙에서 허용하는 작업을 지정합니다.when
: 요청에 적용해야 하는 작업에 대해 충족해야 하는 조건을 지정합니다. Common Expression Language(CEL) 표현식을 사용하여 조건을 정의할 수 있습니다.
승인 정책 작업
요청을 평가할 때 승인 정책은 요청에 적용할 작업을 지정합니다. 승인 정책 작업은 다음 값으로 구성됩니다.
ALLOW
: 요청이 승인 정책 내에서 정의된 규칙과 일치하는 경우 요청된 리소스에 대한 액세스 권한을 부여합니다. 요청이 승인 정책 내에서 정의된 규칙과 일치하지 않으면 승인 정책은 요청된 리소스에 대한 액세스를 차단합니다. 다른 정책에서 허용하더라도ALLOW
정책과 일치하지 않으면 요청이 거부됩니다.DENY
: 요청이DENY
정책 내에 지정된 규칙과 일치하는 경우 리소스에 대한 액세스를 차단합니다. 요청이 승인 정책 내에서 정의된 규칙과 일치하지 않으면 승인 정책은 요청된 리소스에 대한 액세스 권한을 부여합니다. 요청이DENY
정책과 일치하면 다른 정책에서 허용하더라도 요청이 거부됩니다.CUSTOM
: 복잡한 승인 결정을 위해 외부 승인 시스템과의 통합을 지원합니다.CUSTOM
작업은 승인 결정에 서비스 확장 프로그램 또는 IAP를 사용하는 정책에 사용됩니다.
승인 정책 평가 순서
단일 리소스에 여러 승인 정책이 연결된 경우 다음 순서대로 평가하여 요청이 허용 또는 거부되는지 여부를 결정합니다.
CUSTOM
작업이 있는 정책:CUSTOM
정책에서 요청을 거부하면 요청이 즉시 거부됩니다.DENY
또는ALLOW
정책이 구성되어 있더라도 평가되지 않습니다.DENY
작업이 있는 정책:DENY
정책이 요청과 일치하면 요청이 거부됩니다. 구성된ALLOW
정책이 있더라도 평가되지 않습니다.ALLOW
작업이 있는 정책:ALLOW
정책이 없거나ALLOW
정책이 요청과 일치하면 요청이 허용됩니다. 그러나 요청과 일치하는ALLOW
정책이 없으면 요청이 거부됩니다.
승인 결정 위임
승인 정책을 사용하여 표현할 수 없는 복잡한 승인 결정의 경우 승인 결정을 Identity-Aware Proxy (IAP)와 같은 맞춤 승인 제공업체에 위임하거나 서비스 확장 프로그램을 사용하여 빌드된 자체 승인 확장 프로그램을 만듭니다. 이는 IAP를 통해 온프레미스 승인 엔진 또는 서드 파티 ID 공급업체를 사용하려는 경우에 유용합니다.
IAP: 애플리케이션 부하 분산기 전달 규칙 뒤의 애플리케이션에 대한 액세스를 제어하도록 IAP를 구성합니다. IAP는 사용자 ID와 컨텍스트를 확인하여 액세스 권한을 결정합니다. 또한 Identity and Access Management (IAM) 서비스 계정 토큰을 인증하고 IAM 정책을 평가하여 애플리케이션 로드 밸런서에서 노출된 백엔드 버킷에 대한 액세스를 보호할 수 있습니다. 자세한 내용은 IAP 및 IAM에 승인 위임을 참고하세요.
다음과 같은 시나리오에서는 IAP 및 IAM에 인증을 위임할 수 있습니다.
- 권한 관리에 IAM 사용
- 컨텍스트 인식 액세스를 구현합니다.
- 대화형 인증이 필요한 웹 애플리케이션에는 브라우저 기반 인증을 사용하세요.
서비스 확장 프로그램: Google Cloud VM 인스턴스 또는 온프레미스에서 실행되는 맞춤 승인 엔진에 승인 결정을 위임합니다. 이를 통해 내장 정책에 포함되지 않은 복잡한 승인 정책을 유연하게 처리할 수 있습니다. 자세한 내용은 승인 확장 프로그램 구성을 참고하세요.
가격 책정
승인 정책은 프리뷰 기간 동안 요금이 청구되지 않습니다. 그러나 Google Cloud 부하 분산기를 사용할 때 네트워킹 요금이 발생합니다. 가격 정보는 가격 책정을 참고하세요.