REST Resource: projects.locations.clientTlsPolicies

리소스: ClientTlsPolicy

ClientTlsPolicy는 클라이언트가 서비스 백엔드에 대한 연결을 인증하는 방법을 지정하는 리소스입니다. 이 리소스 자체는 백엔드 서비스 리소스에 연결되어 있지 않는 한 구성에 영향을 미치지 않습니다.

JSON 표현
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "sni": string,
  "clientCertificate": {
    object (CertificateProvider)
  },
  "serverValidationCa": [
    {
      object (ValidationCA)
    }
  ],
  "targets": [
    string
  ],
  "workloadContextSelectors": [
    {
      object (WorkloadContextSelector)
    }
  ],
  "subjectAltNames": [
    string
  ],
  "internalCaller": boolean
}
필드
name

string

필수 항목입니다. ClientTlsPolicy 리소스 이름입니다. projects/*/locations/{location}/clientTlsPolicies/{clientTlsPolicy} 패턴과 일치합니다.

description

string

선택사항입니다. 리소스에 대한 자유 텍스트 설명입니다.

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)

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

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

sni

string

선택사항입니다. TLS 핸드셰이크 중에 서버에 표시할 서버 이름 표시 문자열입니다. 예를 들면 'secure.example.com'입니다.

clientCertificate

object (CertificateProvider)

선택사항입니다. P2P 인증을 위해 클라이언트 ID(공개 및 비공개 키)를 프로비저닝하는 메커니즘을 정의합니다. 이 요소가 있으면 mTLS가 있음을 나타냅니다.

serverValidationCa[]

object (ValidationCA)

선택사항입니다. 서버 인증서 유효성을 검사하기 위해 인증 기관 인증서를 가져오는 메커니즘을 정의합니다. 비어 있으면 클라이언트에서 서버 인증서 유효성을 검사하지 않습니다.

targets[]

string

선택사항입니다. 이 정책에서 제공해야 하는 대상 목록을 정의합니다. 대상은 BackendService만 될 수 있으며 BackendService의 정규화된 이름(예: projects/xxx/backendServices/locations/global/xxx)이어야 합니다. 참고: ClientTlsPolicy와 참조된 BackendService는 같은 프로젝트에 있어야 합니다. Google 서비스 메시(GSM) 제품에만 사용됩니다.

workloadContextSelectors[]

object (WorkloadContextSelector)

선택사항입니다. 정책을 대상에 적용해야 하는 워크로드를 선택합니다. WorkloadContextSelector가 없는 정책은 충돌이 없는 경우 항상 대상에 적용되어야 합니다. WorkloadContextSelector가 여러 개 있는 경우 WorkloadContextSelector 중 하나라도 일치하면 정책이 모든 대상에 적용됩니다. 따라서 이러한 선택기를 OR 방식으로 결합할 수 있습니다.

같은 BackendService를 대상으로 하는 ClientTlsPolicy가 여러 개 있으면 유효한 ClientTlsPolicy 하나만 있어야 하며 우선순위는 다음과 같습니다. 1) workloadContextSelector가 있는 ClientTlsPolicy가 먼저 우선 적용됩니다. 2) workloadContextSelector가 일치하는 ClientTlsPolicy가 여러 개 있으면 가장 먼저 생성된 ClientTlsPolicy가 우선 적용됩니다. 3) 그런 다음 workloadSelector가 없는 ClientTlsPolicy가 우선 적용됩니다. 현재는 같은 backendService에 연결된 workloadSelector가 없는 ClientTlsPolicy가 여러 개 있을 수 없습니다.

참고: GSM 전용입니다.

subjectAltNames[]

string

선택사항입니다. 인증서에서 서버 ID를 확인하기 위한 대체 이름 목록입니다. 지정하면 클라이언트에서 서버 인증서 제목 대체 이름이 지정된 값 중 하나와 일치하는지 확인합니다. 지정되면 목록에서 BackendService.securitySettings.subjectAltNames[]에서 subjectAltNames 값을 재정의합니다. 도메인 이름은 일치검색(예: foo) 또는 서픽스 일치(예: foo* 또는 foo/*)일 수 있습니다.

internalCaller

boolean

선택사항입니다. 내부 컨트롤러를 식별하도록 설정된 플래그입니다. 이 플래그를 설정하면 다른 선택적 필드가 설정되지 않은 경우에도 호출자가 허용 목록에 추가된 서비스의 P4SA에 포함되어 있는지 검증하기 위해 P4SA 검사가 트리거됩니다.

WorkloadContextSelector

정책을 적용할 워크로드를 결정합니다.

JSON 표현
{
  "metadataSelectors": [
    {
      object (MetadataSelector)
    }
  ]
}
필드
metadataSelectors[]

object (MetadataSelector)

필수 항목입니다. 워크로드를 선택하는 데 사용되는 메타데이터 라벨 값 맵입니다. MetadataSelector가 여러 개 제공된 경우 정책을 이 워크로드에 적용하려면 모든 MetadataSelector가 일치해야 합니다. 따라서 이러한 선택기는 AND 방식으로 결합되어야 합니다.

MetadataSelector

이 메시지 유형은 나중에 맵을 사용하여 우선순위와 같은 추가 필드를 지원하는 것과는 달리 존재합니다.

JSON 표현
{
  "key": string,
  "value": string
}
필드
key

string

필수 항목입니다. 선택 중인 메타데이터 필드

value

string

필수 항목입니다. 비교할 이 메타데이터 필드의 값

방법

create

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

delete

단일 ClientTlsPolicy를 삭제합니다.

get

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

getIamPolicy

리소스의 액세스 제어 정책을 가져옵니다.

list

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

patch

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

setIamPolicy

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

testIamPermissions

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