Zugriff auf mit IAP gesicherte Ressourcen verwalten

Auf dieser Seite wird gezeigt, wie Sie den Zugriff von Einzelpersonen oder von Gruppen auf IAP-gesicherte Ressourcen (Identity-Aware Proxy) auf Ressourcenebene verwalten.

Überblick

Mit IAP können Sie IAP-Richtlinien für einzelne Ressourcen und Cloud Run-Ressourcen in einem Google Cloud-Projekt konfigurieren. Für Anwendungen innerhalb eines Projekts können unterschiedliche Zugriffsrichtlinien gelten. Dies gilt auch für Projekte mit Compute Engine-, Google Kubernetes Engine- und App Engine-Anwendungen. Bei App Engine-Anwendungen können für einzelne Versionen und Dienste unterschiedliche Zugriffsrichtlinien gültig sein.

Verwenden Sie die Seite IAM & Verwaltung, um den Zugriff auf Projektebene und darüber zu verwalten. Listen von Nutzern, die Zugriff auf Projektebene haben (die „Hauptkonten“), gelten für alle mit IAP gesicherten Ressourcen im Projekt.

Hinweise

Für den Start ist Folgendes erforderlich:

  • Eine mit IAP gesicherte Ressource, der Sie Einzelnutzern oder Gruppen den Zugriff hinzufügen möchten.
  • Die Namen der Nutzer oder Gruppen, denen Sie das Zugriffsrecht gewähren möchten.

IAP aktivieren und deaktivieren

Zur Aktivierung und Deaktivierung von Cloud IAP benötigen Sie bestimmte Berechtigungen. Die folgende Tabelle enthält die für jeden Anwendungstyp erforderliche Berechtigung.

Anwendungstyp Erforderliche Berechtigung
App Engine appengine.applications.update
Compute Engine, Google Kubernetes Engine oder Cloud Run compute.backendServices.update

Diese Berechtigungen werden von Rollen wie Projektbearbeiter, App Engine-Administrator und Compute Network-Administrator gewährt. Diese Rollen ermöglichen zwar das Aktivieren und Deaktivieren von IAP. Sie enthalten jedoch nicht die erforderlichen Berechtigungen zum Ändern von Zugriffsrichtlinien.

Für die Aktivierung von IAP mit der Google Cloud Console sind möglicherweise auch die Berechtigungen clientauthconfig.clients.create und clientauthconfig.clients.getWithSecret erforderlich. Diese Berechtigungen werden von der Rolle des Projektbearbeiters gewährt.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Zugriff in der Google Cloud Console verwalten

Wenn Sie den Zugriff auf eine mit IAP gesicherte Ressource mit der Google Cloud Console steuern möchten, folgen Sie der Anleitung zum Hinzufügen oder Entfernen des Zugriffs.

Zugriff hinzufügen

  1. Rufen Sie die Seite Identity-Aware Proxy auf.
    Zur Seite "Identity-Aware Proxy"

  2. Wählen Sie die Ressource aus, die Sie mit IAP sichern möchten. Mit der folgenden Ressourcenauswahl wird eine Gruppe von Ressourcen gesichert:

    • Alle Webdienste: Es werden alle Ressourcen im Projekt gesichert. Beachten Sie, dass dies nicht mit dem Gewähren des Zugriffs auf Projektebene über die Seite IAM & Verwaltung identisch ist. Wenn einem Nutzer die Rolle IAP-Richtlinienadministrator auf der Ressourcenebene Alle Webdienste zugewiesen wurde, verfügt er nur über Berechtigungen für IAP-Richtlinien.

    • Back-End-Dienste: Es werden alle Back-End-Dienste gesichert.

  3. Fügen Sie auf der rechten Seite im Infofeld die E-Mail-Adressen der Gruppen oder Einzelpersonen hinzu, denen Sie für die Ressource eine IAM-Rolle zuweisen möchten.

  4. Wenden Sie Zugriffsrichtlinienrollen auf das Hauptkonto an, indem Sie eine der folgenden Rollen im Drop-down-Menü Rolle auswählen auswählen:

    • Inhaber: Gewährt denselben Zugriff wie der IAP-Richtlinienadministrator. Verwenden Sie stattdessen die Rolle IAP-Richtlinienadministrator. Diese Rolle ermöglicht nur das Ändern von Richtlinien und gewährt keinen Zugriff auf die Anwendung.

    • IAP-Richtlinienadministrator: Gewährt Administratorrechte auf Cloud IAP-Richtlinien.

    • Nutzer von IAP-gesicherten Web-Apps: Gewährt Zugriff auf die Anwendung und andere HTTPS-Ressourcen, die IAP verwenden.

    • Sicherheitsprüfer: Gewährt Berechtigung zum Aufrufen und Prüfen von IAP-Richtlinien.

  5. Wenn Sie das Hinzufügen von E-Mail-Adressen und das Festlegen von Rollen abgeschlossen haben, klicken Sie auf Hinzufügen.

