Sicherheitsstatus mit Asset-Informationen verbessern

Mit den Statistiken zu Cloud Asset Inventory können Sie potenzielle Risiken in Ihren Asset-Konfigurationen erkennen und den Sicherheitsstatus verbessern. Es ist Teil des Recommender-Dienstes und wird als Insight-Typ google.cloudasset.asset.Insight bereitgestellt.

Erkenntnisse sind spezifische Anomalien, die eine weitere Analyse erfordern, um die entsprechende Aktion zu bestimmen. Sie werden täglich anhand eines Snapshots der in Cloud Asset Inventory gespeicherten Daten generiert.

Die Statistiken von Cloud Asset Inventory basieren auf den IAM-Richtlinien, die den Ressourcen Ihrer Organisation zugeordnet sind.

Hinweise

Bevor Sie Asset Insights verwenden können, müssen Sie die folgenden Schritte ausführen.

  1. Aktivieren Sie die Recommender API.

  2. Ihr Konto benötigt die folgenden Berechtigungen:

    • recommender.cloudAssetInsights.get

    • recommender.cloudAssetInsights.list

    • recommender.cloudAssetInsights.update

    Sie können diese Berechtigungen einzeln erteilen oder eine der folgenden Rollen:

    • Rolle "CloudCloud Asset Insights-Betrachter“ (roles/recommender.cloudAssetInsightsViewer)

    • Rolle "CloudCloud Asset Insights-Administrator“ (roles/recommender.cloudAssetInsightsAdmin)

Beschränkungen

  • Bei diesen Statistiken werden Gruppenmitgliedschaften oder Dienstkonten nicht als Teil der Ergebnisse berücksichtigt und sollten nicht als vollständige Liste übereinstimmender Sicherheitslücken betrachtet werden.

  • Zu den einzelnen Erkenntnissen gehört eine Stichprobe übereinstimmender IAM-Richtlinien, die auf 100 verschiedene Richtlinien beschränkt sind. Alle übereinstimmenden Richtlinien können durch Suchen nach IAM-Zulassungsrichtlinien für Ressourcen abgerufen werden.

Asset Insights anfordern

Am einfachsten kannst du Asset-Statistiken anfordern, indem du sie auflistest, wie in den folgenden Schritten gezeigt. Weitere Arten von Insight-Interaktionen finden Sie unter API verwenden – Statistiken.

gcloud

gcloud recommender insights list \
    --SCOPE \
    --location=global \
    --insight-type=google.cloudasset.asset.Insight \
    --filter="insightSubtype:SUBTYPE" \

