REST Resource: projects.locations.endpointPolicies

리소스: EndpointPolicy

EndpointPolicy는 특정 기준과 일치하는 엔드포인트에 원하는 구성을 적용하는 데 도움이 되는 리소스입니다. 예를 들어 이 리소스를 사용하여 포트 8080에서 제공하는 모든 엔드포인트에 '인증 구성'을 적용할 수 있습니다.

JSON 표현
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "type": enum (EndpointPolicyType),
  "authorizationPolicy": string,
  "endpointMatcher": {
    object (EndpointMatcher)
  },
  "trafficPortSelector": {
    object (TrafficPortSelector)
  },
  "description": string,
  "serverTlsPolicy": string,
  "clientTlsPolicy": string
}
필드
name

string

필수 항목. EndpointPolicy 리소스의 이름입니다. projects/{project}/locations/global/endpointPolicies/{endpointPolicy} 패턴과 일치합니다.

createTime

string (Timestamp format)

출력 전용입니다. 리소스가 생성된 타임스탬프입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 리소스가 업데이트된 타임스탬프입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

labels

map (key: string, value: string)

선택사항. EndpointPolicy 리소스와 연결된 라벨 태그 집합입니다.

"key": value 쌍 목록을 포함하는 객체입니다. 예: { "name": "wrench", "mass": "1.3kg", "count": "3" }

type

enum (EndpointPolicyType)

필수 항목. 엔드포인트 정책 유형입니다. 이는 주로 구성을 검증하는 데 사용됩니다.

authorizationPolicy

string

선택사항. 이 필드는 일치된 엔드포인트의 인바운드 트래픽에 승인 정책을 적용하는 AuthorizationPolicy 리소스의 URL을 지정합니다. 승인을 참조하세요. 이 필드를 지정하지 않으면 이 엔드포인트에 대한 승인이 사용 중지됩니다(authz 검사 안함).

endpointMatcher

object (EndpointMatcher)

필수 항목. 정책을 적용할 엔드포인트를 선택하는 일치자입니다.

trafficPortSelector

object (TrafficPortSelector)

선택사항. 일치된 엔드포인트의 포트 선택기입니다. 포트 선택기가 제공되지 않으면 일치된 구성이 모든 포트에 적용됩니다.

description

string

선택사항. 리소스에 대한 자유 텍스트 설명입니다. 최대 길이는 1,024자(영문 기준)입니다.

serverTlsPolicy

string

선택사항. ServerTlsPolicy 리소스를 참조하는 URL입니다. ServerTlsPolicy는 식별된 백엔드에서 인바운드 트래픽을 종료하기 위해 적용할 인증 정책을 결정하는 데 사용됩니다. 이 필드가 설정되지 않으면 이 엔드포인트에 대한 인증이 사용 중지(열림)됩니다.

clientTlsPolicy

string

선택사항. ClientTlsPolicy 리소스를 참조하는 URL입니다. ClientTlsPolicy를 설정하여 프록시에서 실제 엔드포인트로 전달되는 트래픽에 대한 인증을 지정할 수 있습니다. 구체적으로는 프록시에서 엔드포인트로 나가는 트래픽에 적용됩니다. 프록시가 컨트롤 플레인에 대한 엔드포인트로 자신을 식별하는 사이드카 모델에서 사이드카와 엔드포인트 간의 연결에 인증이 필요한 경우에 일반적으로 사용됩니다. 이 필드가 설정되지 않으면 인증이 사용 중지(열림)됩니다. EndpointPolicyType이 SIDECAR_PROXY인 경우에만 적용됩니다.

EndpointPolicyType

엔드포인트 정책 유형입니다.

열거형
ENDPOINT_POLICY_TYPE_UNSPECIFIED 기본값 사용하면 안 됩니다.
SIDECAR_PROXY 사이드카로 배포된 프록시를 나타냅니다.
GRPC_SERVER 프록시리스 gRPC 백엔드를 나타냅니다.

EndpointMatcher

정책을 적용할 엔드포인트를 선택하는 일치자의 정의입니다.

JSON 표현
{

  // Union field matcher_type can be only one of the following:
  "metadataLabelMatcher": {
    object (MetadataLabelMatcher)
  }
  // End of list of possible types for union field matcher_type.
}
필드
통합 필드 matcher_type. 이 엔드포인트 일치자에 사용되는 일치자의 유형을 지정합니다. matcher_type는 다음 중 하나여야 합니다.
metadataLabelMatcher

