Nach BigQuery exportieren

In diesem Thema erfahren Sie, wie Sie die Assetmetadaten für Ihre Organisation, Ihren Ordner oder Ihr Projekt in eine BigQuery exportieren und dann Datenanalyse für Ihr Inventar durchführen. BigQuery bietet eine SQL-ähnliche Erfahrung, in der Nutzer Daten analysieren und wertvolle Informationen gewinnen können, ohne benutzerdefinierte Skripts zu verwenden.

Hinweise

Führen Sie zuerst die folgenden Schritte aus.

  1. Aktivieren Sie die Cloud Asset Inventory API in dem Projekt, in dem Sie die API-Befehle ausführen werden.

    Cloud Asset Inventory API aktivieren

  2. Konfigurieren Sie die Berechtigungen, die zum Aufrufen der Cloud Asset Inventory API über die gcloud CLI oder die API erforderlich sind.

  3. Führen Sie die folgenden Schritte aus, um Ihre Umgebung einzurichten:

    gcloud-CLI

    Wenn Sie Ihre Umgebung so einrichten möchten, dass die gcloud CLI zum Aufrufen der Cloud Asset Inventory API verwendet wird, installieren Sie die Google Cloud CLI auf Ihrem lokalen Client.

    REST

    Führen Sie die folgenden Schritte aus, um Ihre Umgebung so einzurichten, dass die Cloud Asset Inventory API mit dem Befehl curl aufgerufen wird.

    1. Prüfen Sie, ob Sie Zugriff auf den Befehl curl haben.

    2. Gewähren Sie Ihrem Konto eine der folgenden Rollen für Ihr Projekt, Ihren Ordner oder Ihre Organisation.

      • Rolle „Cloud-Asset-Betrachter“ (roles/cloudasset.viewer)

      • Einfache Inhaberrolle (roles/owner)

  4. Achten Sie beim Exportieren von Metadaten von einem Projekt in ein anderes darauf, dass das standardmäßige Cloud Asset Inventory-Dienstkonto des exportierenden Projekts vorhanden ist und die richtigen Berechtigungen hat.

  5. Erstellen Sie ein BigQuery-Dataset.

Beschränkungen

Beachten Sie beim Exportieren eines Asset-Snapshots Folgendes:

  • BigQuery-Tabellen, die mit benutzerdefinierten Cloud KMS-Schlüsseln (Cloud Key Management Service) verschlüsselt wurden, werden nicht unterstützt.

  • Das Anhängen der Exportausgabe an eine vorhandene Tabelle wird nur unterstützt, wenn Sie Daten in eine partitionierte Tabelle exportieren. Die Zieltabelle muss leer sein oder muss überschrieben werden. Verwenden Sie zum Überschreiben das Flag --output-bigquery-force mit der gcloud CLI oder force mit der REST API.

  • Google Kubernetes Engine-Ressourcentypen (GKE) mit Ausnahme von container.googleapis.com/Cluster und container.googleapis.com/NodePool werden beim Exportieren in separate Tabellen nach Ressourcentyp nicht unterstützt.

  • Wenn die Tabelle, in die Sie exportieren möchten, bereits vorhanden ist und bereits exportiert wird, wird der Fehler 400 zurückgegeben.

BigQuery-Schema für den Export festlegen

