In diesem Dokument wird beschrieben, wie Sie eine VM-Instanz erstellen, die für die Verwendung eines nutzerverwalteten Dienstkontos konfiguriert ist. Ein Dienstkonto ist eine spezielle Art von Konto, das in der Regel von einer Anwendung oder einer Computing-Arbeitslast für autorisierte API-Aufrufe verwendet wird.
Dienstkonten sind für Szenarien erforderlich, in denen eine Arbeitslast, z. B. eine benutzerdefinierte Anwendung, auf Trusted Cloud by S3NS Ressourcen zugreifen oder Aktionen ohne Beteiligung der Endnutzer ausführen muss. Weitere Informationen zur Verwendung von Dienstkonten finden Sie unter Best Practices für die Verwendung von Dienstkonten.
Wenn Sie über Anwendungen verfügen, die Aufrufe an Trusted Cloud by S3NS APIs senden müssen, empfiehlt Google, dass Sie ein nutzerverwaltetes Dienstkonto an die VM anhängen, auf der die Anwendung oder die Arbeitslast ausgeführt wird. Anschließend weisen Sie dem Dienstkonto IAM-Rollen zu, die dem Dienstkonto – und damit Anwendungen, die auf der VM ausgeführt werden, – Zugriff aufTrusted Cloud by S3NS -Ressourcen gewähren.
Hinweise
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Trusted Cloud by S3NS -Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
<x0A>Select the tab for how you plan to use the samples on this page:
Console
When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Install the Google Cloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Compute-Instanzadministrator (Version 1) (
roles/compute.instanceAdmin.v1
) -
Dienstkonten erstellen (
roles/iam.serviceAccountCreator
) -
Projekt-IAM-Administrator (
roles/resourcemanager.projectIamAdmin
) -
Zum Erstellen von Dienstkonten: Alle Berechtigungen in der Rolle
iam.serviceAccountCreator
-
So gewähren Sie dem Dienstkonto Berechtigungen: Alle Berechtigungen in der Rolle
resourcemanager.projectIamAdmin
-
Zum Erstellen von VMs:
compute.instances.create
für das Projekt- Zur Erstellung der VM mit einem benutzerdefinierten Image:
compute.images.useReadOnly
für das Image - Zur Erstellung der VM mithilfe eines Snapshots:
compute.snapshots.useReadOnly
für den Snapshot - Zur Erstellung der VM mithilfe einer Instanzvorlage:
compute.instanceTemplates.useReadOnly
für die Instanzvorlage - Um der VM ein Legacy-Netzwerk zuzuweisen:
compute.networks.use
für das Projekt - Zum Festlegen einer statische IP-Adresse für die VM:
compute.addresses.use
für das Projekt - Zur Zuweisung einer externen IP-Adresse zur VM bei Verwendung eines Legacy-Netzwerks:
compute.networks.useExternalIp
für das Projekt - Um ein Subnetz für die VM anzugeben:
compute.subnetworks.use
für das Projekt oder für das ausgewählte Subnetz - Um der VM eine externe IP-Adresse zuzuweisen, wenn Sie ein VPC-Netzwerk verwenden:
compute.subnetworks.useExternalIp
für das Projekt oder für das ausgewählte Subnetz - Um die Metadaten der VM-Instanz für die VM festzulegen:
compute.instances.setMetadata
für das Projekt - Um Tags für die VM festzulegen:
compute.instances.setTags
für die VM - Um Labels für die VM festzulegen:
compute.instances.setLabels
für die VM - Um ein Dienstkonto festzulegen, das die VM verwenden soll:
compute.instances.setServiceAccount
für die VM - Um ein neues Laufwerk für die VM zu erstellen:
compute.disks.create
für das Projekt - Um ein vorhandenes Laufwerk im Lese- oder Lese‑/Schreibmodus anzuhängen:
compute.disks.use
für das Laufwerk - Um ein vorhandenes Laufwerk im Lesemodus anzuhängen:
compute.disks.useReadOnly
für das Laufwerk
- Erstellen Sie ein neues nutzerverwaltetes Dienstkonto, anstatt das Compute Engine-Standarddienstkonto zu verwenden, und weisen Sie diesem Dienstkonto nur IAM-Rollen für die Ressourcen und Vorgänge zu, die es benötigt.
- Hängen Sie das Dienstkonto an Ihre VM an.
- Legen Sie den Bereich der Cloud Platform (
https://www.googleapis.com/auth/cloud-platform
) für Ihre VM fest. Dadurch kann das Dienstkonto der VM die Trusted Cloud by S3NS APIs aufrufen, für die es berechtigt ist.- Wenn Sie das Dienstkonto über die Trusted Cloud Konsole angeben, legen Sie den Zugriffsbereich des Dienstkontos auf Uneingeschränkten Zugriff auf alle Cloud APIs zulassen fest.
- Wenn Sie das Dienstkonto über die Google Cloud CLI oder die Compute Engine API angeben, können Sie den Parameter
scopes
zum Festlegen des Zugriffsbereichs verwenden.
- Select your project.
-
In the Service account name field, enter a name. The Trusted Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the required roles to the service account.
To grant a role, find the Select a role list, then select the role.
To grant additional roles, click
Add another role and add each additional role. - Click Continue.
-
In the Service account users role field, enter the identifier for the principal that will attach the service account to other resources, such as Compute Engine instances.
This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies.
-
Click Done to finish creating the service account.
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
To provide access to your project and your resources, grant a role to the service account:
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com" --role=ROLE
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service accountROLE
: the role to grant
- To grant another role to the service account, run the command as you did in the previous step.
-
Grant the required role to the principal that will attach the service account to other resources.
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_NAME@PROJECT_ID.s3ns-system.iam.gserviceaccount.com --member="principal://iam.googleapis.com/locations/global/workforcePools/POOL_ID/subject/SUBJECT_ID" --role=roles/iam.serviceAccountUser
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service account.PROJECT_ID
: the project ID where you created the service account.POOL_ID
: a workforce identity pool ID.-
SUBJECT_ID
: a subject ID; typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies.
Rufen Sie in der Trusted Cloud Console die Seite Instanz erstellen auf.
So hängen Sie ein Dienstkonto an:
- Klicken Sie im Navigationsmenü auf Sicherheit.
- Wählen Sie in der Liste Dienstkonto das erstellte Dienstkonto aus.
- Wählen Sie für Zugriffsbereiche die Option Uneingeschränkten Zugriff auf alle Cloud APIs zulassen aus.
Optional: Geben Sie andere Konfigurationsoptionen an. Weitere Informationen finden Sie unter Konfigurationsoptionen beim Erstellen von Instanzen.
Klicken Sie zum Erstellen und Starten der Instanz auf Erstellen.
SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des von Ihnen erstellten Dienstkontos. Beispiel:my-sa-123@my-project-123.s3ns-system.iam.gserviceaccount.com
. Informationen zum Aufrufen der E-Mail-Adresse finden Sie unter Dienstkonten auflisten.VM_NAME
ist der Name der VM-Instanz.PROJECT_ID
ist die ID des Projekts, in dem die VM erstellt werden soll.ZONE
ist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE_ZONE
ist die Zone mit dem Maschinentyp, der für die neue VM verwendet werden soll.MACHINE_TYPE
legt einen vordefinierten oder benutzerdefinierten Maschinentyp für die neue VM fest.VM_NAME
ist der Name der neuen VM.IMAGE_PROJECT
: Projekt, das das Image enthält
Wenn Sie beispielsweisedebian-10
als Image-Familie angeben, geben Siedebian-cloud
als Image-Projekt an.IMAGE
: Wählen Sie eine der folgenden Optionen aus:IMAGE
: Eine bestimmte Version eines öffentlichen ImagesBeispiel:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
ist eine Image-Familie.Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
angeben, erstellt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in derDebian 10
-Image-Familie.
NETWORK_NAME
: das VPC-Netzwerk, das Sie für die VM verwenden möchten. Sie könnendefault
angeben, um Ihr Standardnetzwerk zu verwenden.SERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des von Ihnen erstellten Dienstkontos. Beispiel:my-sa-123@my-project-123.s3ns-system.iam.gserviceaccount.com
Informationen zum Abrufen der E-Mail-Adresse finden Sie unter E-Mail-Adresse für Dienstkonto abrufen.ENABLE_SECURE_BOOT
: (Optional) Wenn Sie ein Image ausgewählt haben, das Shielded VM-Features unterstützt, aktiviert Compute Engine standardmäßig das Virtual Trusted Platform Module (vTPM) und das Integritätsmonitoring. Compute Engine aktiviert nicht standardmäßig Secure Boot.Wenn Sie für
enableSecureBoot
den Werttrue
angeben, erstellt Compute Engine eine VM, bei der alle drei Shielded VM-Features aktiviert sind. Nachdem Compute Engine Ihre VM gestartet hat, müssen Sie die VM beenden, um Shielded VM-Optionen zu ändern.Prüfen Sie, ob das mit der VM verknüpfte Dienstkonto die Rolle
roles/storage.admin
hat.Wenn Ihre VM ein benutzerdefiniertes Betriebssystem-Image verwendet, installieren Sie die gcloud CLI. Standardmäßig ist die gcloud CLI auf den meisten öffentlichen Betriebssystem-Images installiert, die von Trusted Cloud by S3NSbereitgestellt werden.
Stellen Sie eine Verbindung zur VM her.
Verwenden Sie auf der VM die Google Cloud CLI, um Ihre Cloud Storage-Ressourcen zu verwalten.
- Arbeitslasten mithilfe von Dienstkonten authentifizieren
- Informationen zum Ändern des Dienstkontos, das einer VM zugeordnet ist
- Dienstkonten auflisten und bearbeiten
- Best Practices für die Arbeit mit Dienstkonten lesen und Sicherheitsrisiken minimieren.
Terraform
Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
Weitere Informationen unter Set up authentication for a local development environment.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
After installing the Google Cloud CLI, sign in to the gcloud CLI with your federated identity and then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie in der Dokumentation zur Trusted Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von VMs mit Dienstkonten benötigen:
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen von VMs, die Dienstkonten verwenden, erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um VMs zu erstellen, die Dienstkonten verwenden:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Übersicht
Es wird empfohlen, Dienstkonten für Ihre VMs so zu konfigurieren:
Dienstkonto einrichten
Erstellen Sie ein Dienstkonto und weisen Sie die erforderlichen IAM-Rollen zu. Weisen Sie so viele IAM-Rollen wie nötig zu. Sie können die IAM-Rollen für Ihr Dienstkonto nach Bedarf ändern.
Google empfiehlt, dass Sie die Berechtigungen von Dienstkonten beschränken und regelmäßig prüfen, ob Ihre Dienstkontoberechtigungen aktuell sind.
Verwenden Sie eine der folgenden Methoden, um das Dienstkonto einzurichten.
Console
In the Trusted Cloud console, go to the Create service account page.
Go to Create service accountgcloud
Set up authentication:
Terraform
Sie können zum Erstellen eines Dienstkontos die Ressource
google_service_account
verwenden.Ersetzen Sie die Platzhalterwerte für die Attribute
account_id
unddisplay_name
.Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
VM erstellen und Dienstkonto anhängen
Nachdem Sie das Dienstkonto erstellt haben, erstellen Sie eine VM und hängen Sie das Dienstkonto an, das Sie im vorherigen Abschnitt erstellt haben. Legen Sie außerdem den Zugriffsbereich der VM auf
cloud-platform
fest.Wenn Sie bereits eine VM haben und diese VM für die Verwendung eines anderen Dienstkontos konfigurieren möchten, finden Sie weitere Informationen unter Angehängtes Dienstkonto ändern.
Verwenden Sie eine der folgenden Methoden, um eine VM zu erstellen und das Dienstkonto anzuhängen.
Console
gcloud
Wenn Sie eine neue VM-Instanz erstellen und sie mithilfe der Google Cloud CLI für die Verwendung eines benutzerdefinierten Dienstkontos konfigurieren möchten, verwenden Sie den Befehl
gcloud compute instances create
und geben Sie die Dienstkonto-E-Mail-Adresse sowie den Zugriffsbereichcloud-platform
für die VM-Instanz an.gcloud compute instances create VM_NAME \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=https://www.googleapis.com/auth/cloud-platform
Ersetzen Sie Folgendes:
Beispiele:
gcloud compute instances create example-vm \ --service-account 123-my-sa@my-project-123.s3ns-system.iam.gserviceaccount.com \ --scopes=https://www.googleapis.com/auth/cloud-platform
Sie können den Bereich auch mit dem Alias
--scopes=cloud-platform
angeben. Diese Aliasse werden nur von der gcloud CLI erkannt. Die API und andere Bibliotheken erkennen diese Aliasse nicht, sodass Sie den vollen Bereichs-URI angeben müssen.Terraform
Wenn Sie eine neue VM für die Verwendung eines Dienstkontos einrichten möchten, können Sie die Ressource
google_compute_instance
verwenden.REST
Verwenden Sie die Methode
instances.insert
, um die VM zu erstellen, und geben Sie die Dienstkonto-E-Mail-Adresse und den Zugriffsbereich für die VM-Instanz an.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "serviceAccounts": [ { "email": "SERVICE_ACCOUNT_EMAIL", "scopes": ["https://www.googleapis.com/auth/cloud-platform"] } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }Ersetzen Sie Folgendes:
Auf andere Trusted Cloud by S3NS -Dienste zugreifen und diese verwenden
Nachdem Ihre VM für die Verwendung des Dienstkontos konfiguriert wurde, können sich Anwendungen mit dem Dienstkonto authentifizieren. Die gängigste Methode ist die Authentifizierung mithilfe von Standardanmeldedaten für Anwendungen und einer Clientbibliothek. Einige Trusted Cloud by S3NS -Tools wie die gcloud CLI können automatisch das Dienstkonto verwenden, um von einer VM aus auf Trusted Cloud by S3NS APIs zuzugreifen. Weitere Informationen finden Sie unter Arbeitslasten mit Dienstkonten authentifizieren.
Wenn ein Dienstkonto gelöscht wird, haben Anwendungen darüber keinen Zugriff mehr aufTrusted Cloud by S3NS -Ressourcen. Wenn Sie die standardmäßigen App Engine- und Compute Engine-Dienstkonten löschen, haben ihre VMs keinen Zugriff mehr auf Ressourcen in dem Projekt. Wenn Sie nicht sicher sind, ob ein Dienstkonto verwendet wird, empfehlen wir Ihnen, das Dienstkonto zu deaktivieren, bevor Sie es löschen. Deaktivierte Dienstkonten lassen sich wieder aktivieren, wenn sie noch benötigt werden.
Beispiel: Zugriff auf Cloud Storage-Ressourcen von Ihrer VM aus
Nachdem Sie Ihre VM für die Verwendung eines Dienstkontos mit der Rolle
storage.admin
konfiguriert haben, können Sie Tools wie die gcloud CLI und zum Verwalten von Dateien verwenden, die Sie in Cloud Storage gespeichert haben. Führen Sie die folgenden Schritte aus, um auf Ihre Cloud Storage-Ressourcen zuzugreifen:Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-21 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-21 (UTC)."],[[["This document outlines how to create a virtual machine (VM) instance configured to use a user-managed service account, which is a special type of account used by applications or workloads to make authorized API calls to Google Cloud."],["Attaching a user-managed service account to a VM is recommended for applications needing to access Google Cloud resources without end-user involvement, and it is essential to grant appropriate IAM roles to the service account to define its access permissions."],["The process involves creating a new user-managed service account, assigning necessary IAM roles to it, attaching it to the VM, and setting the VM's access scope to the `cloud-platform` scope to enable Google Cloud API access."],["The required permissions to create VMs that use service accounts include specific permissions related to the creation and management of the service account and the VM itself, such as creating and attaching disks, setting metadata, and managing network settings, and can be fulfilled by using a combination of predefined roles."],["After configuring the VM to use a service account, applications can authenticate using Application Default Credentials and client libraries, allowing access to other Google Cloud services; for instance, if the service account has the `storage.admin` role, tools like the gcloud CLI can be used from the VM to manage Cloud Storage resources."]]],[]] -