리소스: AuthorizationPolicy
AuthorizationPolicy는 서버가 수신 연결을 승인하는 방법을 지정하는 리소스입니다. 대상 HTTPS 프록시 또는 엔드포인트 구성 선택기 리소스에 연결되지 않았다면 이 리소스 자체가 구성을 변경하지는 않습니다.
JSON 표현 |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
필드 | |
---|---|
name |
필수 항목. AuthorizationPolicy 리소스의 이름입니다. |
description |
선택사항. 리소스에 대한 자유 텍스트 설명입니다. |
createTime |
출력 전용입니다. 리소스가 생성된 타임스탬프입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
updateTime |
출력 전용입니다. 리소스가 업데이트된 타임스탬프입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
labels |
선택사항. AuthorizationPolicy 리소스와 연결된 라벨 태그 집합입니다.
|
action |
필수 항목. 규칙 일치가 발견될 때 실행할 작업입니다. 가능한 값은 '허용' 또는 '거부'입니다. |
rules[] |
선택사항. 일치시킬 규칙 목록입니다. 'action' 필드에 지정된 작업이 실행되려면 규칙 중 하나 이상이 일치해야 합니다. 일치하는 소스와 대상이 있으면 규칙이 일치하는 것입니다. 비워 두면 |
작업
취할 조치를 정의하는 가능한 값입니다.
열거형 | |
---|---|
ACTION_UNSPECIFIED |
기본값 |
ALLOW |
액세스 권한을 부여합니다. |
DENY |
액세스 거부. 거부 규칙은 기본 '모두 거부' 대체를 제공하는 데 이외에는 사용하지 않는 것이 좋습니다. |
규칙
규칙 사양
JSON 표현 |
---|
{ "sources": [ { object ( |
필드 | |
---|---|
sources[] |
선택사항. 트래픽 소스의 속성 목록입니다. 모든 소스가 일치해야 합니다. 주 구성원 및 ipBlocks가 모두 일치하면 소스가 일치하는 것입니다. 설정하지 않으면 소스에 대한 규칙 검사 없이 'action' 필드에 지정된 작업이 적용됩니다. |
destinations[] |
선택사항. 트래픽 대상의 속성 목록입니다. 모든 대상이 일치해야 합니다. 요청이 지정된 호스트, 포트, 메서드, 헤더와 모두 일치하면 대상이 일치하는 것입니다. 설정하지 않으면 대상에 대한 규칙 검사 없이 'action' 필드에 지정된 작업이 적용됩니다. |
소스
트래픽 소스 속성의 사양
JSON 표현 |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
필드 | |
---|---|
principals[] |
선택사항. 승인 시 일치시킬 피어 ID 목록입니다. 하나 이상의 주 구성원이 일치해야 합니다. 각 피어는 일치검색, 프리픽스 일치(예: 'namespace/*'), 서픽스 일치(예: '*/service-account') 또는 존재 일치 '*'일 수 있습니다. 인증서 검증(ServerTlsPolicy 리소스로 구성됨) 없이 주 구성원 이름을 기반으로 하는 승인은 안전하지 않은 것으로 간주됩니다. |
ipBlocks[] |
선택사항. 소스 IP 주소를 기반으로 일치시킬 CIDR 범위의 목록입니다. IP 블록이 하나 이상 일치해야 합니다. 단일 IP(예: '1.2.3.4') 및 CIDR(예: '1.2.3.0/24')이 지원됩니다. 소스 IP만을 기반으로 승인하는 것은 피해야 합니다. 부하 분산기 또는 프록시의 IP 주소는 신뢰할 수 없는 것으로 간주해야 합니다. |
대상
트래픽 대상 속성의 사양
JSON 표현 |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
필드 | |
---|---|
hosts[] |
필수 항목. 일치시킬 호스트 이름의 목록입니다. http 요청의 ':authority' 헤더와 일치합니다. 호스트가 하나 이상 일치해야 합니다. 각 호스트는 일치검색, 프리픽스 일치(예: 'mydomain.*'), 서픽스 일치(예: '*.myorg.com') 또는 존재(모든) 일치 '*'일 수 있습니다. |
ports[] |
필수 항목. 일치시킬 대상 포트의 목록입니다. 포트가 하나 이상 일치해야 합니다. |
methods[] |
선택사항. 일치시킬 HTTP 메서드의 목록입니다. 일치하는 메서드가 하나 이상 있어야 합니다. gRPC 서비스에는 설정하면 안 됩니다. |
httpHeaderMatch |
선택사항. HTTP 헤더의 key:value 쌍과 일치시킵니다. 잠재적으로 고급 사용 사례를 위해 HTTP 헤더를 기반으로 유연한 일치를 제공합니다. 헤더가 하나 이상 일치해야 합니다. 요청이 신뢰할 수 있는 클라이언트나 프록시를 통해 도착한다는 확실한 보장이 없다면 헤더 일치를 사용하여 승인 결정을 내리지 마세요. |
HttpHeaderMatch
HTTP 헤더 일치 속성의 사양
JSON 표현 |
---|
{ "headerName": string, // Union field |
필드 | |
---|---|
headerName |
필수 항목. 일치시킬 HTTP 헤더의 이름입니다. HTTP 요청의 권한과 일치시키려면 헤더 이름이 ':authority'인 headerMatch를 사용합니다. 요청의 메서드를 일치시키려면 headerName ':method'를 사용합니다. |
통합 필드
|
|
regexMatch |
필수 항목. 헤더의 값이 regexMatch에 지정된 정규 표현식과 일치해야 합니다. 정규 표현식 문법은 en.cppreference.com/w/cpp/regex/ecmascript를 참고하세요. HTTP 요청에 지정된 포트와 일치시키려면 headerName이 Host로 설정된 headerMatch와 RFC2616 Host 헤더의 포트 지정자를 충족하는 정규 표현식을 사용하세요. |
메서드 |
|
---|---|
|
특정 프로젝트와 위치에 새 AuthorizationPolicy를 만듭니다. |
|
단일 AuthorizationPolicy를 삭제합니다. |
|
단일 AuthorizationPolicy의 세부정보를 가져옵니다. |
|
리소스의 액세스 제어 정책을 가져옵니다. |
|
특정 프로젝트와 위치의 AuthorizationPolicies를 나열합니다. |
|
단일 AuthorizationPolicy의 파라미터를 업데이트합니다. |
|
지정된 리소스의 액세스 제어 정책을 설정합니다. |
|
지정된 리소스에 대해 호출자가 보유한 권한을 반환합니다. |