- 리소스: AuthzPolicy
- 타겟
- LoadBalancingScheme
- AuthzRule
- From
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- To
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- 메서드
리소스: AuthzPolicy
AuthzPolicy
는 보안상의 목적으로 트래픽을 검사하도록 설계된 콜아웃 백엔드로 트래픽을 전달할 수 있는 리소스입니다.
JSON 표현 |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
필드 | |
---|---|
name |
필수 항목입니다. 식별자. |
createTime |
출력 전용입니다. 리소스가 생성된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
updateTime |
출력 전용입니다. 리소스가 업데이트된 타임스탬프입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
description |
선택사항입니다. 인간이 읽을 수 있는 리소스 설명입니다. |
labels |
선택사항입니다. 형식은 다음 요구사항을 준수해야 합니다.
|
target |
필수 항목입니다. 이 정책을 적용할 리소스 집합을 지정합니다. |
httpRules[] |
선택사항입니다. 수신 요청과 일치시킬 승인 HTTP 규칙 목록입니다. 정책 일치는 하나 이상의 HTTP 규칙이 요청과 일치하거나 정책에 HTTP 규칙이 지정되지 않은 경우에 발생합니다. 허용 또는 거부 작업에는 HTTP 규칙이 하나 이상 필요합니다. 규칙은 5개로 제한됩니다. |
action |
필수 항목입니다. 작업이 작업이 작업이 요청이 도착하면 정책이 다음 순서대로 평가됩니다.
|
customProvider |
선택사항입니다. 작업이 |
대상
이 정책을 적용할 대상 집합을 지정합니다.
JSON 표현 |
---|
{
"loadBalancingScheme": enum ( |
필드 | |
---|---|
loadBalancingScheme |
필수 항목입니다. 이 정책 및 확장 프로그램에서 참조하는 모든 게이트웨이와 전달 규칙은 동일한 부하 분산 스키마를 공유해야 합니다. 지원되는 값은 |
resources[] |
필수 항목입니다. 이 정책이 적용될 전달 규칙에 대한 참조 목록입니다. |
LoadBalancingScheme
AuthzPolicy
리소스에서 지원되는 부하 분산 스키마입니다. 유효한 값은 INTERNAL_MANAGED
및 EXTERNAL_MANAGED
입니다. 자세한 내용은 백엔드 서비스 개요를 참고하세요.
열거형 | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
기본값 사용하지 마세요. |
INTERNAL_MANAGED |
리전 내부 또는 리전 간 내부 애플리케이션 부하 분산에 사용됨을 나타냅니다. |
EXTERNAL_MANAGED |
전역 외부 또는 리전 외부 애플리케이션 부하 분산에 사용됨을 나타냅니다. |
INTERNAL_SELF_MANAGED |
Cloud Service Mesh에 사용됨을 나타냅니다. CSM GKE 컨트롤러 전용입니다. |
AuthzRule
수신 요청과 일치시킬 조건입니다.
JSON 표현 |
---|
{ "from": { object ( |
필드 | |
---|---|
from |
선택사항입니다. 요청 소스의 속성을 설명합니다. |
to |
선택사항입니다. 요청 대상의 속성을 설명합니다. |
when |
선택사항입니다. 작업에 대해 충족되어야 하는 조건을 설명하는 CEL 표현식입니다. CEL 표현식의 결과는 from 및 to와 AND 연산됩니다. 사용 가능한 속성 목록은 CEL 언어 참조를 참고하세요. |
From
요청의 소스 하나 이상에 관한 속성을 설명합니다.
JSON 표현 |
---|
{ "sources": [ { object ( |
필드 | |
---|---|
sources[] |
선택사항입니다. 요청 소스의 속성을 설명합니다. sources 또는 notSources 중 하나 이상을 지정해야 합니다. 소스는 1개로 제한됩니다. sources 또는 notSources의 ANY 소스가 요청과 일치하면 일치가 발생합니다. 단일 소스 내에서 일치는 필드 간 AND 시맨틱스와 단일 필드 내 OR 시맨틱스를 따릅니다. 즉, ANY 주 구성원이 일치하고 ANY ipBlocks가 일치하면 일치가 발생합니다. |
notSources[] |
선택사항입니다. 요청 소스의 부정된 속성을 설명합니다. 이 필드에 지정된 기준과 일치하지 않는 소스의 요청과 일치시킵니다. sources 또는 notSources 중 하나 이상을 지정해야 합니다. |
RequestSource
단일 소스의 속성을 설명합니다.
JSON 표현 |
---|
{ "principals": [ { object ( |
필드 | |
---|---|
principals[] |
선택사항입니다. 클라이언트 인증서에서 파생된 ID 목록입니다. 이 필드는 개발 중이며 현재는 사용하지 않는 것이 좋습니다. 5명의 주 구성원으로 제한됩니다. |
resources[] |
선택사항입니다. 요청의 소스 VM 리소스와 일치시킬 리소스 목록입니다. 리소스는 5개로 제한됩니다. |
StringMatch
문자열 값을 일치시키는 방법을 결정합니다.
JSON 표현 |
---|
{ "ignoreCase": boolean, // Union field |
필드 | |
---|---|
ignoreCase |
true이면 완전 일치/프리픽스/서픽스/포함 일치가 대소문자를 구분하지 않아야 함을 나타냅니다. 예를 들어 일치자 |
통합 필드
|
|
exact |
입력 문자열은 여기에 지정된 문자열과 정확하게 일치해야 합니다. 예:
|
prefix |
입력 문자열에는 여기에 지정된 프리픽스가 있어야 합니다. 참고: 빈 프리픽스는 허용되지 않습니다. 대신 정규식을 사용하세요. 예:
|
suffix |
입력 문자열에는 여기에 지정된 서픽스가 있어야 합니다. 참고: 빈 프리픽스는 허용되지 않습니다. 대신 정규식을 사용하세요. 예:
|
contains |
입력 문자열에는 여기에 지정된 하위 문자열이 있어야 합니다. 참고: 비어 있는 포함 일치는 허용되지 않습니다. 대신 정규식을 사용하세요. 예:
|
RequestResource
내부 애플리케이션 부하 분산기에 액세스하는 클라이언트 VM 리소스의 속성을 설명합니다.
JSON 표현 |
---|
{ "tagValueIdSet": { object ( |
필드 | |
---|---|
tagValueIdSet |
선택사항입니다. 요청의 소스 VM과 연결된 Resource Manager 태그 값과 일치시킬 리소스 태그 값 영구 ID 목록입니다. |
iamServiceAccount |
선택사항입니다. 요청을 전송하는 VM의 소스 서비스 계정과 일치시킬 IAM 서비스 계정입니다. |
TagValueIdSet
요청의 소스 VM과 연결된 Resource Manager 태그 값과 일치시킬 리소스 태그 값 영구 ID 집합을 설명합니다.
JSON 표현 |
---|
{ "ids": [ string ] } |
필드 | |
---|---|
ids[] |
필수 항목입니다. 요청의 소스 VM과 연결된 Resource Manager 태그 값과 일치시킬 리소스 태그 값 영구 ID 목록입니다. 일치는 AND 시맨틱스를 따르므로 모든 ID가 일치해야 합니다. 일치 항목은 5개로 제한됩니다. |
To
요청의 하나 이상의 대상의 속성을 설명합니다.
JSON 표현 |
---|
{ "operations": [ { object ( |
필드 | |
---|---|
operations[] |
선택사항입니다. 요청의 하나 이상의 대상의 속성을 설명합니다. operations 또는 notOperations 중 하나 이상을 지정해야 합니다. 작업은 1회로 제한됩니다. 일치는 operations 또는 notOperations의 ANY 작업이 일치할 때 발생합니다. 작업 내에서 일치는 필드 전반의 AND 시맨틱스와 필드 내의 OR 시맨틱스를 따릅니다. 즉, ANY 경로가 일치하고 ANY 헤더가 일치하고 ANY 메서드가 일치하면 일치가 발생합니다. |
notOperations[] |
선택사항입니다. 요청 대상의 부정된 속성을 설명합니다. 이 필드에 지정된 기준과 일치하지 않는 작업 요청을 일치시킵니다. operations 또는 notOperations 중 하나 이상을 지정해야 합니다. |
RequestOperation
요청의 하나 이상의 대상의 속성을 설명합니다.
JSON 표현 |
---|
{ "headerSet": { object ( |
필드 | |
---|---|
headerSet |
선택사항입니다. HTTP 헤더에서 일치시킬 헤더 목록입니다. |
hosts[] |
선택사항입니다. 일치시킬 HTTP 호스트의 목록입니다. 일치는 완전 일치, 프리픽스, 서픽스 또는 포함(하위 문자열 일치) 중 하나일 수 있습니다. ignoreCase가 설정되지 않는 한 일치는 항상 대소문자를 구분합니다. 일치 항목은 5개로 제한됩니다. |
paths[] |
선택사항입니다. 일치시킬 경로 목록입니다. 일치는 완전 일치, 프리픽스, 서픽스 또는 포함(하위 문자열 일치) 중 하나일 수 있습니다. ignoreCase가 설정되지 않는 한 일치는 항상 대소문자를 구분합니다. 일치 항목은 5개로 제한됩니다. 이 경로 일치에는 쿼리 파라미터가 포함됩니다. gRPC 서비스의 경우 /package.service/method 형식의 정규화된 이름이어야 합니다. |
methods[] |
선택사항입니다. 일치시킬 HTTP 메서드의 목록입니다. 각 항목은 유효한 HTTP 메서드 이름(GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS)이어야 합니다. 완전 일치만 허용되며 항상 대소문자를 구분합니다. |
HeaderSet
일치시킬 HTTP 헤더 집합을 설명합니다.
JSON 표현 |
---|
{
"headers": [
{
object ( |
필드 | |
---|---|
headers[] |
필수 항목입니다. HTTP 헤더에서 일치시킬 헤더 목록입니다. 일치는 완전 일치, 프리픽스, 서픽스 또는 포함(하위 문자열 일치) 중 하나일 수 있습니다. 일치는 AND 시맨틱스를 따르므로 모든 헤더가 일치해야 합니다. ignoreCase가 설정되지 않는 한 일치는 항상 대소문자를 구분합니다. 일치 항목은 5개로 제한됩니다. |
HeaderMatch
HTTP 헤더를 일치시키는 방법을 결정합니다.
JSON 표현 |
---|
{
"name": string,
"value": {
object ( |
필드 | |
---|---|
name |
선택사항입니다. 요청에서 헤더의 이름을 지정합니다. |
value |
선택사항입니다. 헤더 일치가 수행되는 방식을 지정합니다. |
AuthzAction
이 정책에 적용할 작업입니다. 유효한 값은 ALLOW
, DENY
, CUSTOM
입니다.
열거형 | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
지정되지 않은 작업입니다. |
ALLOW |
요청이 백엔드로 전달되도록 허용합니다. |
DENY |
요청을 거부하고 클라이언트에 HTTP 404를 반환합니다. |
CUSTOM |
승인 결정을 외부 승인 엔진에 위임합니다. |
CustomProvider
승인 결정을 Cloud IAP 또는 서비스 확장 프로그램에 위임할 수 있습니다.
JSON 표현 |
---|
{ "cloudIap": { object ( |
필드 | |
---|---|
cloudIap |
선택사항입니다. 승인 결정을 Cloud IAP에 위임합니다. 관리형 부하 분산기에만 적용됩니다. AuthzPolicy 수준에서 Cloud IAP를 사용 설정하면 BackendService의 Cloud IAP 설정과 호환되지 않습니다. 두 위치 모두에서 IAP를 사용 설정하면 요청이 실패합니다. IAP가 AuthzPolicy 또는 BackendService 중 하나에 사용 설정되어 있지만 둘 다에 사용 설정되어 있지 않은지 확인합니다. |
authzExtension |
선택사항입니다. 사용자 작성 서비스 확장 프로그램에 승인 결정을 위임합니다. cloudIap 또는 authzExtension 중 하나만 지정할 수 있습니다. |
CloudIap
이 유형에는 필드가 없습니다.
선택사항입니다. 승인 결정을 Cloud IAP에 위임합니다. 관리형 부하 분산기에만 적용됩니다. AuthzPolicy 수준에서 Cloud IAP를 사용 설정하면 BackendService의 Cloud IAP 설정과 호환되지 않습니다. 두 위치 모두에서 IAP를 사용 설정하면 요청이 실패합니다. IAP가 AuthzPolicy 또는 BackendService 중 하나에 사용 설정되어 있지만 둘 다에 사용 설정되어 있지 않은지 확인합니다.
AuthzExtension
선택사항입니다. 사용자 작성 확장 프로그램에 승인 결정을 위임합니다. cloudIap 또는 authzExtension 중 하나만 지정할 수 있습니다.
JSON 표현 |
---|
{ "resources": [ string ] } |
필드 | |
---|---|
resources[] |
필수 항목입니다. 이 정책과 일치하는 요청에 대해 호출될 승인 확장 프로그램에 대한 참조 목록입니다. 커스텀 제공업체는 1개로 제한됩니다. |
메서드 |
|
---|---|
|
특정 프로젝트와 위치에 새 AuthzPolicy를 만듭니다. |
|
단일 AuthzPolicy를 삭제합니다. |
|
단일 AuthzPolicy의 세부정보를 가져옵니다. |
|
특정 프로젝트와 위치의 AuthzPolicies를 나열합니다. |
|
단일 AuthzPolicy의 매개변수를 업데이트합니다. |