Geben Sie folgende Werte an:

  • SCOPE: Verwenden Sie einen der folgenden Werte:

    • project=PROJECT_ID, wobei PROJECT_ID die ID des Projekts ist, für das Sie Statistiken abrufen möchten.
    • folder=FOLDER_ID, wobei FOLDER_ID die ID des Ordners ist, für den Sie Statistiken abrufen möchten.

      ID eines Ordners in Google Cloud ermitteln

      Google Cloud Console

      So rufen Sie die ID eines Ordners in Google Cloud ab:

      1. Rufen Sie die Google Cloud -Konsole auf.

        Rufen Sie die Google Cloud -Console auf.

      2. Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
      3. Wählen Sie Ihre Organisation aus dem Listenfeld aus.
      4. Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

      gcloud-CLI

      Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl 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 ist TOP_LEVEL_FOLDER_NAME ein teilweiser oder vollständiger Stringabgleich mit dem Namen des Ordners. Entfernen Sie das --format-Flag, um weitere Informationen zu den gefundenen Ordnern aufzurufen.

      Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:

      gcloud resource-manager folders list --folder=FOLDER_ID
    • organization=ORGANIZATION_ID, wobei ORGANIZATION_ID die ID der Organisation ist, für die Sie Statistiken abrufen möchten.

      ID einer Google Cloud -Organisation ermitteln

      Google Cloud Console

      So ermitteln Sie die ID einer Google Cloud -Organisation:

      1. Rufen Sie die Google Cloud -Konsole auf.

        Rufen Sie die Google Cloud -Console auf.

      2. Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
      3. Wählen Sie Ihre Organisation aus dem Listenfeld aus.
      4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

      gcloud-CLI

      Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl 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, der Berechtigungen zum Verwalten Ihrer Abrechnung und Ihres Kontingents hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts

  • SUBTYPE: Der Untertyp der Asset-Statistik. Einer der folgenden Werte:

    • EXTERNAL_MEMBER: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen enthalten, die zu einer Domain außerhalb der Domains Ihrer Organisation gehören.
    • EXTERNAL_POLICY_EDITOR: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Ändern von IAM-Richtlinien gewährt wird.
    • EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Abrufen oder Auflisten von Speicherobjekten (storage.objects.list oder storage.objects.get) gewährt wird.
    • EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Übernehmen der Identität von Dienstkonten gewährt wurde.
    • TERMINATED_MEMBER: Erkennt IAM-Richtlinien mit Nutzern oder Gruppen mit deaktivierten, gelöschten oder gelöschten Konten.
    • PUBLIC_IAM_POLICY: Erkennt IAM-Richtlinien, die alle Nutzer oder alle authentifizierten Nutzer enthalten.
    • OWNER_TERMINATED_PROJECT: Erkennt Projekte, die keine aktiven Nutzer oder Gruppen in der IAM-Richtlinie des Projekts enthalten.
  • Wenn nicht angegeben, werden alle Untertypen zurückgegeben.

Eine vollständige Liste aller Optionen finden Sie in der Referenz zur gcloud CLI.

Beispiel

Führen Sie den folgenden Befehl aus, um Statistiken für das Projekt my-project aufzulisten.

gcloud recommender insights list \
    --project=my-project \
    --location=global \
    --insight-type=google.cloudasset.asset.Insight

Beispielantwort

INSIGHT_ID: 00000000-0000-0000-0000-000000000000
CATEGORY: SECURITY
INSIGHT_STATE: ACTIVE
LAST_REFRESH_TIME: 2024-01-30T00:00:00Z
SEVERITY: LOW
INSIGHT_SUBTYPE: EXTERNAL_MEMBER
DESCRIPTION: Domain example.com detected in 1 IAM policies

REST

HTTP-Methode und URL:

GET https://recommender.googleapis.com/v1/SCOPE_PATH/locations/global/insightTypes/google.cloudasset.asset.Insight/insights

Header:

X-Goog-User-Project: BILLING_PROJECT_ID