Jede BigQuery-Tabelle wird durch ein Schema definiert, das unter anderem Informationen zu Spaltennamen und Datentypen enthält. Wenn Sie den Inhaltstyp während des Exports festlegen, wird das Schema für die Tabelle bestimmt.

  • Ressource oder nicht angegeben: Wenn Sie den Inhaltstyp auf RESOURCE festlegen oder nicht angeben und das Flag per-asset-type auf false festlegen oder nicht verwenden, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    Ressourcenschema

    [
      {
        "name": "name",
        "type": "STRING",
        "mode": "NULLABLE"
      },
      {
        "name": "asset_type",
        "type": "STRING",
        "mode": "NULLABLE"
      },
      {
        "name": "resource",
        "type": "RECORD",
        "mode": "NULLABLE",
        "fields": [
          {
            "name": "version",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "discovery_document_uri",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "discovery_name",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "resource_url",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "parent",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "data",
            "type": "STRING",
            "mode": "NULLABLE"
          },
          {
            "name": "location",
            "type": "STRING",
            "mode": "NULLABLE"
          }
        ]
      },
      {
        "name": "ancestors",
        "type": "STRING",
        "mode": "REPEATED"
      },
      {
        "name": "update_time",
        "type": "TIMESTAMP",
        "mode": "NULLABLE"
      }
    ]

    Die Spalte resource.data enthält die Ressourcenmetadaten, die als JSON-String dargestellt werden.

    Wenn Sie den Inhaltstyp auf RESOURCE oder nicht festlegen und das Flag per-asset-type auf true setzen, werden separate Tabellen pro Assettyp erstellt. Das Schema jeder Tabelle enthält Spalten vom Typ RECORD, die den verschachtelten Feldern im Feld Resource.data dieses Asset-Typs zugeordnet sind (bis zu den von BigQuery unterstützten 15 verschachtelten Ebenen). BigQuery-Beispieltabellen pro Typ finden Sie unter projects/export-assets-examples/datasets/structured_export.

  • IAM-Richtlinie:Wenn Sie den Inhaltstyp in der REST API auf IAM_POLICY oder in der gcloud CLI auf iam-policy setzen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    IAM-Richtlinienschema

    [
      {
        "name": "name",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "name": "asset_type",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "fields": [
          {
            "name": "version",
            "mode": "NULLABLE",
            "type": "INTEGER"
          },
          {
            "fields": [
              {
                "name": "role",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "members",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "fields": [
                  {
                    "name": "expression",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "title",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "description",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "location",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  }
                ],
                "name": "condition",
                "mode": "NULLABLE",
                "type": "RECORD"
              }
            ],
            "name": "bindings",
            "mode": "REPEATED",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "name": "service",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "fields": [
                  {
                    "name": "log_type",
                    "mode": "NULLABLE",
                    "type": "INTEGER"
                  },
                  {
                    "name": "exempted_members",
                    "mode": "REPEATED",
                    "type": "STRING"
                  }
                ],
                "name": "audit_log_configs",
                "mode": "REPEATED",
                "type": "RECORD"
              }
            ],
            "name": "audit_configs",
            "mode": "REPEATED",
            "type": "RECORD"
          },
          {
            "name": "etag",
            "mode": "NULLABLE",
            "type": "STRING"
          }
        ],
        "name": "iam_policy",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "name": "ancestors",
        "mode": "REPEATED",
        "type": "STRING"
      },
      {
        "name": "update_time",
        "mode": "NULLABLE",
        "type": "TIMESTAMP"
      }
    ]
  • Organisationsrichtlinie: Wenn Sie den Inhaltstyp in der REST API auf ORG_POLICY oder in der gcloud CLI auf org-policy setzen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    Schema für Organisationsrichtlinien

    [
      {
        "name": "name",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "name": "asset_type",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "fields": [
          {
            "name": "version",
            "mode": "NULLABLE",
            "type": "INTEGER"
          },
          {
            "name": "constraint",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "etag",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "update_time",
            "mode": "NULLABLE",
            "type": "TIMESTAMP"
          },
          {
            "fields": [
              {
                "name": "allowed_values",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "denied_values",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "all_values",
                "mode": "NULLABLE",
                "type": "INTEGER"
              },
              {
                "name": "suggested_value",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "inherit_from_parent",
                "mode": "NULLABLE",
                "type": "BOOLEAN"
              }
            ],
            "name": "list_policy",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "name": "enforced",
                "mode": "NULLABLE",
                "type": "BOOLEAN"
              }
            ],
            "name": "boolean_policy",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "name": "_present",
                "mode": "NULLABLE",
                "type": "BOOLEAN"
              }
            ],
            "name": "restore_default",
            "mode": "NULLABLE",
            "type": "RECORD"
          }
        ],
        "name": "org_policy",
        "mode": "REPEATED",
        "type": "RECORD"
      },
      {
        "name": "ancestors",
        "mode": "REPEATED",
        "type": "STRING"
      },
      {
        "name": "update_time",
        "mode": "NULLABLE",
        "type": "TIMESTAMP"
      }
    ]
  • VPCSC-Richtlinie: Wenn Sie den Inhaltstyp in der REST API auf ACCESS_POLICY oder in der gcloud CLI auf access-policy setzen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    VPCSC-Richtlinienschema

    [
      {
        "name": "name",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "name": "asset_type",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "fields": [
          {
            "name": "name",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "parent",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "title",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "scopes",
            "mode": "REPEATED",
            "type": "STRING"
          },
          {
            "name": "etag",
            "mode": "NULLABLE",
            "type": "STRING"
          }
        ],
        "name": "access_policy",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "fields": [
          {
            "name": "name",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "title",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "description",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "fields": [
              {
                "fields": [
                  {
                    "name": "ip_subnetworks",
                    "mode": "REPEATED",
                    "type": "STRING"
                  },
                  {
                    "fields": [
                      {
                        "name": "require_screenlock",
                        "mode": "NULLABLE",
                        "type": "BOOLEAN"
                      },
                      {
                        "name": "allowed_encryption_statuses",
                        "mode": "REPEATED",
                        "type": "INTEGER"
                      },
                      {
                        "fields": [
                          {
                            "name": "os_type",
                            "mode": "NULLABLE",
                            "type": "INTEGER"
                          },
                          {
                            "name": "minimum_version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "require_verified_chrome_os",
                            "mode": "NULLABLE",
                            "type": "BOOLEAN"
                          }
                        ],
                        "name": "os_constraints",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "allowed_device_management_levels",
                        "mode": "REPEATED",
                        "type": "INTEGER"
                      },
                      {
                        "name": "require_admin_approval",
                        "mode": "NULLABLE",
                        "type": "BOOLEAN"
                      },
                      {
                        "name": "require_corp_owned",
                        "mode": "NULLABLE",
                        "type": "BOOLEAN"
                      }
                    ],
                    "name": "device_policy",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "name": "required_access_levels",
                    "mode": "REPEATED",
                    "type": "STRING"
                  },
                  {
                    "name": "negate",
                    "mode": "NULLABLE",
                    "type": "BOOLEAN"
                  },
                  {
                    "name": "members",
                    "mode": "REPEATED",
                    "type": "STRING"
                  },
                  {
                    "name": "regions",
                    "mode": "REPEATED",
                    "type": "STRING"
                  }
                ],
                "name": "conditions",
                "mode": "REPEATED",
                "type": "RECORD"
              },
              {
                "name": "combining_function",
                "mode": "NULLABLE",
                "type": "INTEGER"
              }
            ],
            "name": "basic",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "fields": [
                  {
                    "name": "expression",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "title",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "description",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "location",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  }
                ],
                "name": "expr",
                "mode": "NULLABLE",
                "type": "RECORD"
              }
            ],
            "name": "custom",
            "mode": "NULLABLE",
            "type": "RECORD"
          }
        ],
        "name": "access_level",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "fields": [
          {
            "name": "name",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "title",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "description",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "perimeter_type",
            "mode": "NULLABLE",
            "type": "INTEGER"
          },
          {
            "fields": [
              {
                "name": "resources",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "access_levels",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "restricted_services",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "fields": [
                  {
                    "name": "enable_restriction",
                    "mode": "NULLABLE",
                    "type": "BOOLEAN"
                  },
                  {
                    "name": "allowed_services",
                    "mode": "REPEATED",
                    "type": "STRING"
                  }
                ],
                "name": "vpc_accessible_services",
                "mode": "NULLABLE",
                "type": "RECORD"
              },
              {
                "fields": [
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "access_level",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "resource",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "sources",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "identities",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "name": "identity_type",
                        "mode": "NULLABLE",
                        "type": "INTEGER"
                      }
                    ],
                    "name": "ingress_from",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "service_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "method",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "permission",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "method_selectors",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          }
                        ],
                        "name": "operations",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      }
                    ],
                    "name": "ingress_to",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  }
                ],
                "name": "ingress_policies",
                "mode": "REPEATED",
                "type": "RECORD"
              },
              {
                "fields": [
                  {
                    "fields": [
                      {
                        "name": "identities",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "name": "identity_type",
                        "mode": "NULLABLE",
                        "type": "INTEGER"
                      }
                    ],
                    "name": "egress_from",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "fields": [
                      {
                        "name": "resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "fields": [
                          {
                            "name": "service_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "method",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "permission",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "method_selectors",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          }
                        ],
                        "name": "operations",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "external_resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      }
                    ],
                    "name": "egress_to",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  }
                ],
                "name": "egress_policies",
                "mode": "REPEATED",
                "type": "RECORD"
              }
            ],
            "name": "status",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "name": "resources",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "access_levels",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "name": "restricted_services",
                "mode": "REPEATED",
                "type": "STRING"
              },
              {
                "fields": [
                  {
                    "name": "enable_restriction",
                    "mode": "NULLABLE",
                    "type": "BOOLEAN"
                  },
                  {
                    "name": "allowed_services",
                    "mode": "REPEATED",
                    "type": "STRING"
                  }
                ],
                "name": "vpc_accessible_services",
                "mode": "NULLABLE",
                "type": "RECORD"
              },
              {
                "fields": [
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "access_level",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "resource",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "sources",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "identities",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "name": "identity_type",
                        "mode": "NULLABLE",
                        "type": "INTEGER"
                      }
                    ],
                    "name": "ingress_from",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "service_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "method",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "permission",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "method_selectors",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          }
                        ],
                        "name": "operations",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      }
                    ],
                    "name": "ingress_to",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  }
                ],
                "name": "ingress_policies",
                "mode": "REPEATED",
                "type": "RECORD"
              },
              {
                "fields": [
                  {
                    "fields": [
                      {
                        "name": "identities",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "name": "identity_type",
                        "mode": "NULLABLE",
                        "type": "INTEGER"
                      }
                    ],
                    "name": "egress_from",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "fields": [
                      {
                        "name": "resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      },
                      {
                        "fields": [
                          {
                            "name": "service_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "method",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "permission",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "method_selectors",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          }
                        ],
                        "name": "operations",
                        "mode": "REPEATED",
                        "type": "RECORD"
                      },
                      {
                        "name": "external_resources",
                        "mode": "REPEATED",
                        "type": "STRING"
                      }
                    ],
                    "name": "egress_to",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  }
                ],
                "name": "egress_policies",
                "mode": "REPEATED",
                "type": "RECORD"
              }
            ],
            "name": "spec",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "name": "use_explicit_dry_run_spec",
            "mode": "NULLABLE",
            "type": "BOOLEAN"
          }
        ],
        "name": "service_perimeter",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "name": "ancestors",
        "mode": "REPEATED",
        "type": "STRING"
      },
      {
        "name": "update_time",
        "mode": "NULLABLE",
        "type": "TIMESTAMP"
      }
    ]
  • Inventar der OSConfig-Instanzen:Wenn Sie den Inhaltstyp in der REST API auf OS_INVENTORY oder in der gcloud CLI auf os-inventory setzen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    OS Inventory-Schema

    [
      {
        "name": "name",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "name": "asset_type",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "fields": [
          {
            "name": "name",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "fields": [
              {
                "name": "hostname",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "long_name",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "short_name",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "version",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "architecture",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "kernel_version",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "kernel_release",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "name": "osconfig_agent_version",
                "mode": "NULLABLE",
                "type": "STRING"
              }
            ],
            "name": "os_info",
            "mode": "NULLABLE",
            "type": "RECORD"
          },
          {
            "fields": [
              {
                "name": "key",
                "mode": "NULLABLE",
                "type": "STRING"
              },
              {
                "fields": [
                  {
                    "name": "id",
                    "mode": "NULLABLE",
                    "type": "STRING"
                  },
                  {
                    "name": "origin_type",
                    "mode": "NULLABLE",
                    "type": "INTEGER"
                  },
                  {
                    "name": "create_time",
                    "mode": "NULLABLE",
                    "type": "TIMESTAMP"
                  },
                  {
                    "name": "update_time",
                    "mode": "NULLABLE",
                    "type": "TIMESTAMP"
                  },
                  {
                    "name": "type",
                    "mode": "NULLABLE",
                    "type": "INTEGER"
                  },
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "yum_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "apt_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "zypper_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "googet_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "patch_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "category",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "severity",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "summary",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "zypper_patch",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "title",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "description",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "id",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "name",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "categories",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          },
                          {
                            "name": "kb_article_ids",
                            "mode": "REPEATED",
                            "type": "STRING"
                          },
                          {
                            "name": "support_url",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "more_info_urls",
                            "mode": "REPEATED",
                            "type": "STRING"
                          },
                          {
                            "name": "update_id",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "revision_number",
                            "mode": "NULLABLE",
                            "type": "INTEGER"
                          },
                          {
                            "name": "last_deployment_change_time",
                            "mode": "NULLABLE",
                            "type": "TIMESTAMP"
                          }
                        ],
                        "name": "wua_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "caption",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "description",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "hot_fix_id",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "install_time",
                            "mode": "NULLABLE",
                            "type": "TIMESTAMP"
                          }
                        ],
                        "name": "qfe_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "cos_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "display_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "display_version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "publisher",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "year",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              },
                              {
                                "name": "month",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              },
                              {
                                "name": "day",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              }
                            ],
                            "name": "install_date",
                            "mode": "NULLABLE",
                            "type": "RECORD"
                          },
                          {
                            "name": "help_link",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "windows_application",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      }
                    ],
                    "name": "installed_package",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  },
                  {
                    "fields": [
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "yum_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "apt_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "zypper_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "googet_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "patch_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "category",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "severity",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "summary",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "zypper_patch",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "title",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "description",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "id",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              },
                              {
                                "name": "name",
                                "mode": "NULLABLE",
                                "type": "STRING"
                              }
                            ],
                            "name": "categories",
                            "mode": "REPEATED",
                            "type": "RECORD"
                          },
                          {
                            "name": "kb_article_ids",
                            "mode": "REPEATED",
                            "type": "STRING"
                          },
                          {
                            "name": "support_url",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "more_info_urls",
                            "mode": "REPEATED",
                            "type": "STRING"
                          },
                          {
                            "name": "update_id",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "revision_number",
                            "mode": "NULLABLE",
                            "type": "INTEGER"
                          },
                          {
                            "name": "last_deployment_change_time",
                            "mode": "NULLABLE",
                            "type": "TIMESTAMP"
                          }
                        ],
                        "name": "wua_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "caption",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "description",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "hot_fix_id",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "install_time",
                            "mode": "NULLABLE",
                            "type": "TIMESTAMP"
                          }
                        ],
                        "name": "qfe_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "package_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "architecture",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "cos_package",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      },
                      {
                        "fields": [
                          {
                            "name": "display_name",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "display_version",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "name": "publisher",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          },
                          {
                            "fields": [
                              {
                                "name": "year",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              },
                              {
                                "name": "month",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              },
                              {
                                "name": "day",
                                "mode": "NULLABLE",
                                "type": "INTEGER"
                              }
                            ],
                            "name": "install_date",
                            "mode": "NULLABLE",
                            "type": "RECORD"
                          },
                          {
                            "name": "help_link",
                            "mode": "NULLABLE",
                            "type": "STRING"
                          }
                        ],
                        "name": "windows_application",
                        "mode": "NULLABLE",
                        "type": "RECORD"
                      }
                    ],
                    "name": "available_package",
                    "mode": "NULLABLE",
                    "type": "RECORD"
                  }
                ],
                "name": "value",
                "mode": "NULLABLE",
                "type": "RECORD"
              }
            ],
            "name": "items",
            "mode": "REPEATED",
            "type": "RECORD"
          },
          {
            "name": "update_time",
            "mode": "NULLABLE",
            "type": "TIMESTAMP"
          }
        ],
        "name": "os_inventory",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "name": "ancestors",
        "mode": "REPEATED",
        "type": "STRING"
      },
      {
        "name": "update_time",
        "mode": "NULLABLE",
        "type": "TIMESTAMP"
      }
    ]
  • Beziehung: Wenn Sie den Inhaltstyp in der REST API auf RELATIONSHIP oder in der gcloud CLI auf relationship setzen, erstellen Sie eine BigQuery-Tabelle mit dem folgenden Schema.

    Beziehungsschema

    [
      {
        "name": "name",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "name": "asset_type",
        "mode": "NULLABLE",
        "type": "STRING"
      },
      {
        "fields": [
          {
            "name": "asset",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "asset_type",
            "mode": "NULLABLE",
            "type": "STRING"
          },
          {
            "name": "ancestors",
            "mode": "REPEATED",
            "type": "STRING"
          },
          {
            "name": "relationship_type",
            "mode": "NULLABLE",
            "type": "STRING"
          }
        ],
        "name": "related_asset",
        "mode": "NULLABLE",
        "type": "RECORD"
      },
      {
        "name": "ancestors",
        "mode": "REPEATED",
        "type": "STRING"
      },
      {
        "name": "update_time",
        "mode": "NULLABLE",
        "type": "TIMESTAMP"
      }
    ]

