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 handshake 時にサーバーに提示する Server Name Indication 文字列。例: 「secure.example.com」。

clientCertificate

object (CertificateProvider)

省略可。ピアツーピア認証用にクライアント ID(公開鍵と秘密鍵)をプロビジョニングするメカニズムを定義します。この存在が mTLS を決定します。

serverValidationCa[]

object (ValidationCA)

省略可。サーバー証明書を検証するための Certificate Authority 証明書を取得するメカニズムを定義します。空の場合、クライアントはサーバー証明書を検証しません。

targets[]

string

省略可。このポリシーが対象とすべきターゲットのリストを定義します。ターゲットは BackendService でなければならず、完全修飾名を指定する必要があります。例: projects/xxx/backendServices/locations/global/xxx 注: ClientTlsPolicy と参照される BackendServices は同じプロジェクト内に存在する必要があります。これは Google Service Mesh(GSM)プロダクトでのみ使用されます。

workloadContextSelectors[]

object (WorkloadContextSelector)

省略可。ポリシーをターゲットに適用するワークロードを選択します。WorkloadContextSelector のないポリシーは、競合がなければ、常にターゲットに適用されます。WorkloadContextSelector が複数ある場合、WorkloadContextSelector のいずれかが一致すると、すべてのターゲットにポリシーが適用されます。したがって、これらのセレクタは OR 方式で組み合わせることができます。

同じ BackendService を対象とする複数の ClientTlsPolicy がある場合、有効な ClientTlsPolicy は 1 つだけで、優先順位は次のとおりです。1)workloadContextSelectors を使用する ClientTlsPolicy が最初に優先されます。2)workloadContextSelector が一致する ClientTlsPolicy が複数ある場合は、最初に作成されたものが優先されます。3)次に、workloadSelector のない ClientTlsPolicy が優先されます。現時点では、workloadSelector がない複数の ClientTlsPolicy を同じ backendService にアタッチすることは許可されません。

注: 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

1 つの ClientTlsPolicy を削除します。

get

1 つの ClientTlsPolicy の詳細を取得します。

getIamPolicy

リソースのアクセス制御ポリシーを取得します。

list

指定されたプロジェクトとロケーションの ClientTlsPolicies を一覧で表示します。

patch

単一の ClientTlsPolicy のパラメータを更新します。

setIamPolicy

指定したリソースにアクセス制御ポリシーを設定します。

testIamPermissions

指定されたリソースに対して呼び出し元が持っている権限を返します。