リソース: 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 つのルールが一致する必要があります。送信元と宛先が一致する場合、ルールは一致となります。空白のままにすると、 |
アクション
実行する操作を定義する設定可能な値。
列挙型 | |
---|---|
ACTION_UNSPECIFIED |
デフォルト値。 |
ALLOW |
アクセスを許可します。 |
DENY |
アクセスを拒否します。デフォルトの「すべて拒否」フォールバックを提供するために使用する場合を除き、拒否ルールは使用しないでください。 |
ルール
ルールの仕様。
JSON 表現 |
---|
{ "sources": [ { object ( |
フィールド | |
---|---|
sources[] |
省略可。トラフィック ソースの属性リスト。すべてのソースが一致している必要があります。プリンシパルと ipBlock の両方が一致する場合、ソースは一致となります。設定されていない場合、ソースのルールチェックを行わずに、「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
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
フィールド | |
---|---|
hosts[] |
必須。照合するホスト名のリスト。HTTP リクエストの「:authority」ヘッダーと照合されます。少なくとも 1 つのホストが一致する必要があります。各ホストの一致は、完全一致、接頭辞の一致(例: 「mydomain.*」)、接尾辞の一致(例: 「*.myorg.com」)、またはプレゼンス(任意)の一致のいずれかです。 |
ports[] |
必須。照合する宛先ポートのリスト。少なくとも 1 つのポートが一致する必要があります。 |
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 のパラメータを更新します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
呼び出し元が指定されたリソース上で持つ権限を返します。 |