Asset-Snapshot nach BigQuery exportieren

Assets mit einem bestimmten Zeitstempel exportieren

Wenn Sie einen Asset-Snapshot mit einem bestimmten Zeitstempel in eine BigQuery-Tabelle mit dem Namen TABLE_NAME exportieren möchten, stellen Sie eine der folgenden Anfragen.

gcloud

Projekte

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • PROJECT_ID: Die ID des Projekts, dessen Metadaten Sie exportieren möchten.

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

Ordner

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • FOLDER_ID: Die ID des Ordners, dessen Metadaten Sie exportieren möchten.

    Google Cloud-Ordner-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

    Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

Organisationen

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • ORGANIZATION_ID: Die ID der Organisation, deren Metadaten Sie exportieren möchten.

    Google Cloud-Organisations-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "CONTENT_TYPE",
          "readTime": "SNAPSHOT_TIME",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

Geben Sie folgende Werte an:

  • BILLING_PROJECT_ID: Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp ACCESS_POLICY kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Die Angabe erfolgt im RFC 3339-Format. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage zurückliegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • SCOPE: Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein.

    Zulässige Werte:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud-Projektnummer ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:

      1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

        Zu Google Dashboard

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Wählen Sie Ihre Organisation im Feld Auswählen aus aus und suchen Sie dann nach dem Namen Ihres Projekts.
      4. Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird auf der Karte Projektinformationen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud-Ordner-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

      Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud-Organisations-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Weitere Parameter:

  • "force": true: Überschreibt die Zieltabelle, falls vorhanden.

