Eine Autorisierungsrichtlinie (AuthzPolicy
) definiert Regeln für die Quelle des eingehenden Traffics und die für diese Quelle zulässigen oder eingeschränkten Vorgänge.
Außerdem werden in der Autorisierungsrichtlinie die Bedingungen beschrieben, unter denen eine Regel gilt, und eine Aktion angegeben, um den Traffic entweder zuzulassen, abzulehnen oder weiter zu prüfen.
Mit Autorisierungsrichtlinien können Sie Zugriffssteuerungsprüfungen für eingehenden Traffic an Application Load Balancer einrichten. Anfragen, die diese Prüfungen bestehen, werden an Back-End-Dienste weitergeleitet. Anfragen, die diese Prüfungen nicht bestehen, werden mit einer nicht autorisierten Antwort beendet.
Auf dieser Seite finden Sie eine Übersicht über Autorisierungsrichtlinien für die folgenden Application Load Balancer:
- Globale externe Application Load Balancer
Regionale externe Application Load Balancer
Regionale interne Application Load Balancer
- Regionsübergreifende interne Application Load Balancer
Informationen zum Verwenden von Autorisierungsrichtlinien für Dienste, die mit Cloud Service Mesh bereitgestellt werden, finden Sie unter Dienstsicherheit mit Envoy einrichten.
Komponenten von Autorisierungsrichtlinienregeln
Eine Autorisierungsrichtlinie besteht aus verschiedenen Autorisierungsrichtlinienregeln. Mit einer Autorisierungsrichtlinienregel werden die Bedingungen definiert, die festlegen, ob Traffic den Load Balancer passieren darf oder nicht.
Eine Autorisierungsrichtlinienregel besteht aus den folgenden Komponenten:
from
: Gibt die Identität des Clients an, die gemäß der Regel zulässig ist. Die Identität kann aus einem Clientzertifikat in einer mTLS-Verbindung abgeleitet werden oder es kann sich um die Umgebungsdentität handeln, die der Client-VM zugewiesen ist, z. B. aus einem Dienstkonto oder einem sicheren Tag.to
: Gibt die von der Regel zulässigen Vorgänge an, z. B. die URLs, auf die zugegriffen werden kann, oder die zulässigen HTTP-Methoden.when
: Gibt die Bedingungen an, die für die Aktion erfüllt sein müssen, die auf die Anfrage angewendet werden soll. Sie können Common Expression Language (CEL)-Ausdrücke verwenden, um die Bedingungen zu definieren.
Aktionen für Autorisierungsrichtlinien
Bei der Auswertung einer Anfrage gibt eine Autorisierungsrichtlinie die Aktion an, die auf die Anfrage angewendet werden soll. Eine Autorisierungsrichtlinie besteht aus den folgenden Werten:
ALLOW
: Gewährt Zugriff auf die angeforderte Ressource, wenn die Anfrage den in der Autorisierungsrichtlinie definierten Regeln entspricht. Die Autorisierungsrichtlinie blockiert den Zugriff auf die angeforderte Ressource, wenn die Anfrage nicht mit den in der Autorisierungsrichtlinie definierten Regeln übereinstimmt. Eine Anfrage wird abgelehnt, wenn sie nicht mit einerALLOW
-Richtlinie übereinstimmt, auch wenn sie von anderen Richtlinien zugelassen wird.DENY
: blockiert den Zugriff auf die Ressource, wenn eine Anfrage mit einer der Regeln in einerDENY
-Richtlinie übereinstimmt. Die Autorisierungsrichtlinie gewährt Zugriff auf die angeforderte Ressource, wenn die Anfrage nicht mit den in der Autorisierungsrichtlinie definierten Regeln übereinstimmt. Eine Anfrage wird abgelehnt, wenn sie mit einerDENY
-Richtlinie übereinstimmt, auch wenn sie von anderen Richtlinien zugelassen wird.CUSTOM
: Ermöglicht die Einbindung in externe Autorisierungssysteme für komplexe Autorisierungsentscheidungen.CUSTOM
-Aktionen werden für Richtlinien verwendet, bei denen Diensterweiterungen oder IAP für Autorisierungsentscheidungen verwendet werden.
Reihenfolge der Auswertung von Autorisierungsrichtlinien
Wenn einer einzelnen Ressource mehrere Autorisierungsrichtlinien zugewiesen sind, werden sie in der folgenden Reihenfolge ausgewertet, um zu bestimmen, ob eine Anfrage zugelassen oder abgelehnt wird.
Richtlinien mit
CUSTOM
-Aktionen: Wenn dieCUSTOM
-Richtlinie die Anfrage ablehnt, wird sie sofort abgelehnt.DENY
- oderALLOW
-Richtlinien werden nicht ausgewertet, auch wenn sie konfiguriert sind.Richtlinien mit
DENY
-Maßnahmen: Wenn eineDENY
-Richtlinie mit der Anfrage übereinstimmt, wird die Anfrage abgelehnt.ALLOW
-Richtlinien werden nicht ausgewertet, auch wenn sie konfiguriert sind.Richtlinien mit
ALLOW
-Aktionen: Wenn keineALLOW
-Richtlinien vorhanden sind oder eineALLOW
-Richtlinie mit der Anfrage übereinstimmt, wird die Anfrage zugelassen. Wenn jedoch keineALLOW
-Richtlinien mit der Anfrage übereinstimmen, wird sie abgelehnt.
Autorisierungsentscheidungen delegieren
Bei komplexen Autorisierungsentscheidungen, die nicht mit der Autorisierungsrichtlinie ausgedrückt werden können, delegieren Sie die Autorisierungsentscheidung an benutzerdefinierte Autorisierungsanbieter wie Identity-Aware Proxy (IAP) oder erstellen Sie eine eigene Autorisierungserweiterung, die mit Diensterweiterungen erstellt wurde. Dies ist nützlich, wenn Sie Ihre lokale Autorisierungs-Engine oder externe Identitätsanbieter über IAP verwenden möchten.
IAP: Konfigurieren Sie IAP, um den Zugriff auf Anwendungen zu steuern, die sich hinter den Weiterleitungsregeln des Application Load Balancers befinden. IAP prüft die Nutzeridentität und den Kontext, um den Zugriff zu bestimmen. Außerdem kann IAP IAM-Dienstkontotokens (Identity and Access Management) authentifizieren und IAM-Richtlinien auswerten, um den Zugriff auf Backend-Buckets zu schützen, die über den Application Load Balancer freigegeben werden. Weitere Informationen finden Sie unter Autorisierung an IAP und IAM delegieren.
In den folgenden Fällen können Sie die Authentifizierung an IAP und IAM delegieren:
- Verwenden Sie IAM für die Berechtigungsverwaltung.
- Implementieren Sie kontextsensitiven Zugriff.
- Verwenden Sie die browserbasierte Authentifizierung für Webanwendungen, die eine interaktive Authentifizierung erfordern.
Diensterweiterungen: Delegieren Sie Autorisierungsentscheidungen an Ihre benutzerdefinierte Autorisierungs-Engine, die auf Google Cloud-VM-Instanzen oder lokal ausgeführt wird. So können komplexe Autorisierungsrichtlinien flexibel festgelegt werden, die nicht durch vordefinierte Richtlinien abgedeckt sind. Weitere Informationen finden Sie unter Autorisierungserweiterung konfigurieren.
Preise
Autorisierungsrichtlinien werden während des Vorschauzeitraums nicht berechnet. Bei der Verwendung von Google Cloud-Load-Balancern fallen jedoch Netzwerkgebühren an. Preisinformationen finden Sie unter Preise.