Auf dieser Seite wird gezeigt, wie Sie den Zugriff von Einzelpersonen oder von Gruppen auf IAP-gesicherte Ressourcen (Identity-Aware Proxy) auf Ressourcenebene verwalten.
Ü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 der Nutzer, die Zugriff haben (die „Hauptkonten“) auf Projektebene gilt für alle mit IAP gesicherten Ressourcen in für das Projekt.
Hinweise
Für den Start ist Folgendes erforderlich:
- Eine mit IAP gesicherte Ressource, der Sie einzelne Nutzer hinzufügen möchten oder Gruppenzugriff.
- 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.
IAP mit der Google Cloud Console aktivieren
sind möglicherweise auch die clientauthconfig.clients.create
und
clientauthconfig.clients.getWithSecret
-Berechtigungen. 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
So steuern Sie den Zugriff auf eine mit IAP gesicherte Ressource mit dem Folgen Sie der Anleitung in der Google Cloud Console, um Zugriffsrechte hinzuzufügen oder zu entfernen.
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 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.
Wenden Sie auf das Hauptkonto Zugriffsrichtlinienrollen an. Wählen Sie dazu eine der folgenden Rollen aus der Drop-down-Liste Rolle auswählen aus:
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 auf der rechten Seite 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 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 Anwendung zugreifen zu können, die durch IAP gesichert ist.
Administratoren können IAM-Richtlinien über eine API aktualisieren, um diese Berechtigungen zu gewähren. Die
Die Berechtigung iap.webServiceVersions.accessViaIAP
gewährt dem Nutzer Zugriff auf eine App. Wenn
verwenden Sie IAP, um den Zugriff auf administrative Dienste zu steuern.
wie SSH und RDP, benötigen Nutzer die iap.tunnelInstances.accessViaIAP
Berechtigung.
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 Webanwendung im Projekt Dies entspricht dem Kästchen Alle Webdienste auf der IAP-Admin-Seite. Pfad https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_web |
iap.web.getIamPolicy iap.web.setIamPolicy |
Back-End-Dienst Dies entspricht dem Kästchen Back-End-Dienst auf der IAP-Administratorseite. Pfade Globaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicy iap.webTypes.setIamPolicy |
An App Engine-Anwendung Dies entspricht dem Kästchen App Engine-Anwendung auf der IAP-Administratorseite. Pfad https://iap.googleapis.com/v1/projects/ |
iap.webTypes.getIamPolicy iap.webTypes.setIamPolicy |
Ein Compute Engine-Back-End-Dienst Der Back-End-Dienstpfad kann entweder die Back-End-Dienst-ID oder den Back-End-Dienstnamen angeben. Pfade Globaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ Regionaler Geltungsbereich: https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicy iap.webServices.setIamPolicy |
Ein App Engine-Anwendungsdienst Pfad https://iap.googleapis.com/v1/projects/ |
iap.webServices.getIamPolicy iap.webServices.setIamPolicy |
An App Engine service version Compute Engine doesn't support versioning. Path https://iap.googleapis.com/v1/projects/ |
iap.webServiceVersions.getIamPolicy iap.webServiceVersions.setIamPolicy |
Jede IAP-gesicherte VM-Instanz im Projekt Dies entspricht dem Kästchen Alle Tunnelressourcen auf der IAP-Administratorseite. Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnel.getIamPolicy iap.tunnel.setIamPolicy |
Eine Zone mit mindestens einer VM-Instanz Dies entspricht einem Kästchen für Zonennamen, z. B. us-central1-c . Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelZones.getIamPolicy iap.tunnelZones.setIamPolicy |
Eine einzelne VM-Instanz Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelInstances.getIamPolicy iap.tunnelInstances.setIamPolicy |
Eine Region mit mindestens einer Zielgruppe, z. B. us-central1 Pfad https://iap.googleapis.com/v1/projects/ |
iap.tunnelLocations.getIamPolicy iap.tunnelLocations.setIamPolicy |
Eine einzelne Zielgruppe Pfad https://iap.googleapis.com/v1/projects/ |
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 durch IAP gesicherte VM-Instanzen. |
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. |
Zugriff mit der Google Cloud CLI verwalten
Zugriff verweigern
Ablehnungsrichtlinien von Identity and Access Management (IAM) können Sie Schutzmaßnahmen für den Zugriff auf Google Cloud-Ressourcen festlegen. Eine Liste von Szenarien, in denen Ablehnungsrichtlinien nützlich sind, finden Sie unter use-cases.
Sie können Ablehnungsrichtlinien erstellen und alle IAP-Berechtigungen in diese Richtlinien aufnehmen. Für die Liste der IAP-Berechtigungen, die Sie hinzufügen können
finden Sie unter In Ablehnungsrichtlinien unterstützte Berechtigungen.
und suche nach iap.googleapis.com
. Ablehnungsrichtlinien können zwar
IAP-Berechtigungen ist, ist ihre Wirksamkeit an eine Ablehnungsrichtlinie gebunden.
Anhangspunkt.
Einige IAP-Berechtigungen gelten nur für die jeweilige Ressource
und nicht für die Nachfolgerelemente. Beispiel:iap.organizations.getSettings
gewährt Zugriff auf getSettings
auf Organisationsebene und nicht auf
die Nachfolger des Unternehmens. Das bedeutet, dass Administratoren explizit alle
beim Entwickeln von Ablehnungsrichtlinien für Zugriffsverweigerungen
und seine Nachfolgerelemente.
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 Beispiel zeigt eine IAM-Ablehnungsrichtlinie für
einem Hauptkonto in einer Organisation und deren Zugriff auf die getSettings
API verweigern
Nachfolgerelemente.
{
"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 Berechtigungen im Detail festzulegen, sehen Sie im Folgenden 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
Um allen Nutzern Zugriff auf eine Ressource zu gewähren, weisen Sie einer der folgenden Rollen eine Rolle zu: Hauptkonten:
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 Anforderungsub
oderemail
.
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.