Separate Tabellen für jeden Ressourcentyp exportieren

Mit dem Flag --per-asset-type exportieren Sie Assets in separate BigQuery-Tabellen für jeden Ressourcentyp. Der Name jeder Tabelle ist TABLE_NAME, verkettet mit _ (Unterstrich) und dem Namen des Asset-Typs. Nicht alphanumerische Zeichen werden durch _ ersetzt.

Beachten Sie, dass GKE-Ressourcentypen mit Ausnahme von container.googleapis.com/Cluster und container.googleapis.com/NodePool für diesen Exporttyp nicht unterstützt werden.

gcloud

Projekte

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force \
    --per-asset-type

Geben Sie folgende Werte an:

  • PROJECT_ID: Die ID des Projekts, dessen Metadaten Sie exportieren möchten.

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

  • --per-asset-type: Exportiert in mehrere BigQuery-Tabellen pro Ressourcentyp.

Ordner

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force \
    --per-asset-type

Geben Sie folgende Werte an:

  • FOLDER_ID: Die ID des Ordners, dessen Metadaten Sie exportieren möchten.

    Google Cloud-Ordner-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

    Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

  • --per-asset-type: Exportiert in mehrere BigQuery-Tabellen pro Ressourcentyp.

Organisationen

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --output-bigquery-force \
    --per-asset-type

