リソース: AuthorizationPolicy
AuthorizationPolicy は、サーバーが受信接続を認可する方法を指定するリソースです。このリソース自体では、ターゲットの https プロキシまたはエンドポイント構成セレクタのリソースに接続されていない限り、構成は変更されません。
JSON 表現 |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
フィールド | |
---|---|
name |
必須。AuthorizationPolicy リソースの名前。パターン |
description |
省略可。リソースの説明(フリーテキスト)。 |
createTime |
出力専用。リソース作成時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。リソース最終更新時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
labels |
省略可。AuthorizationPolicy リソースに関連付けられたラベルタグのセット。
|
action |
必須。ルールが一致した場合に実行するアクション。有効な値は、「ALLOW」または「DENY」です。 |
rules[] |
省略可。照合するルールのリスト。「action」フィールドで指定された操作を実行するには、少なくとも 1 つのルールが一致する必要があります。送信元と宛先が一致する場合、ルールは一致します。空白のままにすると、 |
internalCaller |
省略可。内部コントローラーを識別するためのフラグセットです。これを設定すると、他のオプションフィールドが未設定であっても、呼び出し元が許可リストに登録済みのサービスの P4SA であることを検証するための P4SA チェックがトリガーされます。 |
アクション
実行する操作を定義する設定可能な値。
列挙型 | |
---|---|
ACTION_UNSPECIFIED |
デフォルト値。 |
ALLOW |
アクセスを許可します。 |
DENY |
アクセスを拒否します。拒否ルールは、デフォルトの「すべて拒否」の代替機能を提供する目的で使用されていない限り、使用しないでください。 |
ルール
ルールの仕様。
JSON 表現 |
---|
{ "sources": [ { object ( |
フィールド | |
---|---|
sources[] |
省略可。トラフィック ソースの属性のリスト。すべてのソースが一致している必要があります。principal と ipBlocks の両方が一致する場合、ソースは一致します。設定しない場合、「action」フィールドで指定されたアクションが適用され、ソースのルール チェックは行われません。 |
destinations[] |
省略可。トラフィックの宛先の属性リスト。すべての宛先が一致している必要があります。リクエストが指定されたすべてのホスト、ポート、メソッド、ヘッダーと一致する場合、宛先が一致します。設定されていない場合、宛先のルールチェックを行わずに、「action」フィールドで指定されたアクションが適用されます。 |
ソース
トラフィック ソースの属性の仕様。
JSON 表現 |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
フィールド | |
---|---|
principals[] |
省略可。認可で照合するピア ID のリスト。少なくとも 1 つのプリンシパルが一致する必要があります。各ピアの一致は、完全一致、接頭辞の一致(例: 「namespace/*」)、接尾辞の一致(例: 「*/service-account」)、プレゼンス一致「*」のいずれかです。証明書の検証を行わずにプリンシパル名に基づく認可(ServerTlsPolicy リソースによって構成される)は、安全でないとみなされます。 |
ipBlocks[] |
省略可。送信元 IP アドレスに基づいて照合する CIDR 範囲のリスト。少なくとも 1 つの IP ブロックが一致する必要があります。単一 IP(例: 「1.2.3.4」)と CIDR(例: 「1.2.3.0/24」)がサポートされています。送信元 IP のみに基づく認可は回避する必要があります。ロードバランサまたはプロキシの IP アドレスは、信頼できないものとしてみなす必要があります。 |
目的地
トラフィックの宛先属性の仕様。
JSON 表現 |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
フィールド | |
---|---|
hosts[] |
必須。照合するホスト名のリスト。HTTP リクエストの「:authority」ヘッダーと照合されます。少なくとも 1 つのホストが一致する必要があります。各ホストの一致は、完全一致、接頭辞の一致(例: 「mydomain.*」)、接尾辞の一致(例: 「*.myorg.com」)、またはプレゼンス(任意)の一致のいずれかです。 |
ports[] |
必須。照合する宛先ポートのリスト。少なくとも 1 つのポートが一致する必要があります。 |
paths[] |
省略可。照合する HTTP パスのリスト。 gRPC メソッドは、「/packageName.serviceName/methodName」という形式の完全修飾名として提示する必要があります。少なくとも 1 つのパスが一致する必要があります。各パスの一致は、完全一致、接頭辞の一致(例: 「/packageName.serviceName/*」)、接尾辞の一致(例: 「*/video」)、またはプレゼンス(任意)の一致「*」のいずれかです。 |
methods[] |
省略可。照合する HTTP メソッドのリスト。少なくとも 1 つのメソッドが一致する必要があります。gRPC サービスには設定しないでください。 |
httpHeaderMatch |
省略可。http ヘッダーの Key-Value ペアと照合します。高度なユースケースで使用できる、HTTP ヘッダーに基づく柔軟な一致を提示します。少なくとも 1 つのヘッダーが一致する必要があります。リクエストが信頼できるクライアントまたはプロキシ経由で送信されることが確実な場合を除き、ヘッダーの一致を使用して認可を決定することは避けてください。 |
HttpHeaderMatch
HTTP ヘッダー一致属性の仕様。
JSON 表現 |
---|
{ "headerName": string, // Union field |
フィールド | |
---|---|
headerName |
必須。照合する HTTP ヘッダーの名前。HTTP リクエストの権限と照合するには、ヘッダー名「:authority」を持つ headerMatch を使用します。リクエストのメソッドを照合するには、headerName に「:method」を使用します。 |
共用体フィールド
|
|
regexMatch |
必須。ヘッダーの値は、regexMatch で指定された正規表現と一致する必要があります。正規表現の文法については、en.cppreference.com/w/cpp/regex/ecmascript をご覧ください。HTTP リクエストで指定されたポートとの照合には、headerName が Host に設定されている headerMatch と、RFC2616 Host ヘッダーのポート指定子の要件を満たす正規表現を使用します。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションで新しい AuthorizationPolicy を作成します。 |
|
1 つの AuthorizationPolicy を削除します。 |
|
1 つの AuthorizationPolicy の詳細情報を取得します。 |
|
リソースのアクセス制御ポリシーを取得します。 |
|
指定されたプロジェクトとロケーションの AuthorizationPolicy を一覧表示します。 |
|
単一の AuthorizationPolicy のパラメータを更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
指定されたリソースに対して呼び出し元が持っている権限を返します。 |