Auf dieser Seite wird beschrieben, wie Sie den individuellen oder Gruppen-Zugriff auf Ressourcen verwalten, die auf Ressourcenebene durch Identity-Aware Proxy (IAP) geschützt sind.
Übersicht
Mit IAP können Sie IAP-Richtlinien für einzelne 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 haben („Hauptkonten“), auf Projektebene gelten für alle IAP-geschützten Ressourcen im Projekt.
Hinweis
Für den Start ist Folgendes erforderlich:
- Eine durch IAP gesicherte Ressource, der Sie individuellen oder Gruppen-Zugriff hinzufügen möchten.
- Die Namen der Nutzer oder Gruppen, denen Sie das Zugriffsrecht erteilen wollen.
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.
Außerdem sind zum Aktivieren von IAP-Käufen über die Google Cloud Console möglicherweise die Berechtigungen clientauthconfig.clients.create, clientauthconfig.clients.update und clientauthconfig.clients.getWithSecret erforderlich. Diese Berechtigungen werden durch die Rolle „Projektbearbeiter“ 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 IAP-gesicherte Ressource mit derGoogle Cloud -Konsole steuern möchten, folgen Sie der Anleitung zum Hinzufügen oder Entfernen des Zugriffs.
Zugriff hinzufügen
Rufen Sie die Seite Identity-Aware Proxy auf.
Zur Seite "Identity-Aware Proxy"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.
Fügen Sie rechts im Infofeld die E‑Mail-Adressen von Gruppen oder Einzelpersonen hinzu, denen Sie eine IAM-Rolle (Identity and Access Management) für die Ressource zuweisen möchten.
Weisen Sie dem Hauptkonto Rollen für Zugriffsrichtlinien zu, indem Sie im Drop-down-Menü Rolle auswählen eine der folgenden Rollen 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.
Wenn Sie das Hinzufügen von E-Mail-Adressen und das Festlegen von Rollen abgeschlossen haben, klicken Sie auf Hinzufügen.
Zugriff aufheben
- Rufen Sie die Seite Identity-Aware Proxy auf.
Zur Seite "Identity-Aware Proxy" - Wählen Sie die Ressource aus, die mit IAP gesichert ist.
- Wählen Sie rechts im Infofeld den Abschnitt aus, der der Rolle entspricht, die Sie aus einem Hauptkonto entfernen möchten.
- Klicken Sie im erweiterten Bereich neben jedem Nutzer- oder Gruppennamen, bei dem Sie die Rolle entfernen möchten, auf Entfernen.
- Klicken Sie im angezeigten Dialogfeld Hauptkonto entfernen auf Entfernen.
Zugriff mit der API verwalten
IAM bietet einen Standardsatz von Methoden zum Erstellen und Verwalten von Richtlinien zur Zugriffssteuerung für Google Cloud -Ressourcen.
Ressourcen und Berechtigungen
Mit der IAP API können Sie IAM-Berechtigungen auf einzelne Ressourcen in einem mit IAP gesicherten Projekt anwenden. IAM-Berechtigungen auf einer bestimmten Ebene sind für alle Ebenen gültig, die dieser untergeordnet sind. Eine auf Projektebene erteilte Berechtigung gilt beispielsweise für alle Google Cloud Ressourcen im Projekt. Der Zugriff auf Projektebene und darüber hinaus wird auf der IAM-Seite „Verwaltung“ verwaltet, aber auf der IAP-Seite „Verwaltung“ angezeigt.
Nutzer benötigen bestimmte Berechtigungen, um auf eine App zuzugreifen, die durch IAP geschützt ist.
Administratoren können eine API verwenden, um IAM-Richtlinien zu aktualisieren und diese Berechtigungen zu erteilen. Mit der Berechtigung iap.webServiceVersions.accessViaIAP erhalten Nutzer Zugriff auf eine App. Wenn Sie IAP verwenden, um den Zugriff auf administrative Dienste wie SSH und RDP zu 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 IAP-gesicherte Web-App im Projekt Dies entspricht dem Kästchen Alle Webdienste auf der IAP-Seite „Verwaltung“. Pfad https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web |
iap.web.getIamPolicyiap.web.setIamPolicy |
| Jeder Backend-Dienst im Projekt Dies entspricht dem Kästchen Backend-Dienst auf der IAP-Seite „Verwaltung“. Pfade Globaler Bereich: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Jede Weiterleitungsregel im Projekt: Berechtigungen für alle Weiterleitungsregeln im Projekt. Pfade Globaler Bereich: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Eine Region für jeden Cloud Run-Dienst im Projekt Berechtigungen für alle Cloud Run-Dienste in einer Region im Projekt. Pfad https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Ein Cloud Run-Dienst Berechtigungen für einen Cloud Run-Dienst. Alle Cloud Run-Dienste sind regional. Pfad https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| App Engine-App Dies entspricht dem Kästchen App Engine-App auf der IAP-Seite „Verwaltung“. Pfad https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicyiap.webTypes.setIamPolicy |
| Ein Compute Engine-Backend-Dienst Der Backend-Dienstpfad kann entweder die Backend-Dienst-ID oder den Backend-Dienstnamen angeben. Pfade Globaler Umfang: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Eine Compute Engine-Weiterleitungsregel Berechtigungen für eine Weiterleitungsregel. Im Pfad der Weiterleitungsregel kann entweder die ID oder der Name der Weiterleitungsregel angegeben werden. Pfade Globaler Umfang: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| Ein App Engine-App-Dienst Pfad https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicyiap.webServices.setIamPolicy |
| An App Engine service version Compute Engine doesn't support versioning. Path https://iap.googleapis.com/v1/projects/ |
iap.webServiceVersions.getIamPolicyiap.webServiceVersions.setIamPolicy |
| Jede IAP-gesicherte VM-Instanz im Projekt Dies entspricht dem Kästchen Alle Tunnelressourcen auf der IAP-Seite „Verwaltung“. Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnel.getIamPolicyiap.tunnel.setIamPolicy |
| Eine Zone mit mindestens einer VM-Instanz Dies entspricht dem Kästchen für den Zonennamen auf der IAP-Seite „Verwaltung“, z. B. us-central1-c. Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelZones.getIamPolicyiap.tunnelZones.setIamPolicy |
| Eine einzelne VM-Instanz Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelInstances.getIamPolicyiap.tunnelInstances.setIamPolicy |
Eine Region mit mindestens einer Zielgruppe, z. B. us-central1 Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelLocations.getIamPolicyiap.tunnelLocations.setIamPolicy |
| Eine einzelne Zielgruppe Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelDestGroups.getIamPolicyiap.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.accessViaIAPiap.tunnelDestGroups.accessViaIAP |
Gewährt Zugriff auf VM-Instanzen, die durch IAP geschützt sind. |
IAP-Richtlinienadministrator (roles/iap.admin) |
iap.web.getIamPolicyiap.web.setIamPolicyiap.webTypes.getIamPolicyiap.webTypes.setIamPolicyiap.webServices.getIamPolicyiap.webServices.setIamPolicyiap.webServiceVersions.getIamPolicyiap.webServiceVersions.setIamPolicyiap.tunnel.getIamPolicyiap.tunnel.setIamPolicyiap.tunnelZones.getIamPolicyiap.tunnelZones.setIamPolicyiap.tunnelInstances.getIamPolicyiap.tunnelInstances.setIamPolicy |
Gewährt IAP-Administratorrechte, um IAP-Zugriffsrichtlinien für Ressourcen zu verwalten. |
Zugriff mit der Google Cloud CLI verwalten
Sie können den Zugriff auch über die Google Cloud CLI verwalten.
Zugriff verweigern
Mit IAM-Ablehnungsrichtlinien (Identity and Access Management) können Sie Leitlinien für den Zugriff auf Google Cloud Ressourcen festlegen. Eine Liste der Szenarien, in denen Ablehnungsrichtlinien nützlich sind, finden Sie unter Anwendungsfälle.
Sie können Ablehnungsrichtlinien erstellen und alle IAP-Berechtigungen in diese Richtlinien aufnehmen. Eine Liste der IAP-Berechtigungen, die Sie einer Ablehnungsrichtlinie hinzufügen können, finden Sie unter In Ablehnungsrichtlinien unterstützte Berechtigungen. Suchen Sie dort nach iap.googleapis.com. Ablehnungsrichtlinien können zwar auf alle IAP-Berechtigungen angewendet werden, ihre Wirksamkeit ist jedoch an einen Anhängungspunkt für Ablehnungsrichtlinien gebunden.
Einige IAP-Berechtigungen sind nur auf der jeweiligen Ressourcenebene und nicht auf ihren untergeordneten Elementen wirksam. Beispiel: iap.organizations.getSettings gewährt Zugriff auf getSettings auf Organisationsebene,aber nicht auf die untergeordneten Elemente der Organisation. Das bedeutet, dass Administratoren alle relevanten detaillierten Berechtigungen explizit auflisten müssen, wenn sie Ablehnungsrichtlinien erstellen, um den Zugriff auf einen Anhängepunkt und seine untergeordneten Elemente zu verweigern.
Eine vollständige Liste dieser detaillierten Berechtigungen finden Sie unter In Ablehnungsrichtlinien unterstützte Berechtigungen.
Alle Berechtigungen unter dem FQDN iap.googleapis.com und den Ressourcentypen iap.organizations, iap.folders, iap.projects, iap.web, iap.webTypes, iap.webServices und iap.webServicesVersions sind detaillierte Berechtigungen.
Das Folgende ist ein Beispiel für eine IAM-Ablehnungsrichtlinie, mit der der Zugriff auf die getSettings API für ein Hauptkonto in einer Organisation und ihren untergeordneten Elementen verweigert wird.
{
"name": "policies/cloudresourcemanager.googleapis.com%2Forganizations%2F253519172624/denypolicies/testpolicyid",
"uid": "06ccd2eb-d2a5-5dd1-a746-eaf4c6g3f816",
"kind": "DenyPolicy",
"displayName": "Only project admins can delete projects.",
"etag": "MTc1MTkzMjY0MjUyMTExODMxMDQ=",
"createTime": "2021-09-07T23:15:35.258319Z",
"updateTime": "2021-09-07T23:15:35.258319Z",
"rules": [
{
"denyRule": {
"deniedPrincipals": [
"principalSet://goog/public:all"
],
"deniedPermissions": [
"iap.googleapis.com/iap.organizations.getSettings",
"iap.googleapis.com/iap.folders.getSettings",
"iap.googleapis.com/iap.projects.getSettings",
"iap.googleapis.com/iap.web.getSettings",
"iap.googleapis.com/iap.webTypes.getSettings",
"iap.googleapis.com/iap.webServices.getSettings",
"iap.googleapis.com/iap.webServicesVersions.getSettings",
],
}
}
]
}
Anstatt alle detaillierten Berechtigungen anzugeben, ist hier ein Beispiel für die IAM-Ablehnungsrichtlinie mit nur einer Berechtigung: *.getSettings.
{
"name": "policies/cloudresourcemanager.googleapis.com%2Forganizations%2F253519172624/denypolicies/testpolicyid",
"uid": "06ccd2eb-d2a5-5dd1-a746-eaf4c6g3f816",
"kind": "DenyPolicy",
"displayName": "Only project admins can delete projects.",
"etag": "MTc1MTkzMjY0MjUyMTExODMxMDQ=",
"createTime": "2021-09-07T23:15:35.258319Z",
"updateTime": "2021-09-07T23:15:35.258319Z",
"rules": [
{
"denyRule": {
"deniedPrincipals": [
"principalSet://goog/public:all"
],
"deniedPermissions": [
"iap.googleapis.com/*.getSettings",
],
}
}
]
}
Im Folgenden finden Sie einige einfachere Möglichkeiten zum Erstellen einer IAM-Ablehnungsrichtlinie, ohne alle detaillierten Berechtigungen angeben zu müssen.
| Administratoraktion | Berechtigung in Ablehnungsrichtlinie |
|---|---|
| Bestimmte IAP-Berechtigungen für alle IAP-Ressourcentypen ablehnen | *.updateSettings *.getSettings *.setIamPolicy *.getIamPolicy |
| Alle IAP-Berechtigungen für einen bestimmten Ressourcentyp ablehnen | iap.organizations.* iap.folders.* iap.projects.* iap.web.* iap.webTypes.* iap.webServices.* iap.webServicesVersions.* |
Öffentlicher Zugriff
Wenn Sie allen Zugriff auf eine Ressource gewähren möchten, weisen Sie einem der folgenden Principals 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 Anforderungsuboderemail.
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.
Beispiel: Eine Richtlinie, die jedem Zugriff auf eine Ressource gewährt, wenn der Anfragepfad mit /public/ beginnt, ist ungültig.