Geben Sie folgende Werte an:

  • ORGANIZATION_ID: Die ID der Organisation, deren Statistiken Sie abrufen möchten.

    Google Cloud-Organisations-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

  • --per-asset-type: Exportiert in mehrere BigQuery-Tabellen pro Ressourcentyp.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "CONTENT_TYPE",
          "readTime": "SNAPSHOT_TIME",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true,
              "separateTablesPerAssetType": true
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

Geben Sie folgende Werte an:

  • BILLING_PROJECT_ID: Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp ACCESS_POLICY kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Die Angabe erfolgt im RFC 3339-Format. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage zurückliegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • SCOPE: Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein.

    Zulässige Werte:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud-Projektnummer ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:

      1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

        Zu Google Dashboard

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Wählen Sie Ihre Organisation im Feld Auswählen aus aus und suchen Sie dann nach dem Namen Ihres Projekts.
      4. Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird auf der Karte Projektinformationen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud-Ordner-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

      Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud-Organisations-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Weitere Parameter:

  • "force": true: Überschreibt die Zieltabelle, falls vorhanden.

Wenn der Export in eine beliebige Tabelle fehlschlägt, schlägt der gesamte Exportvorgang fehl und gibt den ersten Fehler zurück. Die Ergebnisse früherer erfolgreicher Exporte bleiben erhalten.

Um ein Kompatibilitätsproblem zwischen JSON3- und BigQuery-Typen zu beheben, werden die folgenden Typen in einen JSON-String gepackt.

  • google.protobuf.Timestamp

  • google.protobuf.Duration

  • google.protobuf.FieldMask

  • google.protobuf.ListValue

  • google.protobuf.Value

  • google.protobuf.Struct

  • google.api.*

