- リソース: EndpointPolicy
- EndpointPolicyType
- EndpointMatcher
- MetadataLabelMatcher
- MetadataLabelMatchCriteria
- MetadataLabels
- TrafficPortSelector
- メソッド
リソース: EndpointPolicy
EndpointPolicy は、特定の条件に一致するエンドポイントに必要な構成を適用するのに役立つリソースです。たとえば、このリソースを使用して、ポート 8080 でサービスを提供するすべてのエンドポイントに「認証構成」を適用できます。
JSON 表現 |
---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "type": enum ( |
フィールド | |
---|---|
name |
必須。EndpointPolicy リソースの名前。パターン |
createTime |
出力専用。リソース作成時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。リソース更新時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
labels |
省略可。EndpointPolicy リソースに関連付けられたラベルタグのセット。
|
type |
必須。エンドポイント ポリシーのタイプ。これは主に構成の検証に使用されます。 |
authorizationPolicy |
省略可。このフィールドには、一致したエンドポイントの受信トラフィックに認可ポリシーを適用する AuthorizationPolicy リソースの URL を指定します。「認可」を参照してください。このフィールドが指定されていない場合、このエンドポイントの認可が無効になります(認可チェックなし)。 |
endpointMatcher |
必須。ポリシーを適用するエンドポイントを選択するマッチャー。 |
trafficPortSelector |
省略可。(一致した)エンドポイントのポートセレクタ。ポートセレクタが指定されていない場合、一致した構成がすべてのポートに適用されます。 |
description |
省略可。リソースのフリーテキストの説明。最大長は 1,024 文字です。 |
serverTlsPolicy |
省略可。ServerTlsPolicy リソースを参照する URL。ServerTlsPolicy は、特定されたバックエンドで受信トラフィックを終了するために適用される認証ポリシーを決定するために使用されます。このフィールドが設定されていない場合、このエンドポイントの認証は無効になります(オープン)。 |
clientTlsPolicy |
省略可。ClientTlsPolicy リソースを参照する URL。ClientTlsPolicy を設定すると、プロキシから実際のエンドポイントへのトラフィックの認証を指定できます。具体的には、プロキシからエンドポイントへの送信トラフィックに適用されます。これは通常、プロキシがコントロール プレーンへのエンドポイントとして自身を識別し、サイドカーとエンドポイントの間の接続で認証が必要なサイドカー モデルに使用されます。このフィールドが設定されていない場合、認証は無効になります(オープン)。EndpointPolicyType が SIDECAR_PROXY の場合にのみ適用されます。 |
EndpointPolicyType
エンドポイント ポリシーのタイプ。
列挙型 | |
---|---|
ENDPOINT_POLICY_TYPE_UNSPECIFIED |
デフォルト値。使用しないでください。 |
SIDECAR_PROXY |
サイドカーとしてデプロイされたプロキシを表します。 |
GRPC_SERVER |
プロキシレス gRPC バックエンドを表します。 |
EndpointMatcher
ポリシーを適用する必要があるエンドポイントを選択するマッチャーの定義。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド matcher_type 。このエンドポイント マッチャーに使用するマッチャーのタイプを指定します。matcher_type は次のいずれかになります。 |
|
metadataLabelMatcher |
マッチャーは、xDS クライアントによって提示されたノード メタデータに基づいています。 |
MetadataLabelMatcher
マッチャーは、xDS クライアントによって提示されたノード メタデータに基づいています。
JSON 表現 |
---|
{ "metadataLabelMatchCriteria": enum ( |
フィールド | |
---|---|
metadataLabelMatchCriteria |
マッチング方法を指定します。 サポートされている値は、MATCH_ANY です。マッチャーで指定されたラベルの少なくとも 1 つが、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 の構成が選択されます。 最も一致するものが複数ある場合(たとえば、セレクタ <A:1,D:1> がある構成 P4 が存在し、ラベルが <A:1,B:1,D:1> のクライアントが接続する場合など)、作成時間が古いほうが選択されます。 |
metadataLabels[] |
filterMatchCriteria に基づいて指定されたメタデータのラベルと一致する必要があるラベル値ペアのリスト。このリストには最大 64 個のエントリを含めることができます。一致条件が MATCH_ANY の場合は、このリストを空にしてワイルドカード一致を指定できます(つまり、任意のクライアントに一致します)。 |
MetadataLabelMatchCriteria
マッチング方法のロジックを定義する条件値。
列挙型 | |
---|---|
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED |
デフォルト値。これは使用しないでください。 |
MATCH_ANY |
マッチャーで指定されたラベルの少なくとも 1 つが、xDS クライアントによって提示されたメタデータと一致している必要があります。 |
MATCH_ALL |
xDS クライアントによって提示されたメタデータには、ここで指定されたすべてのラベルが含まれている必要があります。 |
MetadataLabels
単一のラベルの名前ペアの値を定義します。
JSON 表現 |
---|
{ "labelName": string, "labelValue": string } |
フィールド | |
---|---|
labelName |
必須。xDS ノード メタデータでキーとして提示されるラベル名。 |
labelValue |
必須。xDS ノード メタデータで、上記のキーに対応する値として提示されるラベル値。 |
TrafficPortSelector
ポートベースのセレクタの仕様。
JSON 表現 |
---|
{ "ports": [ string ] } |
フィールド | |
---|---|
ports[] |
省略可。ポートのリスト。ポート番号またはポート範囲(例: [80-90] は 80~90 のすべてのポート(80 と 90 を含む)を指定します)、名前付きポート、またはすべてのポートを指定する *。リストが空の場合は、すべてのポートが選択されます。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションで新しい EndpointPolicy を作成します。 |
|
1 つの EndpointPolicy を削除します。 |
|
1 つの EndpointPolicy の詳細を取得します。 |
|
指定されたプロジェクトとロケーションでの EndpointPolicies を一覧で表示します。 |
|
単一の EndpointPolicy のパラメータを更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
呼び出し元が指定されたリソース上で持つ権限を返します。 |