Prüfpunkte
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
IAM-Berechtigungen mit gcloud konfigurieren
- GSP647
- Übersicht
- Was ist IAM?
- Was ist gcloud?
- Einrichtung und Anforderungen
- Aufgabe 1: gcloud-Umgebung konfigurieren
- Aufgabe 2: Mehrere IAM-Konfigurationen erstellen und zwischen diesen wechseln
- Aufgabe 3: Geeignete IAM-Berechtigungen identifizieren und zuweisen
- Aufgabe 4: Testen, ob „user2“ Zugriff hat
- Aufgabe 5: Dienstkonto verwenden
- Aufgabe 6: Dienstkonto mit einer Compute-Instanz verwenden
- Aufgabe 7: Dienstkonto testen
- Das wars! Sie haben das Lab erfolgreich abgeschlossen.
GSP647
Übersicht
In diesem Lab geht es um drei allgemeine Bereiche, die im Hinblick auf IAM und gcloud wichtig sind:
- Konfiguration der gcloud-Umgebung
- Einsatz mehrerer gcloud-Konfigurationen
- Verwendung von Dienstkonten
In diesem Lab verwenden Sie das gcloud
-Befehlszeilentool, um Befehlsfunktionen von Cloud Identity and Access Management (IAM) einzurichten und zu konfigurieren.
Lerninhalte
Aufgaben in diesem Lab:
- IAM und den
gcloud
-Client kennenlernen - Mehrere IAM-Konfigurationen erstellen und zwischen diesen wechseln
- Geeignete IAM-Berechtigungen identifizieren und zuweisen
- Dienstkonto erstellen und nutzen
Startumgebung
Sie 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.
Was ist IAM?
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.)
Identitäten
In Cloud IAM gewähren Sie Hauptkonten Zugriff. Folgende Typen von Hauptkonten gibt es:
- Google-Konto
- Dienstkonto
- Google-Gruppe
- Google Workspace-Konto
- Cloud Identity-Domain
- Alle authentifizierten Nutzer
- Alle Nutzer
Unter Identitätskonzepte erfahren Sie mehr über diese Identitätstypen.
In diesem Lab verwenden Sie Google-Konten, Dienstkonten und Cloud Identity-Domaingruppen.
Rollen
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.
Was ist gcloud?
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.
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.
Aufgabe 1: gcloud-Umgebung konfigurieren
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.
- Vergewissern Sie sich als Erstes, dass
gcloud
installiert ist, indem Sie die Version prüfen. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Neue Instanz erstellen und Standardzone ändern
Nachdem Sie geprüft haben, ob das gcloud
-Befehlszeilentool installiert ist, nehmen Sie einige Änderungen vor, indem Sie eine Compute-Instanz erstellen.
- Authentifizieren Sie sich zuerst in gcloud. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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
und dann auf Zulassen. -
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:
- Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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.
- Prüfen Sie die aktuelle gcloud-Konfiguration. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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.
- Führen Sie den folgenden Befehl in der SSH-Sitzung aus, um alle verfügbaren Zonen aufzulisten:
-
Finden Sie eine andere Zone in derselben Region. Wenn die aktuelle Zone
us-west2-a
ist, könnten Sie zum Beispielus-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:
- Prüfen Sie, ob die Zone geändert wurde. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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
.
- Prüfen Sie, ob die Zone in die Konfigurationsdatei geschrieben wurde. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Sie sehen, dass die Konfiguration als Text gespeichert wurde und gesichert oder kopiert werden kann.
Aufgabe 2: Mehrere IAM-Konfigurationen erstellen und zwischen diesen wechseln
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.
Neue IAM-Konfiguration erstellen
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.
- Starten Sie eine neue
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 (
) und fügen Sie es in den Prompt E-Mail oder Telefon ein. -
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 (
) und geben Sie dessen Nummer ein.
Die Initialisierung wird durchgeführt und Sie sehen, dass die Zone und Region für Sie festgelegt werden.
Neues Konto testen
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.
- Prüfen Sie, ob Sie Details im ersten Projekt ansehen können. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Das zweite Nutzerkonto hat Lesezugriff, daher sollten Ihnen die Instanzen centos-clean
und lab-1
angezeigt werden.
- Vergewissern Sie sich, dass Sie im ersten Projekt keine Instanz erstellen können, da Ihnen die einfache Rolle „Viewer“ zugewiesen ist. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Da das zweite Nutzerkonto nur Lesezugriff hat, kann es keine Instanz erstellen, und dieser Befehl schlägt fehl. Das dauert etwas.
- Wechseln Sie wieder zur Konfiguration des ersten Nutzers (default). Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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.
Aufgabe 3: Geeignete IAM-Berechtigungen identifizieren und zuweisen
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.
Rollen und Berechtigungen prüfen
- Führen Sie den folgenden Befehl in der SSH-Sitzung aus, um alle Rollen anzusehen:
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.
- Untersuchen Sie die vordefinierte Rolle
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:
- compute.instances.create
- compute.instances.delete
- compute.instances.start
- compute.instances.stop
- compute.instances.update
- compute.disks.create
- compute.subnetworks.use
- compute.subnetworks.useExternalIp
- compute.instances.setMetadata
- compute.instances.setServiceAccount
Die vollständige Liste der Rollen sowie der ihnen zugewiesenen Berechtigungen finden Sie in der Berechtigungsreferenz.
Dem zweiten Nutzer Zugriff auf das zweite Projekt gewähren
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:
- Sie können Sie dem Nutzer und einer Organisation zuweisen.
- Sie können Sie einem Nutzer und einem Projekt zuweisen.
Als Nächstes weisen Sie dem zweiten Nutzer für das zweite Projekt die einfache Rolle „Viewer“ zu.
Testen, ob der zweite Nutzer Zugriff auf das zweite Projekt hat
- Wechseln Sie bei der
gcloud
-Konfiguration wieder zum zweiten Nutzer (user2). Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Jetzt sind Sie wieder user2
.
- Wählen Sie für
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.
- Geben Sie N ein und drücken Sie die Eingabetaste, wenn Möchten Sie fortfahren (J/N)? angezeigt wird.
Die Warnung bedeutet, dass „user2“ keinen Zugriff auf das Projekt „PROJECTID2“ hat. Dieses Problem beheben Sie im nächsten Abschnitt.
Dem zweiten Nutzer im zweiten Projekt die Rolle „Viewer“ zuweisen
- Wechseln Sie zurück zur gcloud-Konfiguration default, die berechtigt ist, dem zweiten Nutzer Zugriff zu gewähren. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
- Installieren Sie
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.
- 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):
Aufgabe 4: Testen, ob „user2“ Zugriff hat
- Wechseln Sie zur gcloud-Konfiguration user2. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
- Ändern Sie die Konfiguration für „user2“ in das zweite Projekt. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Dieses Mal sollte Ihnen keine Fehlermeldung angezeigt werden.
- Prüfen Sie, ob Sie Lesezugriff haben. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Ihnen werden in diesem Projekt 0 Instanzen angezeigt.
- Versuchen Sie, im zweiten Projekt als zweiter Nutzer eine Instanz zu erstellen. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Dieser Befehl schlägt fehl, weil user2 nur Lesezugriff auf das Projekt hat.
- Wechseln Sie zur gcloud-Konfiguration default. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Jetzt verwenden Sie wieder die Anmeldedaten des ursprünglichen Nutzerkontos.
Neue Rolle mit Berechtigungen erstellen
Als Nächstes erstellen Sie eine neue Rolle mit den nötigen Berechtigungen für das DevOps-Team.
- Erstellen Sie eine benutzerdefinierte Rolle namens
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
.
Rolle des zweiten Kontos an beide Projekte binden
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.
- Binden Sie die Rolle
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.
- Binden Sie die benutzerdefinierte Rolle
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):
Neu zugewiesene Berechtigungen testen
- Wechseln Sie zur gcloud-Konfiguration user2. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Jetzt sind Sie wieder „user2“.
- Versuchen Sie, eine Instanz namens „lab-2“ zu erstellen. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Jetzt kann „user2“ Instanzen erstellen.
- Prüfen Sie, ob die Instanz existiert. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Ihre Umgebung
Nach den letzten Änderungen sieht Ihre Umgebung so aus:
Aufgabe 5: Dienstkonto verwenden
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.
Dienstkonto erstellen
- Wechseln Sie zur gcloud-Konfiguration default.
user2
ist nicht berechtigt, Dienstkonten einzurichten und zu konfigurieren. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
- Wählen Sie in der Konfiguration
PROJECTID2
als Projekt aus. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Achten Sie darauf, das richtige Zielprojekt anzugeben.
- Erstellen Sie das Dienstkonto. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
- Rufen Sie die E‑Mail-Adresse des Dienstkontos ab. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
- Fügen Sie die E‑Mail-Adresse in eine lokale Variable namens
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?
- Weisen Sie dem Dienstkonto die Rolle
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.
Aufgabe 6: Dienstkonto mit einer Compute-Instanz verwenden
- Weisen Sie dem Dienstkonto die Rolle
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.
- Erstellen Sie eine Instanz, an die das DevOps-Dienstkonto angehängt ist. Sie müssen außerdem einen Zugriffsbereich festlegen, durch den die API-Aufrufe definiert werden, die die Instanz tätigen kann. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
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.
Aufgabe 7: Dienstkonto testen
- Stellen Sie über
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.
- Das verwendete Standard-Image beinhaltet die
gcloud
-Konfiguration bereits. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Die Konfiguration hat jetzt das Dienstkonto.
- Eine Instanz erstellen Dadurch testen Sie, ob Sie über das Dienstkonto die nötigen Berechtigungen haben:
Sie können die Eingabetaste drücken, um die Standardzone für diese VM zu akzeptieren.
- Prüfen Sie, ob die angehängten Rollen funktionieren. Führen Sie in der SSH-Sitzung den folgenden Befehl aus:
Da das Dienstkonto über die nötigen Berechtigungen verfügt, werden Ihnen die aufgeführten Instanzen angezeigt.
Ihre Umgebung
Das wars! Sie haben das Lab erfolgreich abgeschlossen.
Sie haben mit dem Cloud SDK-Tool gcloud
die folgenden Aufgaben erledigt:
- gcloud-Client installiert und konfiguriert
- Mehrere IAM-Konfigurationen erstellt und zwischen diesen gewechselt
- Geeignete IAM-Berechtigungen identifiziert und zugewiesen
- Dienstkonto erstellt und verwendet
Weitere Informationen
- IAM-Übersicht
- Labs zum Vertiefen Ihres Wissens:
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.
Anleitung zuletzt am 10. April 2024 aktualisiert
Lab zuletzt am 10. April 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.