In eine partitionierte Tabelle exportieren

Wenn Sie Assets eines Projekts in partitionierte Tabellen exportieren möchten, definieren Sie den Partitionsschlüssel in der Exportanfrage. Der exportierte Snapshot wird in einer BigQuery-Tabelle namens TABLE_NAME mit täglichem Detaillierungsgrad und zwei zusätzlichen Zeitstempelspalten (readTime und requestTime) gespeichert, von denen eine durch den Wert PARTITION_KEY angegeben wird.

Wenn Sie Assets in einem Projekt in partitionierte Tabellen exportieren möchten, stellen Sie eine der folgenden Anfragen.

gcloud

Projekte

gcloud asset export \
    --project=PROJECT_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --partition-key=PARTITION_KEY \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • PROJECT_ID: Die ID des Projekts, dessen Metadaten Sie exportieren möchten.

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Ihre Metadaten exportiert werden sollen. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • PARTITION_KEY: Die Partitionsschlüsselspalte beim Exportieren in partitionierte BigQuery-Tabellen. Gültige Werte sind read-time und request-time.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

Ordner

gcloud asset export \
    --folder=FOLDER_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --partition-key=PARTITION_KEY \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • FOLDER_ID: Die ID des Ordners, dessen Metadaten Sie exportieren möchten.

    Google Cloud-Ordner-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

    gcloud resource-manager folders list \
        --organization=$(gcloud organizations describe ORGANIZATION_NAME \
          --format="value(name.segment(1))") \
        --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
        --format="value(ID)"

    Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

    Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

    gcloud resource-manager folders list --folder=FOLDER_ID

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp access-policy kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • PARTITION_KEY: Die Partitionsschlüsselspalte beim Exportieren in partitionierte BigQuery-Tabellen. Gültige Werte sind read-time und request-time.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

Organisation

gcloud asset export \
    --organization=ORGANIZATION_ID \
    --billing-project=BILLING_PROJECT_ID \
    --content-type=CONTENT_TYPE \
    --snapshot-time="SNAPSHOT_TIME" \
    --bigquery-table=projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_NAME \
    --partition-key=PARTITION_KEY \
    --output-bigquery-force

Geben Sie folgende Werte an:

  • ORGANIZATION_ID: Die ID der Organisation, deren Statistiken Sie abrufen möchten.

    Google Cloud-Organisations-ID ermitteln

    Console

    Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

    1. Öffnen Sie die Google Cloud Console.

      Zur Google Cloud Console

    2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
    3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
    4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

    gcloud-CLI

    Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

    gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

  • BILLING_PROJECT_ID: Optional. Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und die Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Nicht erforderlich, wenn Sie bereits mit gcloud config set project zum Abrechnungsprojekt gewechselt haben. Weitere Informationen zu Abrechnungsprojekten

  • CONTENT_TYPE: Der Inhaltstyp des Assets.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage in der Vergangenheit liegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt. Informationen zu Zeitformaten finden Sie unter gcloud topic datetimes.

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • DATASET_ID: Die ID des BigQuery-Datasets.

  • TABLE_NAME: Die Tabelle, in die Sie Ihre Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • PARTITION_KEY: Die Partitionsschlüsselspalte beim Exportieren in partitionierte BigQuery-Tabellen. Gültige Werte sind read-time und request-time.

Andere Meldungen:

  • --output-bigquery-force: Überschreibt die Zieltabelle, falls vorhanden.

Wenn das Flag output-bigquery-force auf true gesetzt ist, wird die entsprechende Partition durch die Snapshot-Ergebnisse überschrieben. Die Daten in einer oder mehreren Partitionen bleiben jedoch intakt. Wenn output-bigquery-force oder false nicht festgelegt ist, werden die Daten an die entsprechende Partition angehängt.

Der Exportvorgang schlägt fehl, wenn eine Schemaaktualisierung oder ein Versuch, Daten anzufügen, fehlschlägt. Dies gilt auch, wenn die Zieltabelle bereits vorhanden ist und nicht das vom Export erwartete Schema hat.

REST

curl -X POST \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     -H "Content-Type: application/json" \
     -d '{
          "contentType": "CONTENT_TYPE",
          "readTime": "SNAPSHOT_TIME",
          "outputConfig": {
            "bigqueryDestination": {
              "dataset": "projects/PROJECT_ID/datasets/DATASET_ID",
              "table": "TABLE_NAME",
              "force": true,
              "partitionSpec": {
                "partitionKey": "PARTITION_KEY"
              }
            }
          }
         }' \
     https://cloudasset.googleapis.com/v1/SCOPE:exportAssets

