REST Resource: projects.locations.authorizationPolicies

Ressource: AuthorizationPolicy

AuthorizationPolicy ist eine Ressource, die angibt, wie ein Server eingehende Verbindungen autorisieren soll. Diese Ressource selbst ändert die Konfiguration nur, wenn sie an eine Auswahlressource für die Ziel-HTTPS-Proxy- oder Endpunktkonfiguration angehängt ist.

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

string

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

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 für den Zeitpunkt, zu dem 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. Satz von Label-Tags, die mit der AuthorizationPolicy-Ressource 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 auszuführende Aktion, wenn eine Regelübereinstimmung gefunden wird. Mögliche Werte sind "ALLOW" oder "DENY".

rules[]

object (Rule)

Optional. Liste der abzugleichenden Regeln. Beachten Sie, dass mindestens eine der Regeln übereinstimmen muss, damit die im Feld „Aktion“ angegebene Aktion ausgeführt wird. Eine Regel gilt als Übereinstimmung, wenn Quelle und Ziel übereinstimmen. Wenn Sie das Feld leer lassen, wird die im Feld action angegebene Aktion auf jede Anfrage angewendet.

internalCaller

boolean

Optional. Ein Flag zur Identifizierung interner Controller. Wenn Sie es festlegen, wird eine P4SA-Prüfung ausgelöst, um zu bestätigen, dass der Aufrufer von der P4SA eines Dienstes auf der Zulassungsliste stammt, auch wenn andere optionale Felder nicht festgelegt sind.

Aktion

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

Enums
ACTION_UNSPECIFIED Standardwert.
ALLOW Gewähren Sie den Zugriff.
DENY Zugriff verweigern Ablehnungsregeln sollten vermieden werden, es sei denn, sie werden verwendet, um eine Standard-Fallback-Option „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 ergibt eine Übereinstimmung, wenn sowohl Hauptkonten als auch ipBlocks übereinstimmen. Ist die Richtlinie nicht konfiguriert, wird die im Feld „Aktion“ angegebene Aktion ohne Regelprüfung für die Quelle angewendet.

destinations[]

object (Destination)

Optional. Liste der Attribute für das Traffic-Ziel. Alle Ziele müssen übereinstimmen. Ein Ziel gilt als Übereinstimmung, wenn eine Anfrage mit allen angegebenen Hosts, Ports, Methoden und Headern übereinstimmt. Ist die Richtlinie nicht konfiguriert, wird die im Feld „Aktion“ angegebene Aktion ohne Regelprüfung für das Ziel angewendet.

Quelle

Spezifikation von Attributen für Besucherquellen.

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/*“), eine Suffixübereinstimmung (z. B. „*/service-account“) oder eine Anwesenheitsübereinstimmung „*“ sein. Eine Autorisierung auf Grundlage des Prinzipalnamens ohne Zertifikatsvalidierung (konfiguriert von der Ressource „ServerTlsPolicy“) gilt als unsicher.

ipBlocks[]

string

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

Ziel

Spezifikation der Attribute für Verkehrsziele.

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

string

Erforderlich. Liste der Hostnamen, die abgeglichen werden sollen. Abgleich mit dem Header „:authority“ in HTTP-Anfragen Es muss mindestens ein Host übereinstimmen. Jeder Host kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (Beispiel „IhrUnternehmen.*“), eine Suffixübereinstimmung (Beispiel „*.myorg.com“) oder eine Anwesenheitsübereinstimmung (beliebig) „*“ sein.

ports[]

integer (uint32 format)

Erforderlich. Liste der abzugleichenden Zielports. Mindestens ein Port muss übereinstimmen.

paths[]

string

Optional. Eine Liste mit übereinstimmenden HTTP-Pfaden. gRPC-Methoden müssen als voll qualifizierter Name in Form von „/packageName.serviceName/methodName“ dargestellt werden. Mindestens ein Pfad muss übereinstimmen. Jeder Pfad kann eine genaue Übereinstimmung, eine Präfixübereinstimmung (z. B. „/packageName.serviceName/*“), eine Suffixübereinstimmung (z. B. „*/video“) oder eine Anwesenheitsübereinstimmung (beliebig) „*“ sein.

methods[]

string

Optional. Eine Liste mit HTTP-Methoden für den Abgleich. Es muss mindestens eine Methode übereinstimmen. Sollte für gRPC-Dienste nicht festgelegt werden.

httpHeaderMatch

object (HttpHeaderMatch)

Optional. Abgleich mit Schlüssel/Wert-Paar im HTTP-Header. Bietet einen flexiblen Abgleich basierend auf HTTP-Headern für potenziell erweiterte Anwendungsfälle. Es muss mindestens eine Überschrift übereinstimmen. Vermeiden Sie Header-Übereinstimmungen für Autorisierungsentscheidungen, es sei denn, es gibt eine starke Garantie, dass Anfragen über einen vertrauenswürdigen Client oder Proxy eingehen.

HttpHeaderMatch

Spezifikation von HTTP-Header-Übereinstimmungsattributen.

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 einen headerMatch mit dem Headernamen „:authority“. Zum Abgleichen der Methode einer Anfrage verwenden Sie den headerName „:method“.

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. Informationen zur Grammatik regulärer Ausdrücke finden Sie unter en.cppreference.com/w/cpp/regex/ecmascript. Für den Abgleich mit einem in der HTTP-Anfrage angegebenen Port verwenden Sie „headerMatch“, wobei „headerName“ auf „Host“ und einen regulären Ausdruck festgelegt ist, der dem Portbezeichner des RFC2616 Host-Headers entspricht.

Methoden

create

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

delete

Löscht eine einzelne AuthorizationPolicy.

get

Ruft Details zu einer einzelnen AuthorizationPolicy ab.

getIamPolicy

Ruft die Richtlinie für die Zugriffssteuerung für eine Ressource ab.

list

Listet AuthorizationPolicies in einem bestimmten Projekt und an einem bestimmten Standort auf.

patch

Aktualisiert die Parameter einer einzelnen AuthorizationPolicy.

setIamPolicy

Legt die Richtlinie für die Zugriffssteuerung für die angegebene Ressource fest.

testIamPermissions

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