Auf dieser Seite wird beschrieben, wie Sie den zertifikatbasierten Zugriff aktivieren (CBA) für Ihre Google Cloud-VMs. Mit der CBA können Sie den Zugriff von vertrauenswürdigen Geräten zu Google Cloud-VMs.
Übersicht
CBA für VMs nutzt das Google Cloud-Feature für kontextsensitiven Zugriff, um Zugriff mithilfe von Mutual TLS (mTLS) Im Folgenden sind die Hauptkomponenten Ihrer Arbeit aufgeführt. um CBA für VMs zu aktivieren und zu verwenden:
- Access Context Manager: Hiermit können Sie Zugriffsebenen erstellen, für die Zertifikate erforderlich sind, wenn des Zugriffs auf Webanwendungen bestimmen.
- Identity-Aware Proxy (IAP): IAP TCP Mit der Weiterleitung können Sie eine verschlüsselte, über den Sie SSH-, RDP- und anderen Traffic an VM-Instanzen weiterleiten können. Darüber hinaus bietet eine IAP-Richtlinie detaillierte Steuerung darüber, welche Nutzer Tunnel zu einer bestimmten VM einrichten dürfen und welche Zugriffsbedingungen die Nutzer erfüllen müssen, Tunneln.
- Chrome Enterprise-Richtlinie: gegenseitige Authentifizierung (mTLS) zwischen Nutzern und VMs im Chrome-Browser.
- Google Cloud CLI: Bietet gegenseitige Authentifizierung (mTLS) zwischen Nutzern und VMs wenn Sie die gcloud CLI verwenden.
Hinweise
Achten Sie darauf, dass Sie CBA-Zugriffsebenen erstellt haben. für Ihr Google Cloud-Projekt.
Rollen für den Zugriff auf VMs über die IAP-TCP-Weiterleitung gewähren
Sie müssen die entsprechenden IAM-Rollen (Identity and Access Management) für ein Projekt gewähren, Ermöglichen Sie Nutzern oder Nutzergruppen, die IAP-TCP-Weiterleitung für den Zugriff auf VMs zu verwenden.
In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, die Sie vertrauenswürdigen Administratoren für die TCP-Weiterleitung und zugehörige Aufgaben
Aufgabe | Rollen | Weitere Informationen |
---|---|---|
TCP-Weiterleitung |
Nutzer IAP-gesicherter Tunnel (roles/iap.tunnelResourceAccessor )
|
Zugriff auf alle VM-Instanzen in einem Projekt gewähren oder Zugriff auf eine bestimmte VM gewähren |
SSH-Zugriff |
Compute-Instanzadministrator (Version 1) (roles/compute.instanceAdmin.v1 )
|
|
OS Login (empfohlen) | Verschiedene | <ph type="x-smartling-placeholder"></ph> OS Login-Rollen für Nutzerkonten konfigurieren |
Dienstkonto verwenden | Dienstkontonutzer (roles/iam.serviceAccountUser ) |
<ph type="x-smartling-placeholder"></ph> Rolle „serviceAccountUser“ |
Weitere Informationen zum Gewähren von Rollen für die TCP-Weiterleitung von IAP Siehe Rollen für IAP-TCP-Weiterleitung gewähren.
Zertifikatbasierten Zugriff auf eine VM konfigurieren
Obwohl Sie mit IAP-TCP Zugriff auf alle VM-Instanzen in einem Projekt ist, müssen Sie für jede einzelne VM-Instanz den zertifikatsbasierten Zugriff konfigurieren.
Um einem Nutzer oder einer Nutzergruppe zertifikatsbasierten Zugriff auf eine VM zu gewähren, gewähren Sie den
Rolle roles/iap.tunnelResourceAccessor
für die VM-Instanz. Die anderen Rollen
für das Projekt gewährt werden kann.
Console
Öffnen Sie die IAP-Admin-Seite und wählen Sie die Optionen SSH und TCP Ressourcen.
<ph type="x-smartling-placeholder"></ph> Zu IAP-Käufe“
Wählen Sie die VM-Instanzen aus, die Sie konfigurieren möchten. Klicken Sie auf Informationen anzeigen , wenn das Infofeld nicht sichtbar ist.
Klicken Sie auf Hinzufügen und konfigurieren Sie Folgendes:
- Neue Hauptkonten: Geben Sie den Nutzer oder die Nutzergruppe an, die Sie Zugriff zu gewähren.
- Rolle auswählen: Wählen Sie Cloud IAP > Nutzer IAP-gesicherter Tunnel aus.
Klicken Sie auf IAM-Bedingung hinzufügen und konfigurieren Sie eine Bedingung:
- Titel: Geben Sie einen Namen für die Bedingung ein.
- Builder für IAM-Bedingungen: Wählen Sie Zugriffsebene aus der Bedingungstyp und wählen Sie den zertifikatsbasierten Zugriff aus. zuvor Level erstellt.
Klicken Sie auf Speichern.
API
Um den zertifikatsbasierten Zugriff auf eine VM zu konfigurieren, ändern Sie die
policy.json
-Datei.
Siehe Zugriff auf mit IAP gesicherte Ressourcen verwalten finden Sie weitere Informationen zur Verwaltung von Zugriffsrichtlinien mit der IAM API.
Exportieren Sie die folgenden Variablen.
export IAP_BASE_URL=https://iap.googleapis.com/v1/projects/PROJECT_NUMBER/iap_tunnel # Replace POLICY_FILE.JSON with the name of JSON file to use for setIamPolicy export JSON_NEW_POLICY=POLICY_FILE.JSON
Rufen Sie die IAM-Richtlinie für die Compute Engine-Instanz mit der Methode
getIamPolicy
ab. Das leere Datenbit am Ende verwandelt die Kurve. anPOST
statt anGET
.curl -i -H "Authorization: Bearer $(gcloud auth print-access-token)" \ ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:getIamPolicy \ -d ''
Die Rolle
iap.tunnelResourceAccessor
und den zertifikatsbasierten Zugriff gewähren für Hauptkonten, indem Sie das JSON-Datei der IAM-Richtlinie.Das folgende Beispiel zeigt eine
policy.json
-Datei, die den Rolleiap.tunnelResourceAccessor
für eine Gruppe von VM-Instanzadministratoren, zertifikatsbasierten Zugriff auf IAP-gesicherte Tunnelressourcen.Wenn ein Hauptkonto die Rolle „Inhaber“ hat, ist es berechtigt, IAP für die TCP-Weiterleitung
{ "policy": { "bindings": [ { "role": "roles/iap.tunnelResourceAccessor", "members": ["group:instance-admins@example.com"], "condition": { "expression": "\"accessPolicies/POLICY_NAME/accessLevels/CERTIFICATE_BASED_ACCESS_LEVEL_NAME\" in request.auth.access_levels, "title": "CERTIFICATE_BASED_CONDITION_NAME" } } ] } }
So finden Sie den Richtliniennamen:
accessPolicies.list
aufrufen .GET https://accesscontextmanager.googleapis.com/v1/accessPolicies
Legen Sie die neue
policy.json
-Datei mit der MethodesetIamPolicy
fest.curl -i -H "Content-Type:application/json" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ ${IAP_BASE_URL}/zones/ZONE_NAME/instances/INSTANCE_ID or INSTANCE_NAME:setIamPolicy \ -d @${JSON_NEW_POLICY}
Mit Clientzertifikaten auf VMs zugreifen
Verwenden Sie eine der folgenden Methoden, um mithilfe von Clientzertifikaten auf VMs zuzugreifen.
- Unternehmenszertifikate verwenden: Verwenden Sie diese Methode, wenn Sie eine PKI-Infrastruktur haben.
- Von der Endpunktprüfung bereitgestellte Zertifikate verwenden: Verwenden Sie diese Methode, wenn Sie keine PKI-Infrastruktur haben. Endpunktprüfung stellt automatisch signierte Zertifikate mit Google Cloud für jedes Gerät
Clientzertifikate im Chrome-Browser für den Zugriff auf VMs verwenden
- Konfigurieren Sie den Chrome-Browser mit einer der folgenden Optionen.
- Geben Sie im Chrome-Browser die folgende Domain ein, um auf die
Google Cloud Console:
console-secure.cloud.google.com
. - Zugriff auf Google Cloud-VMs mit IAP-Tunneling.
Mit Clientzertifikaten in der gcloud CLI auf VMs zugreifen
Konfigurieren Sie die gcloud CLI mit einer der folgenden Methoden.
Greifen Sie mithilfe von IAP-Tunneling auf Google Cloud-VMs zu.