Schnellstart für Cloud Asset Inventory

In dieser Anleitung wird Schritt für Schritt erklärt, wie Sie einen Snapshot exportieren und den Verlauf von Assets in einem Projekt mithilfe einer Compute Engine-VM-Instanz und der Cloud Asset API abrufen. Sie können die Cloud Asset API auch aufrufen, um einen gesamten Ordner oder eine gesamte Organisation zu exportieren oder den Verlauf von Assets in einer Organisation abzurufen.

Weitere Informationen finden Sie in der Einführung in Cloud Asset Inventory.

Vorbereitung

  1. Aktivieren Sie die Cloud Asset API für Ihr Projekt.

  2. Erstellen Sie ein neues Dienstkonto, wenn in Ihrem Projekt noch kein Dienstkonto vorhanden ist.

  3. Weisen Sie Ihrem Dienstkonto die Rolle owner oder cloudasset.viewer für Ihr Projekt zu, um die Cloud Asset API zu aktivieren.

    Der Zugriff ist auch mit Rollen möglich, die eine dieser Rollen umfassen. Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Informationen zu Rollen.

Instanz einrichten

  1. Erstellen Sie einen neuen Bucket, wenn in Ihrem Projekt kein Cloud Storage-Bucket zum Speichern exportierter Daten verfügbar ist.
  2. Richten Sie eine neue Compute Engine-VM-Instanz ein. Wählen Sie dazu auf der Seite "Instanz erstellen" Ihr Dienstkonto aus.

    Weiter zur Seite "Instanz erstellen"

  3. Wählen Sie unter Zugriffsbereiche die Option Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen aus.
  4. Starten Sie die Instanz, indem Sie auf Erstellen klicken.

Asset-Snapshot exportieren

Exportieren Sie mit den nachfolgenden Schritten alle Assetmetadaten Ihres Projekts über die Cloud Asset API.

Verwenden Sie zum Exportieren von Assetmetadaten für eine Organisation die REST-Methode https://cloudasset.googleapis.com/v1/organizations/ORGANIZATION_NUMBER:exportAssets im curl-Befehl.

Wenn Sie die Assetmetadaten für einen Ordner exportieren möchten, verwenden Sie die REST-Methode https://cloudasset.googleapis.com/v1/folders/FOLDER_NUMBER:exportAssets.

  1. Rufen Sie die Seite VM-Instanzen auf.

    Weiter zur Seite "VM-Instanzen"

  2. Öffnen Sie einen mit der Instanz verbundenen SSH-Webclient, indem Sie neben der Instanzliste auf die Schaltfläche SSH klicken.
  3. Generieren Sie im SSH-Webclient mit dem folgenden Aufruf ein Authentifizierungstoken für Ihr Dienstkonto.

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Exportieren Sie alle Assetmetadaten Ihres Projekts mit dem folgenden Befehl curl:

    curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
         -d '{"contentType":"RESOURCE", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets
    

Mit den folgenden Befehlen können Sie auch detailliertere Assetmetadaten exportieren:

Cloud IAM-Richtlinien in ein Projekt exportieren

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"contentType":"IAM_POLICY", "outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Alle Assetnamen ohne Metadaten in einem Projekt exportieren

curl -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"outputConfig":{"gcsDestination":{"uri":"gs://YOUR_BUCKET/NEW_FILE"}}}' \
        https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:exportAssets

Asset-Snapshot ansehen

Ihre exportierten Assets können Sie im Cloud Storage-Browser durch Öffnen der neuen Datei ansehen. Im Export sind die Assets und zugehörigen Ressourcennamen aufgelistet.

Exportstatus prüfen

Das Exportieren von Assets ist ein relativ zeitaufwendiger Prozess, der für die meisten Projekte, Ordner und Organisationen einige Sekunden in Anspruch nimmt. Bei großen Ordnern und Organisationen mit vielen Projekten und Assets kann der Prozess länger dauern. Der Status einer Exportanfrage wird anhand der Vorgangsnummer des Exports geprüft.