Zugriff aufheben

  1. Rufen Sie die Seite Identity-Aware Proxy auf.
    Zur Seite "Identity-Aware Proxy"
  2. Wählen Sie die Ressource aus, die mit IAP gesichert ist.
  3. Wählen Sie auf der rechten Seite im Infofeld den Abschnitt aus, der der Rolle entspricht, die Sie von einem Hauptkonto entfernen möchten.
  4. Klicken Sie im erweiterten Bereich neben jedem Nutzer- oder Gruppennamen, bei dem Sie die Rolle entfernen möchten, auf Entfernen.
  5. Klicken Sie im Dialogfeld Hauptkonto entfernen auf Entfernen.

Zugriff mit der API verwalten

IAM bietet eine Reihe von Standardmethoden zum Erstellen und Verwalten von Richtlinien zur Zugriffssteuerung für Google Cloud-Ressourcen.

Ressourcen und Berechtigungen

Mit der IAP API können Sie einzelnen Ressourcen in einem IAP-gesicherten Projekt Cloud IAM-Berechtigungen zuweisen. IAM-Berechtigungen auf einer bestimmten Ebene sind für alle Ebenen gültig, die dieser untergeordnet sind. Beispielsweise gilt eine auf Projektebene gewährte Berechtigung für alle Google Cloud-Ressourcen im Projekt. Der Zugriff auf Projektebene und höher wird auf der IAM-Admin-Seite verwaltet, aber auf der IAP-Administratorseite angezeigt.

Nutzer benötigen bestimmte Berechtigungen, um auf eine App zuzugreifen, die durch IAP gesichert ist. Um diese Berechtigungen zu gewähren, können Administratoren eine API verwenden, um IAM-Richtlinien zu aktualisieren. Die Berechtigung iap.webServiceVersions.accessViaIAP gewährt Nutzern Zugriff auf eine Anwendung. Wenn Sie den Zugriff auf Verwaltungsdienste wie SSH und RDP mit IAP steuern, benötigen Nutzer die Berechtigung iap.tunnelInstances.accessViaIAP.

Jede IAP-Ressource hat ihre eigenen Berechtigungen getIamPolicy und setIamPolicy, mit denen die Zugriffsrichtlinien für diese Ressource und die ihr untergeordneten Ressourcen verwaltet werden können.

Für den Aufruf der IAM API erstellen Sie einen Aufruf mit einem URL-Pfad zu einer Ressource. Im folgenden Beispiel wird die IAM-Richtlinie für die Dienstversion einer App Engine-Anwendung abgerufen.

https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web/
appengine-APP_ID/services/SERVICE_ID/versions/VERSION_ID:getIamPolicy

In der folgenden Tabelle sind die unterstützten Ressourcentypen sowie die Berechtigungen aufgeführt, die zum Aufrufen der IAM API erforderlich sind.

Ressourcentyp Berechtigungen
Jede mit IAP gesicherte Webanwendung im Projekt
Dies entspricht dem Kästchen Alle Webdienste auf der IAP-Administratorseite.

Pfad

https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web
iap.web.getIamPolicy

iap.web.setIamPolicy
Ein Back-End-Dienst
Entspricht dem Kästchen Back-End-Dienst auf der IAP-Administratorseite.

Pfade
Globaler Geltungsbereich:

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute

Regionaler Geltungsbereich:

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute-REGION_NAME
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
Eine App Engine-Anwendung
Entspricht dem Kästchen App Engine-Anwendung auf der IAP-Administratorseite.

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/appengine-APP_ID
iap.webTypes.getIamPolicy

iap.webTypes.setIamPolicy
Ein Back-End-Dienst von Compute Engine
Der Back-End-Dienstpfad kann entweder die Back-End-Dienst-ID oder den Namen des Back-End-Dienstes angeben.

Pfade
Globaler Geltungsbereich:

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute/services/
BACKEND_SERVICE_ID or BACKEND_SERVICE_NAME

