REST Resource: projects.locations.authorizationPolicies

リソース: AuthorizationPolicy

AuthorizationPolicy は、サーバーの受信接続の認可方法を指定するリソースです。このリソース自体では、ターゲット HTTPS プロキシまたはエンドポイントの構成セレクタのリソースに接続されていない限り、構成は変更されません。

JSON 表現
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
フィールド
name

string

必須。AuthorizationPolicy リソースの名前。パターン projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy> と一致します。

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)

省略可。AuthorizationPolicy リソースに関連付けられたラベルタグのセット。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

action

enum (Action)

必須。ルールの一致が検出されたときに実行するアクション。有向な値は「ALLOW」または「DENY」です。

rules[]

object (Rule)

省略可。照合するルールのリスト。「action」フィールドで指定されたアクションを実行するには、少なくとも 1 つのルールが一致する必要があります。送信元と宛先が一致する場合、ルールは一致となります。空白のままにすると、action フィールドで指定されたアクションがすべてのリクエストに適用されます。

アクション

実行する操作を定義する設定可能な値。

列挙型
ACTION_UNSPECIFIED デフォルト値。
ALLOW アクセスを許可します。
DENY アクセスを拒否します。デフォルトの「すべて拒否」フォールバックを提供するために使用する場合を除き、拒否ルールは使用しないでください。

ルール

ルールの仕様。

JSON 表現
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
フィールド
sources[]

object (Source)

省略可。トラフィック ソースの属性リスト。すべてのソースが一致している必要があります。プリンシパルと ipBlock の両方が一致する場合、ソースは一致となります。設定されていない場合、ソースのルールチェックを行わずに、「action」フィールドで指定されたアクションが適用されます。

destinations[]

object (Destination)

省略可。トラフィックの宛先の属性リスト。すべての宛先が一致している必要があります。リクエストが指定されたすべてのホスト、ポート、メソッド、ヘッダーと一致する場合、宛先は一致となります。設定されていない場合、宛先のルールチェックを行わずに、「action」フィールドで指定されたアクションが適用されます。

ソース

トラフィック ソースの属性の仕様。

JSON 表現
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
フィールド
principals[]

string

省略可。認可のために照合するピア ID のリスト。少なくとも 1 つのプリンシパルが一致する必要があります。各ピアの一致は、完全一致、接頭辞の一致(例: 「namespace/*」)、接尾辞の一致(例: 「*/service-account」)、プレゼンス一致「*」のいずれかです。証明書の検証を行わずにプリンシパル名に基づく認可(ServerTlsPolicy リソースによって構成される)は、安全でないとみなされます。

ipBlocks[]

string

省略可。送信元 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 (HttpHeaderMatch)
  }
}
フィールド
hosts[]

string

必須。照合するホスト名のリスト。HTTP リクエストの「:authority」ヘッダーと照合されます。少なくとも 1 つのホストが一致する必要があります。各ホストの一致は、完全一致、接頭辞の一致(例: 「mydomain.*」)、接尾辞の一致(例: 「*.myorg.com」)、またはプレゼンス(任意)の一致のいずれかです。

ports[]

integer (uint32 format)

必須。照合する宛先ポートのリスト。少なくとも 1 つのポートが一致する必要があります。

methods[]

string

省略可。照合する HTTP メソッドのリスト。少なくとも 1 つのメソッドが一致する必要があります。gRPC サービスには設定しないでください。

httpHeaderMatch

object (HttpHeaderMatch)

省略可。HTTP ヘッダーの Key-Value ペアと照合します。高度なユースケースで使用できる、HTTP ヘッダーに基づく柔軟な一致を提示します。少なくとも 1 つのヘッダーが一致する必要があります。信頼できるクライアントまたはプロキシを介してリクエストが届くことが確実である場合を除き、ヘッダーの一致を使用して認可を決定することは避けてください。

HttpHeaderMatch

HTTP ヘッダー一致属性の仕様。

JSON 表現
{
  "headerName": string,

  // Union field type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
フィールド
headerName

string

必須。照合する HTTP ヘッダーの名前。HTTP リクエストの権限と照合するには、ヘッダー名が「:authority」の headerMatch を使用します。リクエストのメソッドを照合するには、headerName に「:method」を使用します。

共用体フィールド type

type は次のいずれかになります。

regexMatch

string

必須。ヘッダーの値は、regexMatch で指定された正規表現と一致する必要があります。正規表現の文法については、en.cppreference.com/w/cpp/regex/ecmascript をご覧ください。HTTP リクエストで指定されたポートとの照合には、headerName が Host に設定されている headerMatch と、RFC2616 Host ヘッダーのポート指定子の要件を満たす正規表現を使用します。

メソッド

create

指定されたプロジェクトとロケーションで新しい AuthorizationPolicy を作成します。

delete

1 つの AuthorizationPolicy を削除します。

get

1 つの AuthorizationPolicy の詳細情報を取得します。

getIamPolicy

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

list

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

patch

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

setIamPolicy

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

testIamPermissions

呼び出し元が指定されたリソース上で持つ権限を返します。