Geben Sie folgende Werte an:

  • SCOPE_PATH: Verwenden Sie einen der folgenden Werte:

    Zulässige Werte:

    • projects/PROJECT_ID, wobei PROJECT_ID die ID des Projekts ist, für das Sie Statistiken abrufen möchten.
    • projects/PROJECT_NUMBER, wobei PROJECT_NUMBER die Nummer des Projekts ist, für das Sie Statistiken abrufen möchten.

      Projektnummer für Google Cloud ermitteln

      Google Cloud Console

      So finden Sie die Projektnummer eines Google Cloud -Projekts:

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

        Zur Begrüßungsseite

      2. Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
      3. Wählen Sie Ihre Organisation aus dem Listenfeld aus und suchen Sie dann nach dem Projektnamen. Der Projektname, die Projektnummer und die Projekt-ID werden in der Nähe der Überschrift Willkommen angezeigt.

        Es werden bis zu 4.000 Ressourcen angezeigt. Wenn Sie das gewünschte Projekt nicht finden, rufen Sie die Seite Ressourcen verwalten auf und filtern Sie die Liste mit dem Namen des Projekts.

      gcloud-CLI

      Sie können die Projektnummer eines Google Cloud -Projekts mit dem folgenden Befehl abrufen:

      gcloud projects describe PROJECT_ID --format="value(projectNumber)"
    • folders/FOLDER_ID, wobei FOLDER_ID die ID des Ordners ist, für den Sie Statistiken abrufen möchten.

      ID eines Ordners in Google Cloud ermitteln

      Google Cloud Console

      So rufen Sie die ID eines Ordners in Google Cloud ab:

      1. Rufen Sie die Google Cloud -Konsole auf.

        Rufen Sie die Google Cloud -Console auf.

      2. Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
      3. Wählen Sie Ihre Organisation aus dem Listenfeld aus.
      4. Suchen Sie nach dem Namen des Ordners. Die Ordner-ID wird neben dem Ordnernamen angezeigt.

      gcloud-CLI

      Sie können die ID eines Google Cloud -Ordners auf Organisationsebene mit dem folgenden Befehl 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 ist TOP_LEVEL_FOLDER_NAME ein teilweiser oder vollständiger Stringabgleich mit dem Namen des Ordners. Entfernen Sie das --format-Flag, um weitere Informationen zu den gefundenen Ordnern aufzurufen.

      Der vorherige Befehl gibt nicht die IDs von Unterordnern in Ordnern zurück. Führen Sie dazu den folgenden Befehl mit der ID eines Ordners der obersten Ebene aus:

      gcloud resource-manager folders list --folder=FOLDER_ID
    • organizations/ORGANIZATION_ID, wobei ORGANIZATION_ID die ID der Organisation ist, für die Sie Statistiken abrufen möchten.

      ID einer Google Cloud -Organisation ermitteln

      Google Cloud Console

      So ermitteln Sie die ID einer Google Cloud -Organisation:

      1. Rufen Sie die Google Cloud -Konsole auf.

        Rufen Sie die Google Cloud -Console auf.

      2. Klicken Sie in der Menüleiste auf das Listenfeld Schalter.
      3. Wählen Sie Ihre Organisation aus dem Listenfeld aus.
      4. Klicken Sie auf den Tab Alle. Die Organisations-ID wird neben dem Namen der Organisation angezeigt.

      gcloud-CLI

      Sie können die ID einer Google Cloud -Organisation mit dem folgenden Befehl abrufen:

      gcloud organizations describe ORGANIZATION_NAME --format="value(name.segment(1))"
  • BILLING_PROJECT_ID: Die Projekt-ID, in der sich der Standard-Cloud Asset Inventory-Dienstagent befindet, der Berechtigungen zum Verwalten Ihrer Abrechnung und Ihres Kontingents hat. Weitere Informationen zum Festlegen des Abrechnungsprojekts

Befehlsbeispiele

Führen Sie einen der folgenden Befehle aus, um Statistiken für das Projekt my-project aufzulisten.

curl (Linux, macOS oder Cloud Shell)

curl -X GET \
     -H "X-Goog-User-Project: BILLING_PROJECT_ID" \
     -H "Authorization: Bearer $(gcloud auth print-access-token)" \
     https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights

PowerShell (Windows)

$cred = gcloud auth print-access-token

$headers = @{ 
  "X-Goog-User-Project" = "BILLING_PROJECT_ID";
  "Authorization" = "Bearer $cred"
}