Regionaler Geltungsbereich:

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/compute-REGION_NAME/
services/BACKEND_SERVICE_ID or BACKEND_SERVICE_NAME
iap.webServices.getIamPolicy

iap.webServices.setIamPolicy
Einen App Engine-Anwendungsdienst

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/appengine-APP_ID/
services/APP_SERVICE_ID
iap.webServices.getIamPolicy

iap.webServices.setIamPolicy
Eine App Engine-Dienstversion
Compute Engine unterstützt keine Versionsverwaltung.

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_web/appengine-APP_ID/
services/APP_SERVICE_ID/versions/VERSION_ID
iap.webServiceVersions.getIamPolicy

iap.webServiceVersions.setIamPolicy
Jede mit IAP gesicherte VM-Instanz im Projekt
Entspricht dem Kästchen Alle Tunnelressourcen auf der IAP-Administratorseite.

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_tunnel
iap.tunnel.getIamPolicy

iap.tunnel.setIamPolicy
Eine Zone mit mindestens einer VM-Instanz
Dies entspricht einem Kästchen für Zonennamen auf der IAP-Administratorseite, z. B. us-central1-c.

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_tunnel/zones/ZONE_NAME
iap.tunnelZones.getIamPolicy

iap.tunnelZones.setIamPolicy
Eine einzelne VM-Instanz

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_tunnel/zones/ZONE_NAME
/instances/INSTANCE_ID or INSTANCE_NAME
iap.tunnelInstances.getIamPolicy

iap.tunnelInstances.setIamPolicy
Eine Region mit mindestens einer Zielgruppe, z. B. us-central1

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_tunnel/locations/REGION_NAME
iap.tunnelLocations.getIamPolicy

iap.tunnelLocations.setIamPolicy
Einzelne Zielgruppe

Pfad

https://iap.googleapis.com/v1/projects/
PROJECT_NUMBER/iap_tunnel/locations/REGION_NAME
/destGroups/GROUP_NAME
iap.tunnelDestGroups.getIamPolicy

iap.tunnelDestGroups.setIamPolicy

Rollen

In der folgenden Tabelle sind die IAP IAM-Rollen mit einer entsprechenden Liste aller IAP-spezifischen Berechtigungen aufgeführt, die jede Rolle enthält. Weitere Informationen zu IAM-Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Rolle Enthaltene Berechtigung(en) Beschreibung
Nutzer von IAP-gesicherten Web-Apps (roles/iap.httpsResourceAccessor) iap.webServiceVersions.accessViaIAP Gewährt Zugriff auf App Engine- und Compute Engine-Ressourcen.
Nutzer IAP-gesicherter Tunnel (roles/iap.tunnelResourceAccessor) iap.tunnelInstances.accessViaIAP
iap.tunnelDestGroups.accessViaIAP
Gewährt Zugriff auf VM-Instanzen, die mit IAP gesichert sind.
IAP-Richtlinienadministrator (roles/iap.admin) iap.web.getIamPolicy
iap.web.setIamPolicy
iap.webTypes.getIamPolicy
iap.webTypes.setIamPolicy
iap.webServices.getIamPolicy
iap.webServices.setIamPolicy
iap.webServiceVersions.getIamPolicy
iap.webServiceVersions.setIamPolicy
iap.tunnel.getIamPolicy
iap.tunnel.setIamPolicy
iap.tunnelZones.getIamPolicy
iap.tunnelZones.setIamPolicy
iap.tunnelInstances.getIamPolicy
iap.tunnelInstances.setIamPolicy
Gewährt IAP-Administratorrechte, um IAP-Zugriffsrichtlinien für Ressourcen zu verwalten.

Öffentlicher Zugriff

Um allen Zugriff auf eine Ressource zu gewähren, weisen Sie einem der folgenden Hauptkonten eine Rolle zu:

  • allAuthenticatedUsers: Jeder, der sich mit einem Google-Konto oder einem Dienstkonto authentifiziert hat.
  • allUsers: Jeder, der eine Internetverbindung hat, einschließlich authentifizierter und nicht authentifizierter Nutzer. Der signierte Header für die Anfrage hat keine Anforderung sub oder email.

Wenn ein öffentlicher Zugriff gewährt wird, generiert IAP keine Cloud-Audit-Logs für die Anfrage.

Derzeit können Bindungen, über die öffentlicher Zugriff gewährt wird, keine Bedingungen zugeordnet werden. Beispielsweise ist eine Richtlinie, die allen Nutzern den Zugriff auf eine Ressource ermöglicht, wenn der Anfragepfad mit /public/ beginnt, ungültig.