Prüfpunkte
Creating and Managing Service Accounts
/ 30
Access BigQuery from a Service Account
/ 70
Dienstkonten und Rollen: Grundlagen
GSP199
Überblick
Ein Dienstkonto ist eine spezielle Art von Google-Konto, mit dem virtuellen Maschinen anstelle von Endnutzern Berechtigungen erteilt werden. Über Dienstkonten werden vor allem sichere, verwaltete Verbindungen zu APIs und Google Cloud-Diensten hergestellt. Nur vertrauenswürdige Verbindungen zuzulassen und potenziell böswillige Zugriffe zu verweigern ist unverzichtbar für die Sicherheit eines jeden Google Cloud-Projekts. In diesem Lab erfahren Sie anhand praktischer Übungen alles über Dienstkonten.
Lerninhalte
Aufgaben in diesem Lab:
- Dienstkonten erstellen und verwalten
- Virtuelle Maschine erstellen und sie einem Dienstkonto zuordnen
- Mithilfe von Clientbibliotheken von einem Dienstkonto aus auf BigQuery zugreifen
- Eine Abfrage für ein öffentliches BigQuery-Dataset von einer Compute Engine-Instanz aus ausführen
Vorbereitung
Erfahrung mit Cloud IAM ist empfehlenswert, es werden aber nur geringe oder gar keine Vorkenntnisse mit Dienstkonten vorausgesetzt. Wenn Sie fortgeschrittenere praktische Übungen in diesem Themenbereich suchen, sollten Sie sich die folgenden Labs ansehen:
Einrichtung und Anforderungen
Vor dem Klick auf „Start Lab“ (Lab starten)
Lesen Sie diese Anleitung. Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
- Zeit für die Durchführung des Labs – denken Sie daran, dass Sie ein begonnenes Lab nicht unterbrechen können.
Lab starten und bei der Google Cloud Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können. Auf der linken Seite befindet sich der Bereich Details zum Lab mit diesen Informationen:
- Schaltfläche Google Cloud Console öffnen
- Restzeit
- Temporäre Anmeldedaten für das Lab
- Ggf. weitere Informationen für dieses Lab
-
Klicken Sie auf Google Cloud Console öffnen (oder klicken Sie mit der rechten Maustaste und wählen Sie Link in Inkognitofenster öffnen aus, wenn Sie Chrome verwenden).
Im Lab werden Ressourcen aktiviert. Anschließend wird ein weiterer Tab mit der Seite Anmelden geöffnet.
Tipp: Ordnen Sie die Tabs nebeneinander in separaten Fenstern an.
Hinweis: Wird das Dialogfeld Konto auswählen angezeigt, klicken Sie auf Anderes Konto verwenden. -
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
{{{user_0.username | "Username"}}} Sie finden den Nutzernamen auch im Bereich Details zum Lab.
-
Klicken Sie auf Weiter.
-
Kopieren Sie das folgende Passwort und fügen Sie es in das Dialogfeld Willkommen ein.
{{{user_0.password | "Password"}}} Sie finden das Passwort auch im Bereich Details zum Lab.
-
Klicken Sie auf Weiter.
Wichtig: Sie müssen die für das Lab bereitgestellten Anmeldedaten verwenden. Nutzen Sie nicht die Anmeldedaten Ihres Google Cloud-Kontos. Hinweis: Wenn Sie Ihr eigenes Google Cloud-Konto für dieses Lab nutzen, können zusätzliche Kosten anfallen. -
Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Cloud Shell aktivieren
Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft auf Google Cloud. Mit Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
- Klicken Sie oben in der Google Cloud Console auf Cloud Shell aktivieren .
Wenn Sie verbunden sind, sind Sie bereits authentifiziert und das Projekt ist auf Ihre Project_ID,
gcloud
ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- (Optional) Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
- Klicken Sie auf Autorisieren.
Ausgabe:
- (Optional) Sie können die Projekt-ID mit diesem Befehl auflisten:
Ausgabe:
gcloud
finden Sie in Google Cloud in der Übersicht zur gcloud CLI.
Region für Ihr Projekt festlegen
Führen Sie den folgenden Befehl aus, um die Region für Ihr Projekt festzulegen:
Was sind Dienstkonten?
Ein Dienstkonto ist ein spezielles Google-Konto, das zu Ihrer Anwendung oder einer virtuellen Maschine (VM) und nicht zu einem bestimmten Endnutzer gehört. Mithilfe des Dienstkontos kann Ihre Anwendung die Google API eines Dienstes aufrufen, sodass die Nutzer nicht direkt beteiligt sind.
Eine Compute Engine-VM kann beispielsweise als Dienstkonto ausgeführt werden, dem Berechtigungen für den Zugriff auf benötigte Ressourcen zugewiesen sind. Damit ist das Dienstkonto die Identität des Dienstes und die Berechtigungen des Dienstkontos bestimmen, auf welche Ressourcen der Dienst zugreifen kann.
Ein Dienstkonto wird durch seine E-Mail-Adresse definiert, die für das Konto eindeutig ist.
Arten von Dienstkonten
Nutzerverwaltete Dienstkonten
Wenn Sie ein neues Cloud-Projekt mithilfe der Google Cloud Console anlegen und die Compute Engine API für Ihr Projekt aktiviert ist, wird standardmäßig ein Compute Engine-Dienstkonto erstellt. Es lässt sich anhand folgender E-Mail-Adresse identifizieren:
Wenn Ihr Projekt eine App Engine-Anwendung enthält, wird standardmäßig das App Engine-Standarddienstkonto für Ihr Projekt erstellt. Es lässt sich anhand folgender E-Mail-Adresse identifizieren:
Von Google verwaltete Dienstkonten
Zusätzlich zu den nutzerverwalteten Dienstkonten werden möglicherweise in der IAM-Richtlinie Ihres Projekts oder der Console weitere Dienstkonten angezeigt. Diese Dienstkonten werden von Google erstellt und sind Eigentum von Google. Sie stehen für verschiedene Google-Dienste und jedem Konto werden automatisch IAM-Rollen für den Zugriff auf das Google Cloud-Projekt zugewiesen.
Google APIs-Dienstkonto
Ein Beispiel für ein von Google verwaltetes Dienstkonto ist ein Google API-Dienstkonto, das sich anhand der folgenden E-Mail-Adresse identifizieren lässt:
Dieses Dienstkonto ist speziell für die Ausführung interner Google-Prozesse in Ihrem Namen vorgesehen und nicht im Abschnitt Dienstkonten der Console aufgelistet. Standardmäßig wird dem Konto automatisch die Rolle „Project Editor“ für das Projekt zugewiesen und es wird in der Console im Bereich IAM aufgeführt. Dieses Dienstkonto wird nur gelöscht, wenn das Projekt gelöscht wird.
Informationen zu IAM-Rollen
Wenn eine Identität eine Google Cloud API aufruft, erfordert Google Cloud Identity and Access Management, dass der Identität die entsprechenden Berechtigungen zur Verwendung der Ressource zugewiesen sind. Sie können Berechtigungen gewähren, indem Sie einem Nutzer, einer Gruppe oder einem Dienstkonto Rollen zuweisen.
Rollenarten
Cloud IAM enthält drei Arten von Rollen:
- Einfache Rollen, zu denen die Rollen „Owner“, „Editor“ und „Viewer“ gehören, die es schon vor der Einführung von Cloud IAM gab
- Vordefinierte Rollen, die detaillierten Zugriff auf einen bestimmten Dienst ermöglichen und von Google Cloud verwaltet werden
- Benutzerdefinierte Rollen, die einen genau definierten Zugriff gemäß einer vom Nutzer angegebenen Liste von Berechtigungen ermöglichen
In der Anleitung zu Rollen erfahren Sie mehr über Rollen.
Aufgabe 1: Dienstkonten erstellen und verwalten
Wenn Sie ein neues Cloud-Projekt anlegen, erstellt Google Cloud automatisch ein Compute Engine- und ein App Engine-Dienstkonto für dieses Projekt. Sie können dem Projekt bis zu 98 weitere Dienstkonten hinzufügen, um den Zugriff auf die Ressourcen zu steuern.
Dienstkonto erstellen
Das Erstellen eines Dienstkontos ist vergleichbar mit dem Hinzufügen eines Mitglieds zu Ihrem Projekt. Das Dienstkonto gehört jedoch zu Ihren Anwendungen anstatt zu einem bestimmten Endnutzer.
- Führen Sie in Cloud Shell den folgenden Befehl aus, um ein Dienstkonto zu erstellen:
Die Ausgabe dieses Befehls ist das Dienstkonto, das in etwa so aussieht:
Dienstkonten Rollen zuweisen
Wenn Sie IAM-Rollen zuweisen, können die Dienstkonten entweder als Ressource oder als Identität behandelt werden.
Ihre Anwendung nutzt ein Dienstkonto als Identität zur Authentifizierung bei den Google Cloud-Diensten. Wenn bei Ihnen beispielsweise eine Compute Engine-VM als Dienstkonto ausgeführt wird, können Sie dem Dienstkonto (Identität) die Rolle „Editor“ für ein Projekt (Ressource) zuweisen.
Vielleicht möchten Sie auch festlegen, wer die VM starten kann. Weisen Sie dazu einem Nutzer (Identität) die Rolle serviceAccountUser für das Dienstkonto (Ressource) zu.
Einem Dienstkonto Rollen für bestimmte Ressourcen zuweisen
Sie weisen einem Dienstkonto Rollen zu, um es zu berechtigen, bestimmte Aktionen mit den Ressourcen in Ihrem Cloud Platform-Projekt durchzuführen. Zum Beispiel können Sie einem Dienstkonto die Rolle storage.admin
zuweisen, mit der es die Kontrolle über Objekte und Buckets in Cloud Storage erhält.
- Führen Sie in Cloud Shell folgenden Befehl aus, um dem soeben erstellten Dienstkonto Rollen zuzuweisen:
In der Ausgabe wird eine Liste der Rollen angezeigt, die das Dienstkonto jetzt hat:
Klicken Sie auf Fortschritt prüfen.
Aufgabe 2: Mithilfe von Clientbibliotheken von einem Dienstkonto aus auf BigQuery zugreifen
In diesem Abschnitt fragen Sie von einer Instanz aus die öffentlichen BigQuery-Datasets ab. Dabei verwenden Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
Dienstkonto erstellen
Erstellen Sie zuerst ein neues Dienstkonto in der Console.
-
Klicken Sie im Navigationsmenü auf IAM & Verwaltung. Wählen Sie dann Dienstkonten aus und klicken Sie auf + Dienstkonto erstellen.
-
Geben Sie die erforderlichen Details an:
- Name des Dienstkontos: bigquery-qwiklab
-
Klicken Sie nun auf Erstellen und fortfahren und fügen Sie dann die folgenden Rollen hinzu:
-
BigQuery > BigQuery Data Viewer
-
BigQuery > BigQuery User
-
Die Console sollte in etwa so aussehen:
- Klicken Sie auf Weiter und dann auf Fertig.
VM-Instanz erstellen
-
Rufen Sie in der Console Compute Engine > VM-Instanzen auf und klicken Sie auf Instanz erstellen.
-
Erstellen Sie die VM mit den folgenden Informationen:
Konfiguration | Wert |
---|---|
Name | bigquery-instance |
Region | |
Zone | |
Reihe | E2 |
Maschinentyp | e2-medium |
Bootlaufwerk | Debian GNU/Linux 11 (Bullseye) x86/64 |
Dienstkonto | bigquery-qwiklab |
Zugriffsbereiche | Zugriff für jede API festlegen |
BigQuery | Aktiviert |
bigquery-qwiklab
in der Drop-down-Liste nicht aufgeführt ist, geben Sie im Bereich „Filter“ dessen Namen ein.- Klicken Sie auf Erstellen.
Beispielcode in eine Compute Engine-Instanz aufnehmen
- Rufen Sie in der Console Compute Engine > VM-Instanzen auf.
- Stellen Sie eine SSH-Verbindung zu
bigquery-instance
her und klicken Sie dazu auf die Schaltfläche SSH.
Installieren Sie im SSH-Fenster die erforderlichen Abhängigkeiten. Führen Sie hierzu die folgenden Befehle aus:
Erstellen Sie nun die Python-Beispieldatei:
Fügen Sie die Projekt-ID zu query.py
hinzu:
Führen Sie folgenden Befehl aus, um zu überprüfen, ob mit dem sed
‑Befehl die Projekt‑ID in der Datei geändert wurde:
Befehlsausgabe (Ihre Ausgabe kann abweichen):
Fügen Sie die E‑Mail-Adresse des Dienstkontos zu query.py
hinzu:
Führen Sie folgenden Befehl aus, um zu überprüfen, ob mit dem sed‑Befehl die E-Mail-Adresse des Dienstkontos in der Datei geändert wurde:
Befehlsausgabe (Ihre Ausgabe kann abweichen):
Die Anwendung verwendet jetzt die Berechtigungen, die diesem Dienstkonto zugewiesen sind. Führen Sie die Abfrage mit dem folgenden Python-Befehl aus:
Die Abfrage sollte Folgendes ausgeben (Ihre Zahlen können abweichen):
Tolle Arbeit! Sie haben mit dem Dienstkonto bigquery-qwiklab
eine Anfrage an ein öffentliches BigQuery-Dataset gestellt.
Klicken Sie auf Fortschritt prüfen.
Das wars!
Sie haben das Lab erfolgreich abgeschlossen und gelernt, wie man Dienstkonten verwendet.
Weitere Informationen
- Dienstkonten erstellen und verwalten.
- Sehen Sie sich folgende Labs an, um Ihr Wissen zu vertiefen:
Google Cloud-Schulungen und -Zertifizierungen
In unseren Schulungen erfahren Sie alles zum optimalen Einsatz unserer Google Cloud-Technologien und können sich entsprechend zertifizieren lassen. Unsere Kurse vermitteln technische Fähigkeiten und Best Practices, damit Sie möglichst schnell mit Google Cloud loslegen und Ihr Wissen fortlaufend erweitern können. Wir bieten On-Demand-, Präsenz- und virtuelle Schulungen für Anfänger wie Fortgeschrittene an, die Sie individuell in Ihrem eigenen Zeitplan absolvieren können. Mit unseren Zertifizierungen weisen Sie nach, dass Sie Experte im Bereich Google Cloud-Technologien sind.
Handbuch zuletzt am 17. Juli 2024 aktualisiert
Lab zuletzt am 17. Juli 2024 getestet
© 2024 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.