Invoke-WebRequest `
  -Method GET `
  -Headers $headers `
  -Uri "https://recommender.googleapis.com/v1/projects/my-project/locations/global/insightTypes/google.cloudasset.asset.Insight/insights" | Select-Object -Expand Content

Beispielantwort

{
   "name": "organizations/000000000000/locations/global/insightTypes/google.cloudasset.asset.Insight/insights/00000000-0000-0000-0000-000000000000",
   "description": "Domain example.com detected in 1 IAM policies",
   "content": {
      "domain": "example.com",
      "policyCount": 1,
      "policySearchQuery": "policy: example.com",
      "matchedPolicies" :[
         {
            "resource" :"//cloudresourcemanager.googleapis.com/projects/000000000000",
            "project" :"projects/000000000000",
            "matchedBindings" :[
               {
                  "role" :"roles/viewer",
                  "matchedMembers" :[
                     "user:example@example.com"
                  ]
               }
            ]
         }
      ]
   },
   "lastRefreshTime": "2024-01-30T00:00:00Z",
   "observationPeriod": "0s",
   "stateInfo": {
      "state": "ACTIVE"
   },
   "category": "SECURITY",
   "targetResources": [
      "//cloudresourcemanager.googleapis.com/organizations/000000000000"
   ],
   "insightSubtype": "EXTERNAL_MEMBER",
   "etag": "\"00000000000\"",
   "initialRefreshTime": "2024-01-30T00:00:00Z"
}

Statistikantworten interpretieren

Zusätzlich zu den Standardattributen von Informationen bietet Asset Insights mehrere spezielle Untertypen und Felder.

Untertypen von Informationen

Es gibt folgende Asset Insight-Untertypen:

  • EXTERNAL_MEMBER: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen enthalten, die zu einer Domain außerhalb der Domains Ihrer Organisation gehören.

  • EXTERNAL_POLICY_EDITOR: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Ändern von IAM-Richtlinien gewährt wird.

  • EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Abrufen oder Auflisten von Speicherobjekten (storage.objects.list oder storage.objects.get permission) gewährt wird.

  • EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR: Erkennt IAM-Richtlinien, die Nutzer oder Gruppen außerhalb der Domains Ihrer Organisation enthalten, denen die Berechtigung zum Übernehmen der Identität von Dienstkonten gewährt wurde.

  • TERMINATED_MEMBER: Erkennt IAM-Richtlinien mit Nutzern oder Gruppen mit deaktivierten, gelöschten oder gelöschten Konten.

  • PUBLIC_IAM_POLICY: Erkennt IAM-Richtlinien, die alle Nutzer oder alle authentifizierten Nutzer enthalten.

  • OWNER_TERMINATED_PROJECT: Erkennt Projekte, die keine aktiven Nutzer oder Gruppen in der IAM-Richtlinie des Projekts enthalten.

Zusätzliche Inhaltsfelder

Zusätzlich zu den Standardfeldern in der Antwort bietet Asset Insights mehrere spezielle Felder im Feld content.

  • user: Die E-Mail-Adresse des Nutzers, die in den Mitgliedern der Richtlinienbindungen für diese Statistik erkannt wurde. Dieses Feld ist im Untertyp TERMINATED_MEMBER enthalten.

  • domain: Die Domain, die in den Mitgliedern der Richtlinienbindungen dieser Statistik erkannt wurde. Dieses Feld ist in den Untertypen EXTERNAL_MEMBER, EXTERNAL_POLICY_EDITOR, EXTERNAL_CLOUD_STORAGE_OBJECT_VIEWER und EXTERNAL_SERVICE_ACCOUNT_IMPERSONATOR enthalten.

  • assetName: Der Name des Assets, für das in dieser Statistik Zugriff erkannt wurde. Dieses Feld ist in den Untertypen OWNER_TERMINATED_PROJECT und PUBLIC_IAM_POLICY enthalten.

  • policyCount: Die Gesamtzahl der verschiedenen IAM-Richtlinien, in denen übereinstimmende Mitglieder für diese Statistik erkannt wurden. Dieses Feld ist für alle Asset Insights-Untertypen enthalten.

  • matchedPolicies: Eine Stichprobe der IAM-Richtlinien, die mit der erkannten Statistik übereinstimmen. Übereinstimmende Richtlinien enthalten nur die Teilmenge der Bindungen und Bindungsmitglieder, die mit der erkannten Statistik übereinstimmen. Dieses Feld ist für alle Asset Insights-Untertypen enthalten.

  • policySearchQuery: Eine Abfrage, die mit der Cloud Asset Inventory IAM API für die Richtliniensuche verwendet werden kann, um die relevanten Richtlinien in Echtzeit abzurufen.