REST Resource: projects.locations.authorizationPolicies

Ressource: AuthorizationPolicy

AuthorizationPolicy ist eine Ressource, die angibt, wie ein Server eingehende Verbindungen autorisieren soll. Diese Ressource selbst hat keine Auswirkungen auf die Konfiguration, es sei denn, sie ist an eine Auswahlressource für die Ziel-HTTPS-Proxy- oder Endpunktkonfiguration angehängt.

JSON-Darstellung
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "action": enum (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
Felder
name

string

Erforderlich. Name der AuthorizationPolicy-Ressource. Sie stimmt mit dem Muster projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy> überein.

description

string

Optional. Freitextbeschreibung der Ressource.

createTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitstempel, der angibt, wann die Ressource aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Optional. Label-Tags, die mit der Ressource „AuthorizationPolicy“ verknüpft sind.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

action

enum (Action)

Erforderlich. Die Aktion, die ausgeführt werden soll, wenn eine Regel übereinstimmt. Mögliche Werte sind „ALLOW“ (Zulassen) oder „DENY“ (Verweigern).

rules[]

object (Rule)

Optional. Liste der Regeln, die abgeglichen werden sollen. Mindestens eine der Regeln muss übereinstimmen, damit die im Feld „action“ angegebene Aktion ausgeführt wird. Eine Regel ist eine Übereinstimmung, wenn Quell- und Ziel übereinstimmen. Wenn Sie dieses Feld leer lassen, wird die im Feld action angegebene Aktion auf jede Anfrage angewendet.

Aktion

Mögliche Werte, die festlegen, welche Aktion ausgeführt werden soll.

Enums
ACTION_UNSPECIFIED Standardwert.
ALLOW Gewähren Sie den Zugriff.
DENY Lehnen Sie den Zugriff ab. Ablehnungsregeln sollten vermieden werden, es sei denn, sie werden verwendet, um einen Standard-Fallback für „Alle ablehnen“ bereitzustellen.

Regel

Spezifikation von Regeln.

JSON-Darstellung
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Felder
sources[]

object (Source)

Optional. Liste der Attribute für die Besucherquelle. Alle Quellen müssen übereinstimmen. Eine Quelle stimmt überein, wenn sowohl die Principals als auch die IP-Blöcke übereinstimmen. Wenn das Feld nicht festgelegt ist, wird die im Feld „action“ angegebene Aktion ohne Regelprüfungen für die Quelle angewendet.

destinations[]

object (Destination)

Optional. Liste der Attribute für das Ziel des Traffics. Alle Ziele müssen übereinstimmen. Ein Ziel wird als übereinstimmend eingestuft, wenn eine Anfrage mit allen angegebenen Hosts, Ports, Methoden und Headern übereinstimmt. Wenn das Feld nicht festgelegt ist, wird die im Feld „action“ angegebene Aktion ohne Regelprüfungen für das Ziel angewendet.

Quelle

Angabe von Zugriffsquellenattributen

JSON-Darstellung
{
  "principals": [
    string
  ],
  "ipBlocks": [
    string
  ]
}
Felder
principals[]

string

Optional. Liste der Peer-Identitäten, die für die Autorisierung abgeglichen werden sollen. Mindestens ein Hauptkonto muss übereinstimmen. Jeder Peer kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „namespace/*“) oder eine Suffixübereinstimmung (z. B. „*/service-account“) oder eine Anwesenheitsübereinstimmung „*“ sein. Eine Autorisierung, die auf dem Prinzipalnamen ohne Zertifikatsvalidierung basiert (über die ServerTlsPolicy-Ressource konfiguriert), gilt als unsicher.

ipBlocks[]

string

Optional. Liste der CIDR-Bereiche, die anhand der Quell-IP-Adresse abgeglichen werden sollen. Mindestens ein IP-Block sollte übereinstimmen. Einzelne IP (z.B. „1.2.3.4“) und CIDR (z.B. „1.2.3.0/24“) werden unterstützt. Eine Autorisierung, die nur auf der Quell-IP-Adresse basiert, sollte vermieden werden. Die IP-Adressen aller Load Balancer oder Proxys sollten als nicht vertrauenswürdig eingestuft werden.

Ziel

Spezifikation von Zielattributen für Zugriffe.

JSON-Darstellung
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Felder
hosts[]

string

Erforderlich. Liste der Hostnamen, die abgeglichen werden sollen. Wird mit dem Header „:authority“ in HTTP-Anfragen abgeglichen. Mindestens ein Host sollte übereinstimmen. Jeder Host kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „meinedomain.*“) oder eine Suffixübereinstimmung (z. B. „*.meineorganisation.de“) oder eine beliebige Übereinstimmung („*“) sein.

ports[]

integer (uint32 format)

Erforderlich. Liste der Zielports, die abgeglichen werden sollen. Mindestens ein Anschluss muss übereinstimmen.

methods[]

string

Optional. Eine Liste der HTTP-Methoden für den Abgleich. Mindestens eine Methode sollte übereinstimmen. Sollte nicht für gRPC-Dienste festgelegt werden.

httpHeaderMatch

object (HttpHeaderMatch)

Optional. Vergleich mit dem Schlüssel/Wert-Paar im HTTP-Header. Bietet eine flexible Übereinstimmung basierend auf HTTP-Headern für potenziell erweiterte Anwendungsfälle. Mindestens eine Überschrift sollte übereinstimmen. Verwenden Sie keine Header-Übereinstimmungen, um Autorisierungsentscheidungen zu treffen, es sei denn, es besteht eine hohe Wahrscheinlichkeit, dass Anfragen über einen vertrauenswürdigen Client oder Proxy eingehen.

HttpHeaderMatch

Spezifikation von HTTP-Header-Abgleichsattributen.

JSON-Darstellung
{
  "headerName": string,

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

string

Erforderlich. Der Name des HTTP-Headers, der abgeglichen werden soll. Verwenden Sie für den Abgleich mit der Autorität der HTTP-Anfrage ein „headerMatch“ mit dem Headernamen „:authority“. Verwenden Sie den Headernamen „:method“, um die Methode einer Anfrage abzugleichen.

Union-Feld type.

Für type ist nur einer der folgenden Werte zulässig:

regexMatch

string

Erforderlich. Der Wert des Headers muss mit dem in „regexMatch“ angegebenen regulären Ausdruck übereinstimmen. Die Grammatik für reguläre Ausdrücke finden Sie unter en.cppreference.com/w/cpp/regex/ecmascript. Verwenden Sie für den Abgleich mit einem in der HTTP-Anfrage angegebenen Port ein „headerMatch“, bei dem „headerName“ auf „Host“ festgelegt ist, und einen regulären Ausdruck, der der Portspezifikation des RFC2616-Host-Headers entspricht.

Methoden

create

Erstellt eine neue Autorisierungsrichtlinie in einem bestimmten Projekt und an einem bestimmten Standort.

delete

Löscht eine einzelne AuthorizationPolicy.

get

Ruft Details zu einer einzelnen Autorisierungsrichtlinie ab.

getIamPolicy

Ruft die Zugriffssteuerungsrichtlinie für eine Ressource ab.

list

Listet Autorisierungsrichtlinien in einem angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert die Parameter einer einzelnen Autorisierungsrichtlinie.

setIamPolicy

Legt die Zugriffskontrollrichtlinie für die angegebene Ressource fest.

testIamPermissions

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück.