- リソース: AuthzPolicy
- Target
- LoadBalancingScheme
- AuthzRule
- From
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- To
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- メソッド
リソース: AuthzPolicy
AuthzPolicy
は、セキュリティ上の目的でトラフィックをスキャンするように設計されたコールアウト バックエンドにトラフィックを転送できるリソースです。
JSON 表現 |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
フィールド | |
---|---|
name |
必須。ID。 |
createTime |
出力専用。リソース作成時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。リソース更新時のタイムスタンプ。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
description |
省略可。リソースの説明(人が読める形式)。 |
labels |
省略可。 形式は次の要件を満たしている必要があります。
|
target |
必須。このポリシーを適用するリソースのセットを指定します。 |
httpRules[] |
省略可。受信リクエストと照合する認可 HTTP ルールのリスト。ポリシーが一致するのは、1 つ以上の HTTP ルールがリクエストと一致する場合、またはポリシーに HTTP ルールが指定されていない場合です。許可または拒否アクションには、少なくとも 1 つの HTTP ルールが必要です。ルールは 5 つまでです。 |
action |
必須。 アクションが アクションが アクションが リクエストが届くと、ポリシーは次の順序で評価されます。
|
customProvider |
省略可。アクションが |
Target
このポリシーを適用するターゲットのセットを指定します。
JSON 表現 |
---|
{
"loadBalancingScheme": enum ( |
フィールド | |
---|---|
loadBalancingScheme |
必須。このポリシーと拡張機能で参照されるすべてのゲートウェイと転送ルールは、同じロード バランシング スキームを共有する必要があります。サポートされている値: |
resources[] |
必須。このポリシーが適用される転送ルールへの参照のリスト。 |
LoadBalancingScheme
AuthzPolicy
リソースでサポートされるロード バランシング スキーム。有効な値は INTERNAL_MANAGED
と EXTERNAL_MANAGED
です。詳細については、バックエンド サービスの概要をご覧ください。
列挙型 | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
デフォルト値。これは使用しないでください。 |
INTERNAL_MANAGED |
リージョン内部またはクロスリージョン内部アプリケーション ロード バランシングに使用されることを示します。 |
EXTERNAL_MANAGED |
グローバル外部またはリージョン外部アプリケーション ロード バランシングに使用されることを示します。 |
INTERNAL_SELF_MANAGED |
Cloud Service Mesh に使用されることを示します。CSM GKE コントローラ専用です。 |
AuthzRule
受信リクエストの照合条件。
JSON 表現 |
---|
{ "from": { object ( |
フィールド | |
---|---|
from |
省略可。リクエストの 1 つ以上のソースのプロパティを記述します。 |
to |
省略可。リクエストの 1 つ以上のターゲットのプロパティを記述します。 |
when |
省略可。アクションで満たす必要のある条件を記述する CEL 式。CEL 式の結果は、from および to と AND 演算されます。使用可能な属性の一覧については、CEL 言語リファレンスをご覧ください。 |
From
リクエストの 1 つ以上のソースのプロパティを記述します。
JSON 表現 |
---|
{ "sources": [ { object ( |
フィールド | |
---|---|
sources[] |
省略可。リクエスト送信元のプロパティを記述します。sources または notSources の少なくとも 1 つを指定する必要があります。ソースは 5 つまでです。一致は、(sources または notSources 内の)任意のソースがリクエストと一致する場合に発生します。1 つのソース内では、フィールド間の一致は AND セマンティクスに従い、1 つのフィールド内の一致は OR セマンティクスに従います。つまり、任意のプリンシパルと任意の ipBlock が一致した場合、一致が発生します。 |
notSources[] |
省略可。リクエスト ソースで否定されるプロパティを記述します。このフィールドで指定された条件と一致しないソースからのリクエストと一致します。sources または notSources の少なくとも 1 つを指定する必要があります。 |
RequestSource
単一のソースのプロパティを記述します。
JSON 表現 |
---|
{ "principals": [ { object ( |
フィールド | |
---|---|
principals[] |
省略可。クライアント証明書から派生した ID のリスト。転送ルールまたは Gateway で相互 TLS が有効になっていない場合、このフィールドはリクエストと一致しません。各 ID は文字列で、その値は URI SAN、DNS SAN、またはクライアント証明書のサブジェクト フィールドと照合されます。一致は、完全一致、接頭辞、接尾辞、部分一致のいずれかです。exact、prefix、suffix、contains のいずれかを指定する必要があります。プリンシパルの上限は 5 個です。 |
resources[] |
省略可。リクエストのソース VM のリソースと照合するリソースのリスト。リソースの上限は 5 個です。 |
StringMatch
文字列値の照合方法を指定します。
JSON 表現 |
---|
{ "ignoreCase": boolean, // Union field |
フィールド | |
---|---|
ignoreCase |
true の場合、完全一致、接頭辞、接尾辞、包含の一致で大文字と小文字を区別しないことを示します。たとえば、マッチャー |
共用体フィールド
|
|
exact |
入力文字列は、ここで指定した文字列と完全に一致している必要があります。 例:
|
prefix |
入力文字列には、ここで指定した接頭辞が必要です。注: 空の接頭辞は使用できません。代わりに正規表現を使用してください。 例:
|
suffix |
入力文字列には、ここで指定した接尾辞が必要です。注: 空の接頭辞は使用できません。代わりに正規表現を使用してください。 例:
|
contains |
入力文字列には、ここで指定したサブ文字列が含まれている必要があります。注: 空の包含の一致は許可されません。代わりに正規表現を使用してください。 例:
|
RequestResource
内部アプリケーション ロードバランサにアクセスするクライアント VM リソースのプロパティを記述します。
JSON 表現 |
---|
{ "tagValueIdSet": { object ( |
フィールド | |
---|---|
tagValueIdSet |
省略可。リクエストの送信元 VM に関連付けられた Resource Manager タグ値と照合するリソースタグ値の永続 ID のリスト。 |
iamServiceAccount |
省略可。リクエストを送信した VM のソース サービス アカウントと照合する IAM サービス アカウント。 |
TagValueIdSet
リクエストの送信元 VM に関連付けられた Resource Manager タグ値と照合するリソースタグ値の永続 ID のセットを記述します。
JSON 表現 |
---|
{ "ids": [ string ] } |
フィールド | |
---|---|
ids[] |
必須。リクエストの送信元 VM に関連付けられた Resource Manager タグ値と照合するリソースタグ値の永続 ID のリスト。 一致は AND セマンティクスに従います。つまり、すべての ID が一致する必要があります。上限は 5 個です。 |
to
リクエストの 1 つ以上のターゲットのプロパティを記述します。
JSON 表現 |
---|
{ "operations": [ { object ( |
フィールド | |
---|---|
operations[] |
省略可。リクエストの 1 つ以上のターゲットのプロパティを記述します。operations または notOperations の少なくとも 1 つを指定する必要があります。オペレーションは 5 個まで指定できます。一致は、(operations または notOperations 内の)任意のオペレーションが一致すると発生します。オペレーション内での一致は、フィールド間の AND セマンティクスとフィールド内の OR セマンティクスに従います。つまり、任意のパス、任意のヘッダー、任意のメソッドが一致すると、一致が発生します。 |
notOperations[] |
省略可。リクエストのターゲットで否定されるプロパティを記述します。このフィールドで指定された条件に一致しないオペレーションのリクエストに一致します。operations または notOperations の少なくとも 1 つを指定する必要があります。 |
RequestOperation
リクエストの 1 つ以上のターゲットのプロパティを記述します。
JSON 表現 |
---|
{ "headerSet": { object ( |
フィールド | |
---|---|
headerSet |
省略可。HTTP ヘッダーで照合するヘッダーのリスト。 |
hosts[] |
省略可。照合する HTTP ホストのリスト。一致は、完全一致、接頭辞、接尾辞、または包含(部分一致)のいずれかです。ignoreCase が設定されていない限り、一致では常に大文字と小文字が区別されます。上限は 5 個です。 |
paths[] |
省略可。照合するパスのリスト。一致は、完全一致、接頭辞、接尾辞、または包含(部分一致)のいずれかです。ignoreCase が設定されていない限り、一致では常に大文字と小文字が区別されます。上限は 5 個です。 このパス一致にはクエリ パラメータが含まれています。gRPC サービスの場合は、/package.service/method という形式の完全修飾名にする必要があります。 |
methods[] |
省略可。照合する HTTP メソッドのリスト。各エントリは有効な HTTP メソッド名(GET、PUT、POST、HEAD、PATCH、DELETE、OPTIONS)にする必要があります。完全一致のみを許可し、常に大文字と小文字が区別されます。 |
HeaderSet
照合する一連の HTTP ヘッダーを記述します。
JSON 表現 |
---|
{
"headers": [
{
object ( |
フィールド | |
---|---|
headers[] |
必須。HTTP ヘッダーで照合するヘッダーのリスト。一致は、完全一致、接頭辞、接尾辞、または包含(部分一致)のいずれかです。一致は AND セマンティクスに従います。つまり、すべてのヘッダーが一致する必要があります。ignoreCase が設定されていない限り、一致では常に大文字と小文字が区別されます。上限は 5 個です。 |
HeaderMatch
HTTP ヘッダーの照合方法を決定します。
JSON 表現 |
---|
{
"name": string,
"value": {
object ( |
フィールド | |
---|---|
name |
省略可。リクエスト内のヘッダーの名前を指定します。 |
value |
省略可。ヘッダー一致の実行方法を指定します。 |
AuthzAction
このポリシーに適用されるアクション。指定できる値は、ALLOW
、DENY
、CUSTOM
です。
列挙型 | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
未指定のアクション。 |
ALLOW |
リクエストをバックエンドに転送することを許可します。 |
DENY |
リクエストを拒否し、HTTP 404 をクライアントに返します。 |
CUSTOM |
認可の判断を外部認可エンジンに委任します。 |
CustomProvider
認可の判断を Cloud IAP または Service Extensions に委任できます。
JSON 表現 |
---|
{ "cloudIap": { object ( |
フィールド | |
---|---|
cloudIap |
省略可。認可の判断を Cloud IAP に委任します。マネージド ロードバランサにのみ適用されます。AuthzPolicy レベルでの Cloud IAP の有効化は、BackendService の Cloud IAP 設定と互換性がありません。両方で IAP を有効にすると、リクエストが失敗します。IAP が AuthzPolicy または BackendService のいずれかで有効になっていることを確認します。両方で有効にすることはできません。 |
authzExtension |
省略可。認可の判断をユーザー作成のサービス拡張機能に委任します。cloudIap または authzExtension のいずれかを指定できます。 |
CloudIap
このタイプにはフィールドがありません。
省略可。認可の判断を Cloud IAP に委任します。マネージド ロードバランサにのみ適用されます。AuthzPolicy レベルでの Cloud IAP の有効化は、BackendService の Cloud IAP 設定と互換性がありません。両方で IAP を有効にすると、リクエストが失敗します。IAP が AuthzPolicy または BackendService のいずれかで有効になっていることを確認します。両方で有効にすることはできません。
AuthzExtension
省略可。認可の決定をユーザー作成の拡張機能に委任します。cloudIap または authzExtension のいずれかを指定できます。
JSON 表現 |
---|
{ "resources": [ string ] } |
フィールド | |
---|---|
resources[] |
必須。このポリシーに一致するリクエストに対して呼び出される認可拡張機能への参照のリスト。使用できるカスタム プロバイダは 1 つだけです。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションで新しい AuthzPolicy を作成します。 |
|
1 つの AuthzPolicy を削除します。 |
|
1 つの AuthzPolicy の詳細を取得します。 |
|
指定されたプロジェクトとロケーションでの AuthzPolicy を一覧取得します。 |
|
単一の AuthzPolicy のパラメータを更新します。 |