Gastattribute sind ein bestimmter Typ von benutzerdefinierten Metadaten, in die Anwendungen Daten schreiben können, während sie auf der VM-Instanz ausgeführt werden. Jede Anwendung oder jeder Nutzer auf der VM-Instanz kann Daten aus den Metadatenwerten der Gastattribute lesen und in diese schreiben.
Hinweise
- Verwenden Sie für Windows Server-VMs PowerShell 3.0 oder höher.
Wir empfehlen, die kopierten Codeblöcke mit
ctrl+veinzufügen. -
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Cloud de Confiance by S3NS -Dienste und APIs überprüft. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Cloud de Confiance console to access Cloud de Confiance by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit folgendem Befehl:
gcloud init - Set a default region and zone.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit folgendem Befehl:
gcloud initWeitere Informationen finden Sie in der Dokumentation zur Cloud de Confiance -Authentifizierung unter Für die Verwendung von REST authentifizieren.
Erforderliche Rollen
Die erforderlichen Berechtigungen oder Rollen hängen davon ab, ob Sie Aufgaben innerhalb oder außerhalb der VM ausführen.
In der VM
Wenn Sie die Gastattribute innerhalb der VM festlegen, abfragen oder löschen, benötigen Sie nur die Rollen und Berechtigungen für die Verbindung zur VM. Jeder in der VM-Instanz ausgeführte Prozess kann Daten in die Gastattributwerte schreiben. Das gilt auch für Skripts und Anwendungen, die keine Sudo- oder Administratorberechtigungen haben.
Für Lese- und Schreibvorgänge innerhalb einer VM bietet der Metadatenserver automatische Authentifizierung und Autorisierung auf Instanzebene. Jede VM kann nur auf ihrem eigenen Metadatenserver Daten lesen oder schreiben. Andere VMs können nicht auf den Metadatenserver einer anderen VM zugreifen.
Außerhalb der VM
Die folgenden Rollen und Berechtigungen sind erforderlich, um Gastattribute zu aktivieren oder Gastattribute von außerhalb der VM mit der Google Cloud CLI oder REST aufzurufen. Sie können Gastattribute von außerhalb einer VM weder festlegen noch löschen.
Bitten Sie Ihren Administrator, Ihrem Nutzer oder Dienstkonto die IAM-Rolle Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) für die VM oder das Projekt zu erteilen, um sicherzustellen, dass Ihr Nutzer oder Ihr Dienstkonto die erforderlichen Berechtigungen zum Aktivieren oder Aufrufen von Gastattributen hat. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die zum Aktivieren oder Aufrufen von Gastattributen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Gastattribute zu aktivieren oder anzusehen:
-
So aktivieren Sie Gastattribute:
auf der VM oder im Projektcompute.instances.setMetadata -
So rufen Sie Gastattribute auf:
für die VM oder das Projektcompute.instances.getGuestAttributes
Ihr Administrator kann Ihrem Nutzer oder Dienstkonto diese Berechtigungen möglicherweise auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erteilen.
Wann sind Gastattribute zu verwenden?
Verwenden Sie Gastattribute nur für Anwendungsfälle, in denen kleine Datenmengen erforderlich sind, die sich nicht häufig ändern. Folgende Anwendungsfälle eignen sich für Gastattribute am besten:
- Die Anzahl der Abfragen ist auf maximal zehn Abfragen pro Minute und VM-Instanz beschränkt.
- Es werden niemals mehr als drei Abfragen pro Sekunde ausgeführt. Wenn diese maximale Rate überschritten wird, kann Compute Engine Gastattribute, die gerade geschrieben werden, beliebig entfernen. Durch das Entfernen dieser Daten wird dafür gesorgt, dass andere kritische Systemdaten auf den Server geschrieben werden können.
Gastattribute eignen sich gut für geringe Datenmengen, die selten veröffentlicht werden. Verwenden Sie Gastattribute beispielsweise in folgenden Anwendungsfällen:
- Startskripts können eine erfolgreiche Initialisierung signalisieren, indem sie einen benutzerdefinierten Statuswert in Gastattributen festlegen.
- Konfigurationsverwaltungs-Agents können den Namen und die Version eines Gastbetriebssystems in Gastattributen veröffentlichen.
- Bestandsverwaltungs-Agents können eine Liste der in der VM-Instanz installierten Pakete in Gastattributen veröffentlichen.
- Software zur Arbeitslastorchestrierung kann den Abschluss eines Vorgangs innerhalb des Gasts an die Steuerungsebene der Software weitergeben, indem sie einen benutzerdefinierten Statuswert in Gastattributen festlegt.
Gastattribute sind kein Ersatz für Ereignisstreaming, Pub/Sub oder andere Formen von Datenspeicherung und Konfigurations-Repositories.
Gastattribute und andere Cloud de Confiance by S3NS Dienste
Gastattribute werden von anderen Cloud de Confiance by S3NS -Diensten so verwendet:
- SSH-Sicherheit: Wenn Gastattribute aktiviert und OS Login deaktiviert ist, verwenden die Gastumgebung und die gcloud-CLI Gastattribute, um die SSH-Sicherheit zu verbessern. Dazu wird die Google API verwendet, um Hostschlüssel abzurufen, bevor Sie über SSH eine Verbindung zu Ihrer VM herstellen können.
- VM Manager: Der OS Config-Agent veröffentlicht Betriebssystemdaten in Gastattributen.
Informationen zum Prüfen der von diesen Diensten gespeicherten Metadateneinträge finden Sie unter Vordefinierte Metadatenattribute für Gastattribute.
Gastattribute auf der VM aktivieren
Gastattribute sind standardmäßig deaktiviert. Zum Aktivieren von Gastattributen legen Sie die erforderlichen Metadatenwerte entweder auf den einzelnen VMs oder in den Projektmetadaten fest:
Console
Legen Sie
enable-guest-attributesbeim Erstellen einer VM in Instanzmetadaten fest:Rufen Sie in der Cloud de Confiance Console die Seite Instanz erstellen auf.
Geben Sie die VM-Details an
Maximieren Sie den Abschnitt Erweiterte Optionen und tun Sie Folgendes:
- Maximieren Sie den Bereich Verwaltung.
Klicken Sie im Abschnitt Metadaten auf Element hinzufügen und fügen Sie folgende Metadateneinträge hinzu:
- Key:
enable-guest-attributes - Wert:
TRUE
- Key:
Klicken Sie auf Erstellen, um die VM zu erstellen.
Legen Sie
enable-guest-attributesin den projektweiten Metadaten fest, damit es für alle VMs im Projekt gilt:Rufen Sie in der Cloud de Confiance Console die Seite Metadaten auf.
Klicken Sie auf Bearbeiten.
Fügen Sie einen Metadateneintrag mit dem Schlüssel
enable-guest-attributesund dem WertTRUEhinzu. Alternativ können Sie den Wert aufFALSEsetzen, um das Feature zu deaktivieren.Klicken Sie auf Speichern, um die Änderungen zu übernehmen.
Legen Sie
enable-guest-attributesin den Metadaten einer vorhandenen VM fest:- Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf:
- Klicken Sie auf den Namen der VM, für die Sie den Metadatenwert festlegen möchten.
- Klicken Sie oben auf der Seite mit den Instanzdetails auf Bearbeiten, um die Instanzeinstellungen zu bearbeiten.
- Fügen Sie unter Benutzerdefinierte Metadaten einen Metadateneintrag mit dem Schlüssel
enable-guest-attributesund dem WertTRUEhinzu. Alternativ können Sie für den WertFALSEfestlegen, damit dieses Feature nicht für Ihre VM verwendet wird. - Klicken Sie unten auf der Seite mit den Instanzdetails auf Speichern, um die Änderungen für die VM zu übernehmen.
gcloud
Legen Sie
enable-guest-attributesbeim Erstellen einer VM in den Instanzmetadaten fest:Verwenden Sie den Befehl
gcloud compute instances createim Google Cloud CLI und legen Sieenable-guest-attributes=TRUEfest, um Gastattribute zu aktivieren. Ersetzen SieVM_NAMEdurch den Namen Ihrer VM.gcloud compute instances create VM_NAME \ --metadata=enable-guest-attributes=TRUELegen Sie
enable-guest-attributesin den projektweiten Metadaten fest, damit es für alle VMs im Projekt gilt:Verwenden Sie den Befehl
project-info add-metadataim Google Cloud CLI und legen Sieenable-guest-attributes=TRUEfest, um Gastattribute zu aktivieren.gcloud compute project-info add-metadata \ --metadata=enable-guest-attributes=TRUEAlternativ können Sie
enable-guest-attributesaufFALSEfestlegen, um Gastattribute zu deaktivieren.Legen Sie
enable-guest-attributesin den Metadaten einer vorhandenen VM fest:Verwenden Sie den Befehl
instances add-metadataim Google Cloud CLI und legen Sieenable-guest-attributes=TRUEfest, um Gastattribute zu aktivieren. Ersetzen SieVM_NAMEdurch den Namen Ihrer VM.gcloud compute instances add-metadata VM_NAME \ --metadata=enable-guest-attributes=TRUEAlternativ können Sie
enable-guest-attributesaufFALSEfestlegen, damit keine Gastattribute für Ihre VM verwendet werden.Gastattribute festlegen
Jeder in der VM-Instanz ausgeführte Prozess kann Daten in die Gastattributwerte schreiben. Das gilt auch für Skripts und Anwendungen, die keine Sudo- oder Administratorberechtigungen haben. Nutzer oder Dienstkonten außerhalb der VM können keine Daten in Metadatenwerte von Gastattributen schreiben.
Linux-VMs
Sie können beispielsweise eine
curl-Anfrage aus Ihrer VM verwenden, um einen Wert in den Metadatenpfadguest-attributeszu schreiben:curl -X PUT --data "VALUE" http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY -H "Metadata-Flavor: Google"
Dabei gilt:
NAMESPACE: logische Gruppierung für denKEY. Gastattribute müssen einen Namespace haben.VALUE: Wert, den Sie schreiben möchten.KEY: Metadatenpfad inguest-attributes, in dem der Wert gespeichert wird.
Verwenden Sie für die Felder
NAMESPACEundKEYnur Buchstaben, Ziffern, Unterstriche (_) und Bindestriche (-).Windows-VMs
Sie können beispielsweise eine
Invoke-RestMethod-Anfrage aus Ihrer VM verwenden, um einen Wert in den Metadatenpfadguest-attributeszu schreiben:PS C:\> $value = (Invoke-RestMethod ` -Method PUT -Body "VALUE" ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY") $valueDabei gilt:
NAMESPACE: logische Gruppierung für denKEY. Gastattribute müssen einen Namespace haben.VALUE: Wert, den Sie schreiben möchten.KEY: Metadatenpfad inguest-attributes, in dem der Wert gespeichert wird.
Verwenden Sie für die Felder
NAMESPACEundKEYnur Buchstaben, Ziffern, Unterstriche (_) und Bindestriche (-).Gastattribute abrufen
Nutzer oder Dienstkonten können Gastattribute von außerhalb einer VM lesen, wenn sie die erforderliche Rolle haben. Darüber hinaus kann jeder Nutzer oder jede Anwendung innerhalb einer VM die Metadatenwerte für diese VM lesen.
Jeder Prozess, der in der virtuellen Maschine ausgeführt wird, kann in den Wert des Gastattributs schreiben. Das gilt auch für Skripts und Anwendungen, die keine Sudo- oder Administratorberechtigungen haben.
Metadatenserver abfragen
Verwenden Sie die folgende Anleitung, um Gastattribute von innerhalb einer VM abzufragen.
Stellen Sie eine Verbindung zur VM her.
Gastattribute abfragen
Linux-VMs
Sie können beispielsweise eine
curl-Anfrage aus Ihrer VM verwenden, um einen Wert aus dem Metadatenpfadguest-attributeszu lesen:curl http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY -H "Metadata-Flavor: Google"
Dabei gilt:
NAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie abfragen möchten.KEY: Pfad innerhalb vonguest-attributes, aus dem der Metadatenwert gelesen werden soll.
Alternativ können Sie alle Gastattributwerte mit einer einzigen Anfrage zurückgeben: Ersetzen Sie
NAMESPACEdurch den Namespace für den Schlüsselguest-attributes, den Sie abfragen möchten.curl http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/ -H "Metadata-Flavor: Google"
Windows-VMs
Sie können beispielsweise eine
Invoke-RestMethod-Anfrage aus Ihrer VM verwenden, um einen Wert aus dem Metadatenpfadguest-attributeszu lesen:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY") $valueDabei gilt:
NAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie abfragen möchten.KEY: Pfad innerhalb vonguest-attributes, aus dem der Metadatenwert gelesen werden soll.
Alternativ können Sie alle Gastattributwerte mit einer einzigen Anfrage zurückgeben: Ersetzen Sie
NAMESPACEdurch den Namespace für den Schlüsselguest-attributes, den Sie abfragen möchten.PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/") $value
Google Cloud CLI oder REST verwenden
Verwenden Sie die folgende Anleitung, um Gastattribute von außerhalb einer VM anzusehen.
gcloud
Verwenden Sie das Google Cloud CLI, um Metadatenwerte von Gastattributen für eine VM zu lesen. Sie können beispielsweise sämtliche Werte für die VM abrufen:
gcloud compute instances get-guest-attributes VM_NAME \ --zone=ZONEWenn Sie alle Werte unter einem bestimmten Namespace abrufen möchten, fügen Sie das Flag
--query-pathund den von Ihnen definierten Namespace hinzu:gcloud compute instances get-guest-attributes VM_NAME \ --query-path=NAMESPACE \ --zone=ZONEWenn Sie einen einzelnen Wert unter einem bestimmten Namespace abrufen möchten, fügen Sie das Flag
--query-path, den Namespace und den Schlüssel für den von Ihnen definierten Wert hinzu:gcloud compute instances get-guest-attributes VM_NAME \ --query-path=NAMESPACE/KEY \ --zone=ZONEDabei gilt:
VM_NAME: Name der VM, von der Sie den Metadatenwert des Gastattributs lesen möchtenNAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie abfragen möchtenKEY: Pfad innerhalb vonguest-attributes-Metadaten, in dem der Wert gespeichert wirdZONE: die Zone, in der sich die VM befindet
REST
Verwenden Sie die Methode
compute.instances.getguestattributes:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/getGuestAttributes?queryPath=NAMESPACE/KEY
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Projekt-IDZONE: Zone, in der sich Ihre VM befindetVM_NAME: Name der VM, von der Sie den Metadatenwert des Gastattributs lesen möchtenNAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie abfragen möchtenKEY: Pfad innerhalb vonguest-attributes-Metadaten, in dem der Wert gespeichert wird
Wenn Sie alle Schlüssel für einen
NAMESPACEabrufen möchten, lassen SieKEYweg:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/getGuestAttributes?queryPath=NAMESPACE
Zum Abrufen aller Schlüssel in jedem Namespace auf der VM lassen Sie
NAMESPACEweg:GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/getGuestAttributes?queryPath=
Wenn Sie ein OAuth-Token haben, können Sie alternativ
curlverwenden:curl -H "Authorization: Bearer OAUTH_TOKEN" https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/getGuestAttributes?queryPath=NAMESPACE/KEY
Dabei gilt:
OAUTH_TOKEN: Ihr OAuth-TokenPROJECT_ID: Ihre Projekt-IDZONE: Zone, in der sich Ihre VM befindetVM_NAME: Name der VM, von der Sie den Metadatenwert des Gastattributs lesen möchtenNAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie abfragen möchtenKEY: Pfad innerhalb vonguest-attributes-Metadaten, in dem der Wert gespeichert wird
Gastattribute löschen
Verwenden Sie die folgende Anleitung, um Gastattribute von innerhalb einer VM zu entfernen.
Stellen Sie eine Verbindung zur VM her.
Löschen Sie die Gastattribute.
Linux-VMs
Sie können Gastattribute auch löschen. Verwenden Sie beispielsweise
curl, um einen bestimmten Schlüssel zu löschen:curl -X DELETE http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY -H "Metadata-Flavor: Google"
Dabei gilt:
NAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie löschen möchtenKEY: Pfad innerhalb vonguest-attributes, in dem der Wert gespeichert wird
Windows-VMs
Sie können Gastattribute auch löschen. Verwenden Sie beispielsweise
Invoke-RestMethod, um einen bestimmten Schlüssel zu löschen:PS C:\> $value = (Invoke-RestMethod ` -Method DELETE ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY") $valueDabei gilt:
NAMESPACE: Namespace für den Schlüsselguest-attributes, den Sie löschen möchtenKEY: Pfad innerhalb vonguest-attributes, in dem der Wert gespeichert wird
Gastattribute für Ihre Organisation oder Ihren Ordner deaktivieren
Wenn Sie nicht möchten, dass eine der VMs in Ihrer Organisation oder Ihrem Ordner Gastattribute aktiviert, können Sie das Feature vollständig überschreiben und deaktivieren.
Legen Sie die Einschränkung
constraints/compute.disableGuestAttributesAccessfür Ihre Organisation oder Ihren Ordner fest und ersetzen SiePROJECT_IDdurch den Namen Ihres Projekts:gcloud resource-manager org-policies enable-enforce \ constraints/compute.disableGuestAttributesAccess \ --project=PROJECT_IDWeitere Informationen zum Festlegen und Verwalten von Einschränkungen für Ihre Organisationen finden Sie unter Einschränkungen verwenden.
Nächste Schritte
- Mehr über VM-Metadaten erfahren
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-10-18 (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-10-18 (UTC)."],[],[]] -