So prüfen Sie den Status eines Exports:

  1. Rufen Sie die Vorgangsnummer aus dem Feld name der Antwort ab.

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER"
    
  2. Öffnen Sie den SSH-Webclient für Ihre Instanz und geben Sie den folgenden Befehl "curl" ein.

    curl -H "Authorization: Bearer $TOKEN" \
         -H "Content-Type: application/json" \
            https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER
    

Es wird in etwa folgende Antwort zurückgegeben. Das Feld done wird nach Abschluss des Exportvorgangs auf true gesetzt.

{
  "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_NUMBER",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsRequest",
    "parent": "projects/PROJECT_NUMBER",
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.asset.v1.ExportAssetsResponse",
    "readTime": [timestamp],
    "outputConfig": {
      "gcsDestination": {
        "uri": "gs://YOUR_BUCKET/NEW_FILE"
      }
    }
  }
}

Verlauf von Assets abrufen

Führen Sie die folgenden Schritte aus, um über die Cloud Asset API den Verlauf der Erstell-, Lösch- und Aktualisierungsereignisse bestimmter Assets in einem Projekt innerhalb eines bestimmten Zeitraums abzurufen.

Wenn Sie den Verlauf von Assets in einer Organisation abrufen möchten, verwenden Sie die REST-Methode https://cloudasset.googleapis.com/v1/projects/ORGANIZATION_NUMBER:batchGetAssetsHistory im curl-Befehl.

  1. Rufen Sie die Seite VM-Instanzen auf.

    Weiter zur Seite "VM-Instanzen"

  2. Öffnen Sie einen mit der Instanz verbundenen SSH-Webclient, indem Sie neben der Instanzliste auf die Schaltfläche SSH klicken.
  3. Generieren Sie im SSH-Webclient mit dem folgenden Aufruf ein Authentifizierungstoken für Ihr Dienstkonto.

    TOKEN=$(gcloud auth application-default print-access-token)
    
  4. Bestimmen Sie den vollständigen Ressourcennamen des Assets, dessen Verlauf Sie abrufen möchten. Im folgenden Beispiel wird //compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall verwendet.

  5. Legen Sie den Start und das Ende des Zeitraums im Format "RFC 3339 UTC" fest. Erforderlich ist nur die Startzeit. Weitere Informationen finden Sie unter TimeWindow.

  6. Rufen Sie den Verlauf der angegebenen Assets in einem Projekt einschließlich aller Ressourcenmetadaten ab:

    curl -X POST -H "X-HTTP-Method-Override: GET" \
                 -H "Authorization: Bearer $TOKEN" \
                 -H "Content-Type: application/json" \
                 -d '{"contentType":"RESOURCE", \
                      "assetNames": \
                        "//compute.googleapis.com/projects/PROJECT_ID/global/firewalls/default-firewall", \
                      "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
                 https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

Der Verlauf wird im folgenden Format zurückgegeben:

{
  "assets": [
    {
      "window": {
        "startTime": 

Mit den folgenden Befehlen können Sie einen detaillierteren Verlauf der Assetmetadaten exportieren:

Verlauf der angegebenen Assets in einem Projekt ohne Ressourcenmetadaten abrufen:

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory

Verlauf aller Cloud IAM-Richtlinien der angegebenen Assets in einem Projekt abrufen:

curl -X POST -H "X-HTTP-Method-Override: GET" \
             -H "Authorization: Bearer $TOKEN" \
             -H "Content-Type: application/json" \
             -d '{"contentType":"IAM_POLICY", \
                  "assetNames": \
                    "//compute.googleapis.com/projects/my_project_id/global/firewalls/default-firewall", \
                  "readTimeWindow": {"startTime": "2014-10-02T15:01:23.045123456Z"}}' \
             https://cloudasset.googleapis.com/v1/projects/PROJECT_NUMBER:batchGetAssetsHistory
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Dokumentation zu Resource Manager