Geben Sie folgende Werte an:

  • BILLING_PROJECT_ID: Die Projekt-ID, in der sich der standardmäßige Cloud Asset Inventory-Dienst-Agent befindet und Berechtigungen zum Verwalten Ihrer BigQuery-Datasets und -Tabellen hat. Weitere Informationen zu Abrechnungsprojekten

  • PROJECT_ID: Die ID des Projekts, in dem sich die BigQuery-Tabelle befindet.

  • CONTENT_TYPE: Der Inhaltstyp des Assets. Der Inhaltstyp ACCESS_POLICY kann nur für eine Organisation exportiert werden. Wenn Sie sie für ein Projekt oder einen Ordner exportieren, wird eine leere Tabelle erstellt.

  • SNAPSHOT_TIME: Optional. Der Zeitpunkt, zu dem Sie einen Snapshot Ihrer Assets erstellen möchten. Die Angabe erfolgt im RFC 3339-Format. Der Wert muss die aktuelle Zeit oder ein Zeitpunkt sein, der nicht mehr als 35 Tage zurückliegt. Wenn nicht angegeben, wird ein Snapshot zum aktuellen Zeitpunkt erstellt.

  • DATASET_ID: ist die ID des BigQuery-Datasets.

  • TABLE_NAME: Ist die Tabelle, in die Sie die Metadaten exportieren. Wenn sie nicht vorhanden ist, wird sie erstellt.

  • PARTITION_KEY: ist die Partitionsschlüsselspalte beim Exportieren in nach BigQuery partitionierte Tabellen. Gültige Werte sind read-time und request-time.

  • SCOPE: Ein Bereich kann ein Projekt, ein Ordner oder eine Organisation sein.

    Zulässige Werte:

    • projects/PROJECT_ID

    • projects/PROJECT_NUMBER

      Google Cloud-Projektnummer ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Projektnummer zu ermitteln:

      1. Rufen Sie in der Google Cloud Console die Seite Dashboard auf.

        Zu Google Dashboard

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Wählen Sie Ihre Organisation im Feld Auswählen aus aus und suchen Sie dann nach dem Namen Ihres Projekts.
      4. Klicken Sie auf den Projektnamen, um zu diesem Projekt zu wechseln. Die Projektnummer wird auf der Karte Projektinformationen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Projektnummer abrufen:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"

    • folders/FOLDER_ID

      Google Cloud-Ordner-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Ordner-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Suchen Sie nach dem Namen Ihres Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Ordner-ID auf Organisationsebene abrufen:

      gcloud resource-manager folders list \
          --organization=$(gcloud organizations describe ORGANIZATION_NAME \
            --format="value(name.segment(1))") \
          --filter='"DISPLAY_NAME":"TOP_LEVEL_FOLDER_NAME"' \
          --format="value(ID)"

      Dabei kann TOP_LEVEL_FOLDER_NAME eine vollständige oder teilweise Stringübereinstimmung sein. Entfernen Sie die Option --format, um weitere Informationen zu den gefundenen Ordnern zu sehen.

      Um die ID eines Ordners in einem anderen Ordner abzurufen, listen Sie die Unterordner auf:

      gcloud resource-manager folders list --folder=FOLDER_ID

    • organizations/ORGANIZATION_ID

      Google Cloud-Organisations-ID ermitteln

      Console

      Führen Sie die folgenden Schritte aus, um eine Google Cloud-Organisations-ID zu ermitteln:

      1. Öffnen Sie die Google Cloud Console.

        Zur Google Cloud Console

      2. Klicken Sie in der Menüleiste auf das Wechsler-Feld.
      3. Klicken Sie auf das Feld Auswählen aus und wählen Sie Ihre Organisation aus.
      4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

      gcloud-CLI

      Mit dem folgenden Befehl können Sie eine Google Cloud-Organisations-ID abrufen:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"

Weitere Parameter:

  • "force": true: Überschreibt die Zieltabelle, falls vorhanden. Dies funktioniert nur, wenn die Tabelle dieselbe Partitionsstruktur hat, die für den Export erwartet wird.

    Wenn force auf true gesetzt ist, wird die entsprechende Partition von den Snapshot-Ergebnissen überschrieben, während Daten in verschiedenen Partitionen intakt bleiben. Wenn force nicht festgelegt oder auf false gesetzt ist, werden die Daten an die entsprechende Partition angehängt.

Der Exportvorgang schlägt fehl, wenn eine Schemaaktualisierung oder der Versuch, Daten anzufügen, fehlschlägt. Dies gilt auch, wenn die Zieltabelle bereits vorhanden ist und nicht das vom Export erwartete Schema hat.

Exportstatus prüfen

Vorgänge sind einer Vorgangs-ID zugeordnet, die eine UUID ist. Dieser Wert ist möglicherweise vertraulich, da für die Ausführung des Befehls gcloud asset operations describe keine zusätzlichen Berechtigungen erforderlich sind. Geben Sie die Vorgangs-ID nur an vertrauenswürdige Nutzer weiter.

Anfragen werden vom Server abgelehnt, wenn eine vorherige Anfrage an dasselbe Ziel vor weniger als 15 Minuten begonnen hat und noch ausgeführt wird. Nicht definierte Ergebnisse können auftreten, wenn die Exportzeit länger als 15 Minuten ist und eine aufeinanderfolgende Anfrage an dasselbe Ziel ausgeführt wird, bevor die erste Anfrage erfolgreich ist.

Führen Sie die folgenden Befehle aus, um den Status eines Exports zu prüfen:

gcloud-CLI