object (MetadataLabelMatcher)

일치자는 xDS 클라이언트에서 제공하는 노드 메타데이터를 기반으로 합니다.

MetadataLabelMatcher

xDS 클라이언트에서 제공하는 노드 메타데이터를 기반으로 하는 일치자입니다.

JSON 표현
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
필드
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

일치 수행 방법을 지정합니다.

지원되는 값은 다음과 같습니다. MATCH_ANY: 일치자에 지정된 라벨 중 하나 이상이 xDS 클라이언트에서 제공하는 메타데이터와 일치해야 합니다. MATCH_ALL: xDS 클라이언트가 제공하는 메타데이터에 여기에 지정된 모든 라벨이 포함되어야 합니다.

선택 항목은 가장 일치하는 항목을 기준으로 결정됩니다. 예를 들어 3개의 EndpointPolicy 리소스 P1, P2, P3이 있고 일치자가 P1은 MATCH_ANY <A:1, B:1>, P2는 MATCH_ALL <A:1,B:1>, P3은 MATCH_ALL <A:1,B:1,C:1>이라고 가정해 보겠습니다.

라벨이 <A:1>인 클라이언트가 연결되면 P1의 구성이 선택됩니다.

라벨이 <A:1,B:1>인 클라이언트가 연결되면 P2의 구성이 선택됩니다.

라벨이 <A:1,B:1,C:1>인 클라이언트가 연결되면 P3의 구성이 선택됩니다.

가장 일치하는 항목이 2개 이상인 경우(예: 선택기가 <A:1,D:1>인 구성 P4가 존재하고 라벨이 <A:1,B:1,D:1>인 클라이언트가 연결된 경우) 생성 시간이 더 빠른 항목을 선택합니다.

metadataLabels[]

object (MetadataLabels)

filterMatchCriteria에 따라 제공된 메타데이터의 라벨과 일치해야 하는 라벨 값 쌍의 목록입니다. 이 목록에는 최대 64개의 항목이 포함될 수 있습니다. 일치 기준이 MATCH_ANY인 경우 와일드 카드 일치(모든 클라이언트와 일치)를 지정하기 위해 목록이 비어 있을 수 있습니다.

MetadataLabelMatchCriteria

일치가 수행되는 방법의 논리를 정의하는 가능한 기준 값입니다.

열거형
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED 기본값 사용해서는 안 됩니다.
MATCH_ANY 일치자에 지정된 라벨 중 하나 이상이 xDS 클라이언트가 제공하는 메타데이터와 일치해야 합니다.
MATCH_ALL xDS 클라이언트가 제공하는 메타데이터에 여기에 지정된 모든 라벨이 포함되어야 합니다.

MetadataLabels

단일 라벨의 이름 쌍 값을 정의합니다.

JSON 표현
{
  "labelName": string,
  "labelValue": string
}
필드
labelName

string

필수 항목. xDS 노드 메타데이터에서 키로 표시되는 라벨 이름입니다.

labelValue

string

필수 항목. xDS 노드 메타데이터에서 위 키에 해당하는 값으로 표시되는 라벨 값입니다.

TrafficPortSelector

포트 기반 선택기의 사양입니다.

JSON 표현
{
  "ports": [
    string
  ]
}
필드
ports[]

string

선택사항. 포트 목록입니다. 포트 번호, 포트 범위(예: [80-90] 은 80 및 90을 포함하여 80에서 90 사이의 모든 포트를 지정함), 이름이 지정된 포트 또는 모든 포트를 지정하는 *일 수 있습니다. 목록이 비어 있으면 모든 포트가 선택됩니다.

메서드

create

특정 프로젝트와 위치에 새 EndpointPolicy를 만듭니다.

delete

단일 EndpointPolicy를 삭제합니다.

get

단일 EndpointPolicy의 세부정보를 가져옵니다.

list

특정 프로젝트와 위치의 EndpointPolicies를 나열합니다.

patch

단일 EndpointPolicy의 매개변수를 업데이트합니다.

setIamPolicy

지정된 리소스의 액세스 제어 정책을 설정합니다.

testIamPermissions

지정된 리소스에 대해 호출자가 보유한 권한을 반환합니다.