
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create an instance with name as lab-1 in Project 1
/ 10
Update the default zone
/ 10
Create a configuration for Username 2 and name it as user2
/ 10
Restricting Username 2 to roles/viewer in Project 2
/ 10
Create a new role with permissions for the devops team
/ 10
Check binding to roles/iam.serviceAccountUser
/ 5
Bound Username 2 to devops role
/ 5
Create an instance with name as lab-2 in Project 1
/ 5
Check the created service account
/ 5
Check the binding for the service account to roles/iam.serviceAccountUser
/ 10
Check the binding for the service account to roles/compute.instanceAdmin
/ 10
Check lab-3 has the service account attached
/ 10
In diesem Lab geht es um drei allgemeine Bereiche, die im Hinblick auf IAM und gcloud wichtig sind:
In diesem Lab verwenden Sie das gcloud
-Befehlszeilentool, um Befehlsfunktionen von Cloud Identity and Access Management (IAM) einzurichten und zu konfigurieren.
Aufgaben in diesem Lab:
gcloud
-Client kennenlernenSie beginnen mit zwei Nutzerkonten und zwei Projekten:
user1
ist der „Owner“ (Inhaber) der beiden Projekte.user2
ist der „Viewer“ (Betrachter) des ersten Projekts.Im ersten Projekt wird eine virtuelle Linux-Maschine (VM) ausgeführt.
Mit Cloud Identity and Access Management (IAM) von Google Cloud können Sie festlegen, wer (Identität) welchen Zugriff (Rolle) auf welche Ressource hat.
In IAM wird dem Endnutzer die Berechtigung für den Zugriff auf eine Ressource nicht direkt gewährt. Stattdessen werden Berechtigungen in Rollen gruppiert, die dann authentifizierten Hauptkonten zugewiesen werden. (In der Vergangenheit wurden Hauptkonten im Rahmen von IAM häufig als „Mitglieder“ bezeichnet. In einigen APIs wird dieser Begriff weiterhin verwendet.)
In Cloud IAM gewähren Sie Hauptkonten Zugriff. Folgende Typen von Hauptkonten gibt es:
Unter Identitätskonzepte erfahren Sie mehr über diese Identitätstypen.
In diesem Lab verwenden Sie Google-Konten, Dienstkonten und Cloud Identity-Domaingruppen.
Eine Rolle ist eine Sammlung von Berechtigungen. Es ist nicht möglich, einem Nutzer eine Berechtigung direkt zu gewähren; stattdessen wird ihm eine Rolle zugewiesen. Wenn Sie einem Nutzer eine Rolle zuweisen, erhält er alle mit ihr verknüpften Berechtigungen.
Unter Rollen erfahren Sie mehr darüber.
Die gcloud CLI ist Teil des Google Cloud SDK. Sie müssen das SDK herunterladen, auf Ihrem System installieren und initialisieren, bevor Sie das gcloud-Befehlszeilentool verwenden können. Mit diesem Tool lassen sich viele gängige Plattformaufgaben entweder über die Befehlszeile oder in Scripts und anderen Automatisierungen ausführen.
Unter gcloud CLI – Übersicht erfahren Sie mehr über gcloud.
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:
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:
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.
Kopieren Sie bei Bedarf den folgenden Nutzernamen und fügen Sie ihn in das Dialogfeld Anmelden ein.
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.
Sie finden das Passwort auch im Bereich Details zum Lab.
Klicken Sie auf Weiter.
Klicken Sie sich durch die nachfolgenden Seiten:
Nach wenigen Augenblicken wird die Google Cloud Console in diesem Tab geöffnet.
Dieses Lab beinhaltet eine Compute Engine-Instanz namens centos-clean, die eine Umgebung simuliert, in der gcloud
nicht installiert ist. Sie stellen über die Google Cloud Console eine Verbindung zu dieser Instanz her.
Rufen Sie die Liste der Compute-Instanzen auf, indem Sie auf Navigationsmenü > Compute Engine > VM-Instanzen klicken.
Klicken Sie in der Zeile mit der Compute-Instanz centos-clean auf SSH.
gcloud
installiert ist, indem Sie die Version prüfen. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Nachdem Sie geprüft haben, ob das gcloud
-Befehlszeilentool installiert ist, nehmen Sie einige Änderungen vor, indem Sie eine Compute-Instanz erstellen.
Drücken Sie die Eingabetaste, wenn Möchten Sie fortfahren (J/N)? angezeigt wird.
Klicken Sie auf den in einem neuen Tab angezeigten Link.
Klicken Sie auf Ihren aktiven Nutzernamen
Klicken Sie auf „Kopieren“, wenn Geben Sie in der gcloud CLI auf der Maschine, auf der Sie sich anmelden möchten, den folgenden Bestätigungscode ein angezeigt wird. Wechseln Sie dann wieder zur SSH-Sitzung und fügen Sie den Code in den Prompt Autorisierungscode eingeben ein.
Legen Sie in der SSH-Sitzung die Region und Zone fest:
Wenn alles korrekt eingerichtet wurde, wird durch den Befehl eine Instanz erstellt.
Aber welche Größe hat sie? Und wo befindet sie sich? Welches Image wird verwendet?
Der Dienst verwendet eine Reihe von Standardeinstellungen. Einige können über die gcloud
-Konfiguration gesteuert werden. Der Standort der Instanz hängt beispielsweise von der Zoneneinstellung ab.
Sie sehen die Abschnitte compute
, core
und active configuration
. Diese können Sie alle bearbeiten, aber in diesem Lab ändern Sie nur die Zone. Sehen Sie sich die Zone an, in der Ihre VM erstellt wurde.
Finden Sie eine andere Zone in derselben Region. Wenn die aktuelle Zone us-west2-a
ist, könnten Sie zum Beispiel us-west2-b
auswählen.
Wählen Sie anstatt der aktuellen Zone eine andere in derselben Region aus. Führen Sie in der SSH-Sitzung den folgenden Befehl aus und ersetzen Sie ZONE
durch die ausgewählte Zone:
Sie sehen, dass die geänderte Zone angegeben ist.
Mit dem Befehl gcloud config set
können Sie weitere Einstellungen ändern. Diese Änderungen sind dauerhaft und werden in das Basisverzeichnis geschrieben.
Die Standardkonfiguration ist unter ~/.config/gcloud/configurations/config_default gespeichert.
Wenn Sie beim Erstellen einer Instanz eine andere Zone als die Standardzone verwenden möchten, geben Sie dies mit „--zone“ an, zum Beispiel: gcloud compute instances create lab-1 --zone us-central1-f
.
Sie sehen, dass die Konfiguration als Text gespeichert wurde und gesichert oder kopiert werden kann.
Sie haben nun ein Konto eingerichtet. Wenn Sie in verschiedenen Teams arbeiten oder auf unterschiedliche Konten zugreifen müssen, können Sie dies auch mit gcloud config
verwalten.
In der nächsten Aufgabe lernen Sie, wie Sie eine zweite Konfiguration erstellen und zwischen den beiden wechseln.
In diesem Lab haben Sie ein zweites Google-Konto, mit dem Sie sich anmelden können. Es hat Lesezugriff (Viewer) auf das erste Projekt. Sie erstellen eine neue Konfiguration für diesen Nutzer.
gcloud
-Konfiguration für das zweite Nutzerkonto. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Wählen Sie die 2. Option, Neue Konfiguration erstellen, aus.
Konfigurationsname: Geben Sie user2 ein.
Mit neuem Konto anmelden: Wählen Sie die 3. Option aus. Sie melden sich mit dem anderen angegebenen Nutzernamen an.
Drücken Sie die Eingabetaste, wenn Möchten Sie fortfahren (J/N)? angezeigt wird.
Klicken Sie auf den in einem neuen Tab angezeigten Link.
Klicken Sie auf Anderes Konto verwenden.
Kopieren Sie das zweite Nutzerkonto (
Kopieren Sie das Passwort, mit dem Sie das Lab begonnen haben, und fügen Sie es in den Prompt Passwort eingeben ein.
Klicken Sie auf Verstanden.
Klicken Sie auf Zulassen.
Sie akzeptieren, dass das Cloud SDK denselben Zugriff wie Ihr Google-Konto hat.
Klicken Sie auf „Kopieren“, wenn Geben Sie in der gcloud CLI auf der Maschine, auf der Sie sich anmelden möchten, den folgenden Bestätigungscode ein angezeigt wird. Wechseln Sie dann wieder zur SSH-Sitzung und fügen Sie den Code in den Prompt Autorisierungscode eingeben ein.
Suchen Sie unter Zu verwendendes Cloud-Projekt auswählen das aktuelle Projekt (
Die Initialisierung wird durchgeführt und Sie sehen, dass die Zone und Region für Sie festgelegt werden.
Dieses neue Konto hat Lesezugriff auf das Projekt. Sie können testen, ob Sie wirklich dieses Konto verwenden, indem Sie versuchen, Ressourcen aufzurufen und zu erstellen.
Das zweite Nutzerkonto hat Lesezugriff, daher sollten Ihnen die Instanzen centos-clean
und lab-1
angezeigt werden.
Da das zweite Nutzerkonto nur Lesezugriff hat, kann es keine Instanz erstellen, und dieser Befehl schlägt fehl. Das dauert etwas.
Jetzt verwenden Sie wieder die Anmeldedaten des ursprünglichen Nutzerkontos. Wenn Sie später etwas über Rollen und Berechtigungen lernen, wechseln Sie zwischen diesen beiden Konten.
Ihnen wurden für dieses Projekt zwei Nutzerkonten zur Verfügung gestellt. Der erste Nutzer hat die volle Kontrolle über beide Projekte. Dies ist quasi das Administratorkonto. Der zweite Nutzer hat Lesezugriff auf die beiden Projekte. Er ist ein typischer DevOps-Nutzer.
Als Nächstes konfigurieren Sie mit gcloud
für den DevOps-Nutzer den Zugriff auf ein Projekt, indem Sie eine benutzerdefinierte Rolle dafür erstellen, die das Erstellen von Buckets und Instanzen zulässt.
Die Liste der Rollen wird zurückgegeben. Durch grep "name:"
wird die Datenmenge reduziert, denn es werden nur die Namen der Rollen angezeigt.
Prüfen Sie eine der Rollen, um sich die ihr zugewiesenen Berechtigungen genauer anzusehen. Verwenden Sie gcloud iam roles describe
, um sich die Berechtigungen anzeigen zu lassen. Versuchen Sie es mit der einfachen Rolle roles/compute.instanceAdmin.
compute.instanceAdmin
. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Wie Sie sehen, hat roles/compute.instanceAdmin viele Berechtigungen. Diese brauchen Sie später mindestens:
Die vollständige Liste der Rollen sowie der ihnen zugewiesenen Berechtigungen finden Sie in der Berechtigungsreferenz.
Sie wissen nun, dass Rollen Berechtigungen beinhalten, aber wie weisen Sie eine Rolle (und die damit verknüpften Berechtigungen) einem Nutzerkonto zu?
Für das Zuweisen einer Rolle gibt es zwei Möglichkeiten:
Als Nächstes weisen Sie dem zweiten Nutzer für das zweite Projekt die einfache Rolle „Viewer“ zu.
gcloud
-Konfiguration wieder zum zweiten Nutzer (user2). Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Jetzt sind Sie wieder user2
.
PROJECTID2
das zweite Projekt aus. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:bashrc
-Datei angehängt. Gehen Sie vorsichtig vor.Ihnen wird die folgende Warnung angezeigt: WARNING: You do not appear to have access to project [Ihre 2. Projekt-ID] or it does not exist.
Die Warnung bedeutet, dass „user2“ keinen Zugriff auf das Projekt „PROJECTID2“ hat. Dieses Problem beheben Sie im nächsten Abschnitt.
jq
:Legen Sie als Nächstes den zweiten Nutzernamen als Wert für USERID2
fest und binden Sie die Rolle „Viewer“ für das zweite Projekt an den zweiten Nutzer.
Nachdem Sie den Befehl ausgeführt haben, wird Ihnen in etwa der folgende Text angezeigt (möglicherweise müssen Sie nach oben scrollen):
Dieses Mal sollte Ihnen keine Fehlermeldung angezeigt werden.
Ihnen werden in diesem Projekt 0 Instanzen angezeigt.
Dieser Befehl schlägt fehl, weil user2 nur Lesezugriff auf das Projekt hat.
Jetzt verwenden Sie wieder die Anmeldedaten des ursprünglichen Nutzerkontos.
Als Nächstes erstellen Sie eine neue Rolle mit den nötigen Berechtigungen für das DevOps-Team.
devops
, die berechtigt ist, eine Instanz zu erstellen. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Durch diesen Befehl wird eine benutzerdefinierte Rolle im Projekt devops
mit den Berechtigungen zum Erstellen und Verwalten von Instanzen erstellt.
Der vollständige Name der Rolle ist aufgeführt. Wie Sie sehen, befindet sich die Rolle im Projekt, daher folgt der Pfad dem Muster projects/PROJECT/roles/ROLENAME
.
Nachdem Sie die Rolle erstellt haben, müssen Sie den Nutzer und die Rolle an das Projekt binden. Verwenden Sie dafür den Befehl gcloud projects add-iam-policy-binding
. Legen Sie zuerst die Projekt-ID und das Nutzerkonto als Umgebungsvariablen fest, um den Befehl leichter ausführen zu können.
iam.serviceAccountUser
an den zweiten Nutzer für das zweite Projekt. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Zum Erstellen einer Instanz mit einem angehängten Dienstkonto sind bestimmte Berechtigungen erforderlich. Die vordefinierte Rolle iam.serviceAccountUser
hat diese Berechtigungen. Daher sollten Sie diese verwenden.
devops
an den zweiten Nutzer für das zweite Projekt. Das zweite Nutzerkonto finden Sie links auf dieser Seite. Legen Sie als Nutzer-ID das zweite Nutzerkonto fest.Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Nachdem Sie den Befehl ausgeführt haben, wird Ihnen in etwa der folgende Text angezeigt (möglicherweise müssen Sie nach oben scrollen):
Jetzt sind Sie wieder „user2“.
Jetzt kann „user2“ Instanzen erstellen.
Nach den letzten Änderungen sieht Ihre Umgebung so aus:
Sie haben gelernt, wie Sie sich authentifizieren und mit gcloud
auf Google Cloud-Dienste mit Rollen zugreifen können. Jetzt sehen wir uns eine typische Vorgehensweise an.
Sie haben eine Anwendung, die mithilfe von APIs (Application Programming Interfaces) in Cloud Storage-Buckets liest und schreibt. Sie möchten sich nicht jedes Mal authentifizieren müssen, wenn Sie einen neuen Server starten, denn dies wäre äußerst umständlich. Daher verwenden Sie 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.
Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten – Übersicht.
Sie erstellen jetzt ein Dienstkonto, verwenden es mit einer Compute-Instanz und prüfen, ob es Ihnen den nötigen Zugriff gewährt.
user2
ist nicht berechtigt, Dienstkonten einzurichten und zu konfigurieren. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:PROJECTID2
als Projekt aus. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Achten Sie darauf, das richtige Zielprojekt anzugeben.
SA
ein. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Durch diesen Befehl wird die E‑Mail-Adresse des Dienstkontos als lokale Variable „SA“ festgelegt. Praktisch, oder?
iam.serviceAccountUser
zu. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Mit dieser Rolle kann das Dienstkonto ein Dienstkonto einer Compute-Instanz zuweisen.
compute.instanceAdmin
zu. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Diese Rolle ermöglicht dem Dienstkonto das Verwalten von Compute-Instanzen.
Zugriffsbereiche sind die herkömmliche Methode, Berechtigungen für Ihre Instanz festzulegen. Zugriffsbereiche sind kein Sicherheitsmechanismus. Damit werden vielmehr die standardmäßigen OAuth-Bereiche definiert, die in Anfragen über das gcloud
-Tool oder die Clientbibliotheken verwendet werden. Sie haben keine Auswirkungen auf Anfragen, die nicht über OAuth authentifiziert wurden, z. B. gRPC oder die SignBlob APIs.
Sie müssen Zugriffsbereiche einrichten, wenn Sie eine Instanz konfigurieren, die als Dienstkonto ausgeführt werden soll.
Als Best Practice wird empfohlen, den vollständigen Zugriffsbereich „cloud-platform“ für die Instanz zu verwenden und dann den API-Zugriff des Dienstkontos mithilfe von IAM-Rollen sicher einzuschränken.
Zugriffsbereiche gelten jeweils für eine Instanz. Sie legen Zugriffsbereiche beim Erstellen einer Instanz fest. Die Zugriffsbereiche bleiben nur für die Lebensdauer der Instanz bestehen.
Zugriffsbereiche haben keine Auswirkungen, wenn Sie die zugehörige API für das Projekt, zu dem das Dienstkonto gehört, nicht aktiviert haben. Wenn Sie zum Beispiel einer VM-Instanz einen Zugriffsbereich für Cloud Storage zuweisen, kann die Instanz die Cloud Storage API nur dann aufrufen, wenn die Cloud Storage API im Projekt aktiviert ist.
gcloud compute ssh
eine Verbindung zur neu erstellten Instanz her. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Drücken Sie die Eingabetaste, wenn Sie gefragt werden, ob Sie fortfahren möchten.
Drücken Sie zweimal die Eingabetaste, um kein Passwort festzulegen.
gcloud
-Konfiguration bereits. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:Die Konfiguration hat jetzt das Dienstkonto.
Sie können die Eingabetaste drücken, um die Standardzone für diese VM zu akzeptieren.
Da das Dienstkonto über die nötigen Berechtigungen verfügt, werden Ihnen die aufgeführten Instanzen angezeigt.
Sie haben mit dem Cloud SDK-Tool gcloud
die folgenden Aufgaben erledigt:
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.
Anleitung zuletzt am 10. April 2024 aktualisiert
Lab zuletzt am 10. April 2024 getestet
© 2025 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.
Diese Inhalte sind derzeit nicht verfügbar
Bei Verfügbarkeit des Labs benachrichtigen wir Sie per E-Mail
Sehr gut!
Bei Verfügbarkeit kontaktieren wir Sie per E-Mail
One lab at a time
Confirm to end all existing labs and start this one