Führen Sie den folgenden Befehl aus, um den Status des Exports zu prüfen. Nachdem der Exportbefehl ausgeführt wurde, wird in der Antwort OPERATION_PATH angezeigt.

gcloud asset operations describe OPERATION_PATH

REST

Um den Status des Exports anzuzeigen, führen Sie den folgenden Befehl mit der Vorgangs-ID aus, die in der Antwort Ihres Exports zurückgegeben wurde.

  1. Sie finden OPERATION_PATH im Feld name der Antwort auf den Export, das so formatiert ist:

    "name": "projects/PROJECT_NUMBER/operations/ExportAssets/CONTENT_TYPE/OPERATION_ID"
    
  2. Führen Sie zum Prüfen des Exportstatus den folgenden Befehl mit der OPERATION_PATH aus:

    curl -X GET \
         -H "Authorization: Bearer $(gcloud auth print-access-token)" \
         -H "Content-Type: application/json" \
         https://cloudasset.googleapis.com/v1/OPERATION_PATH
    

Asset-Snapshot ansehen

Führen Sie die folgenden Schritte aus, um die Tabelle mit den Asset-Snapshot-Metadaten aufzurufen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery Studio auf.

    Zu BigQuery Studio

  2. Öffnen Sie den Navigationsbereich, um die Tabellen und Ansichten im Dataset anzuzeigen. Wählen Sie im Abschnitt Ressourcen Ihr Projekt zum Maximieren aus und wählen Sie dann ein Dataset aus.

  3. Wählen Sie in der Liste die gewünschte Tabelle aus.

  4. Klicken Sie auf Details und notieren Sie den Wert in Zeilenanzahl. Unter Umständen benötigen Sie diesen Wert, um den Startpunkt für Ihre Ergebnisse mit der gcloud CLI oder der REST API festzulegen.

  5. Um einen Beispieldatensatz anzuzeigen, wählen Sie Vorschau aus.

REST

Um die Daten in der Tabelle zu durchsuchen, rufen Sie tabledata.list auf. Geben Sie im Parameter tableId den Namen Ihrer Tabelle an.

Sie können die folgenden optionalen Parameter konfigurieren, um die Ausgabe zu steuern.

  • maxResults ist die maximale Anzahl von zurückzugebenden Ergebnissen.

  • selectedFields ist eine durch Kommas getrennte Liste von Spalten, die zurückgegeben werden sollen. Wenn nichts angegeben ist, werden alle Spalten zurückgegeben.

  • startIndex ist der nullbasierte Index der Startzeile, die gelesen werden soll.

Die Werte werden zusammengefasst in einem JSON-Objekt zurückgegeben. Dieses Objekt muss dann wie in der Referenzdokumentation zu tabledata.list beschrieben geparst werden.

Im Export sind die Assets und zugehörigen Ressourcennamen aufgelistet.

Asset-Snapshot abfragen

Nachdem Sie den Snapshot in BigQuery exportiert haben, können Sie Abfragen mit den Asset-Metadaten ausführen. Weitere Informationen zu verschiedenen typischen Anwendungsfällen finden Sie unter Nach BigQuery-Beispielabfragen exportieren.

BigQuery führt standardmäßig interaktive (On-Demand) Abfragejobs aus. Dies bedeutet, dass die Abfrage so bald wie möglich ausgeführt wird. Interaktive Abfragen werden auf die Begrenzung gleichzeitiger Abfragen und Ihr Tageslimit angerechnet.

Die Abfrageergebnisse werden entweder in einer temporären oder permanenten Tabelle gespeichert. Sie können Daten an eine vorhandene Tabelle anfügen oder Daten in einer bestehenden Tabelle überschreiben oder eine neue Tabelle erstellen, wenn nicht bereits eine mit demselben Namen vorhanden ist.

Führen Sie die folgenden Schritte aus, um eine interaktive Abfrage auszuführen, die die Ausgabe in eine temporäre Tabelle schreibt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery Studio auf.

    Zu BigQuery Studio

  2. Wählen Sie Neue Abfrage erstellen aus.

  3. Geben Sie im Textbereich des Abfrageeditors eine gültige BigQuery-SQL-Abfrage ein.

  4. Optional: Führen Sie die folgenden Schritte aus, um den Ort der Datenverarbeitung zu ändern.

    1. Wählen Sie Mehr und dann Abfrageeinstellungen aus.

    2. Wählen Sie unter Verarbeitungsstandort die Option Automatische Auswahl und dann den Standort Ihrer Daten aus.

    3. Klicken Sie auf Speichern, um die Abfrageeinstellungen zu aktualisieren.

  5. Wählen Sie die Option Ausführen aus.

REST

  1. Rufen Sie die Methode jobs.insert auf, um einen neuen Job zu starten. Legen Sie in der Jobressource die folgenden Parameter fest.

    • Legen Sie im Feld configuration das Feld query auf eine JobConfigurationQuery fest, die den BigQuery-Abfragejob beschreibt.

    • Legen Sie im Feld jobReference das Feld location dem Job entsprechend fest.

  2. Rufen Sie getQueryResults auf, um die Ergebnisse abzufragen. Führen Sie die Abfrage so lange aus, bis jobComplete gleich true ist. In der Liste errors können Sie nach Fehlern und Warnungen suchen.