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+v
einzufü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 Trusted Cloud by S3NS -Dienste und APIs überprüft.
Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:
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
-
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 init
Weitere Informationen finden Sie in der Dokumentation zur Trusted Cloud -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:
compute.instances.setMetadata
-
So rufen Sie Gastattribute auf:
compute.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 Trusted Cloud by S3NS Dienste
Gastattribute werden von anderen Trusted Cloud 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 zu den von diesen Diensten gespeicherten Metadateneinträgen 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-attributes
beim Erstellen einer VM in Instanzmetadaten fest:Rufen Sie in der Trusted Cloud 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-attributes
in den projektweiten Metadaten fest, damit es für alle VMs im Projekt gilt:Rufen Sie in der Trusted Cloud Console die Seite Metadaten auf.
Klicken Sie auf Bearbeiten.
Fügen Sie einen Metadateneintrag mit dem Schlüssel
enable-guest-attributes
und dem WertTRUE
hinzu. Alternativ können Sie den Wert aufFALSE
setzen, um das Feature zu deaktivieren.Klicken Sie auf Speichern, um die Änderungen zu übernehmen.
Legen Sie
enable-guest-attributes
in den Metadaten einer vorhandenen VM fest:- Rufen Sie in der Trusted Cloud 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-attributes
und dem WertTRUE
hinzu. Alternativ können Sie für den WertFALSE
festlegen, 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-attributes
beim Erstellen einer VM in den Instanzmetadaten fest:Verwenden Sie den Befehl
gcloud compute instances create
im Google Cloud CLI und legen Sieenable-guest-attributes=TRUE
fest, um Gastattribute zu aktivieren. Ersetzen SieVM_NAME
durch den Namen Ihrer VM.gcloud compute instances create VM_NAME \ --metadata=enable-guest-attributes=TRUE
Legen Sie
enable-guest-attributes
in den projektweiten Metadaten fest, damit es für alle VMs im Projekt gilt:Verwenden Sie den Befehl
project-info add-metadata
im Google Cloud CLI und legen Sieenable-guest-attributes=TRUE
fest, um Gastattribute zu aktivieren.gcloud compute project-info add-metadata \ --metadata=enable-guest-attributes=TRUE
Alternativ können Sie
enable-guest-attributes
aufFALSE
festlegen, um Gastattribute zu deaktivieren.Legen Sie
enable-guest-attributes
in den Metadaten einer vorhandenen VM fest:Verwenden Sie den Befehl
instances add-metadata
im Google Cloud CLI und legen Sieenable-guest-attributes=TRUE
fest, um Gastattribute zu aktivieren. Ersetzen SieVM_NAME
durch den Namen Ihrer VM.gcloud compute instances add-metadata VM_NAME \ --metadata=enable-guest-attributes=TRUE
Alternativ können Sie
enable-guest-attributes
aufFALSE
festlegen, 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-attributes
zu 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
NAMESPACE
undKEY
nur 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-attributes
zu 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") $value
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
NAMESPACE
undKEY
nur 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-attributes
zu 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
NAMESPACE
durch 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-attributes
zu lesen:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/guest-attributes/NAMESPACE/KEY") $value
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
NAMESPACE
durch 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=ZONE
Wenn Sie alle Werte unter einem bestimmten Namespace abrufen möchten, fügen Sie das Flag
--query-path
und den von Ihnen definierten Namespace hinzu:gcloud compute instances get-guest-attributes VM_NAME \ --query-path=NAMESPACE \ --zone=ZONE
Wenn 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=ZONE
Dabei 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
NAMESPACE
abrufen möchten, lassen SieKEY
weg: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
NAMESPACE
weg: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
curl
verwenden: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") $value
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
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.disableGuestAttributesAccess
für Ihre Organisation oder Ihren Ordner fest und ersetzen SiePROJECT_ID
durch den Namen Ihres Projekts:gcloud resource-manager org-policies enable-enforce \ constraints/compute.disableGuestAttributesAccess \ --project=PROJECT_ID
Weitere 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-08-19 (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-08-19 (UTC)."],[[["Guest attributes are custom metadata that applications on a virtual machine (VM) instance can read and write, enabling communication and data sharing within the VM."],["Guest attributes must be enabled in the VM or project metadata by setting `enable-guest-attributes` to `TRUE`, and they can be set, queried, or deleted by processes running within the VM, but only read externally."],["Guest attributes are suitable for infrequent, low-volume data like startup script statuses or OS information, but should not contain sensitive data due to broad accessibility."],["Certain roles, like Compute Instance Admin (v1), are necessary to enable or view guest attributes from outside the VM, while processes within the VM can access them without elevated privileges."],["The guest attributes feature can be disabled entirely at the organization or folder level by setting the `constraints/compute.disableGuestAttributesAccess` constraint."]]],[]] -