Asset Insights verwenden

In diesem Thema erfahren Sie, wie Sie mit Asset Insights potenzielle Risiken in Ihren Asset-Konfigurationen erkennen und den Sicherheitsstatus verbessern können.

Überblick

Cloud Asset Insights bietet Statistiken auf der Grundlage der IAM-Richtlinien, die den Ressourcen Ihrer Organisation zugeordnet sind. Er ist Teil des Recommender-Dienstes und wird als Statistiktyp google.cloudasset.asset.Insight bereitgestellt. Statistiken sind spezifische Anomalien, die weitere Analysen erfordern, um die geeignete Maßnahme zu bestimmen. Sie werden täglich anhand eines Snapshots der in Cloud Asset Inventory gespeicherten Daten generiert.

Hinweise

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

  1. Aktivieren Sie die Recommender API.

  2. Prüfen Sie, ob Ihr Konto die folgenden Berechtigungen hat:

    • 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)

Asset Insights anfordern

Um Asset-Statistiken anzufordern, ist es am einfachsten, die Insights wie in den folgenden Schritten gezeigt aufzulisten. Weitere Arten von Insight-Interaktionen finden Sie im Insight-Leitfaden für die Recommender API.

Projektstatistiken anfordern

Wenn Sie Statistiken für ein Projekt anfordern möchten, stellen Sie eine der folgenden Anfragen.

gcloud

Führen Sie die folgenden gcloud CLI-Befehle aus, um Statistiken für Ihr Projekt, Ihren Ordner oder Ihre Organisation aufzulisten.

Projekte

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

Geben Sie folgende Werte an:

  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken abrufen möchten.

Andere Meldungen:

  • --filter: Optional. Die Ergebnisse werden nach dem Untertyp der Statistik gefiltert.

  • --format: Optional. Ein unterstütztes Ausgabeformat für die gcloud CLI So listen Sie beispielsweise Statistikinhalte als vereinfachte Tabelle auf:

    gcloud recommender insights list \
        --project=PROJECT_ID \
        --location=global \
        --insight-type=google.cloudasset.asset.Insight \
        --flatten="content.matchedPolicies[].matchedBindings[].matchedMembers[]" \
        --format="table(insightSubtype, name,
            content.matchedPolicies.matchedBindings.matchedMembers,
            content.matchedPolicies.matchedBindings.role,
            content.matchedPolicies.resource)"
    

Ordner

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

Geben Sie folgende Werte an:

  • FOLDER_ID: Die ID des Ordners, für den Sie Statistiken abrufen 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

Andere Meldungen:

  • --filter: Optional. Die Ergebnisse werden nach dem Untertyp der Statistik gefiltert.

  • --format: Optional. Ein unterstütztes Ausgabeformat für die gcloud CLI So listen Sie beispielsweise Statistikinhalte als vereinfachte Tabelle auf:

    gcloud recommender insights list \
        --folder=FOLDER_ID \
        --location=global \
        --insight-type=google.cloudasset.asset.Insight \
        --flatten="content.matchedPolicies[].matchedBindings[].matchedMembers[]" \
        --format="table(insightSubtype, name,
            content.matchedPolicies.matchedBindings.matchedMembers,
            content.matchedPolicies.matchedBindings.role,
            content.matchedPolicies.resource)"
    

Organisationen

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

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))"

Andere Meldungen:

  • --filter: Optional. Die Ergebnisse werden nach dem Untertyp der Statistik gefiltert.

  • --format: Optional. Ein unterstütztes Ausgabeformat für die gcloud CLI So listen Sie beispielsweise Statistikinhalte als vereinfachte Tabelle auf:

    gcloud recommender insights list \
        --organization=ORGANIZATION_ID \
        --location=global \
        --insight-type=google.cloudasset.asset.Insight \
        --flatten="content.matchedPolicies[].matchedBindings[].matchedMembers[]" \
        --format="table(insightSubtype, name,
            content.matchedPolicies.matchedBindings.matchedMembers,
            content.matchedPolicies.matchedBindings.role,
            content.matchedPolicies.resource)"
    

REST

Führen Sie den folgenden curl-Befehl aus, um Statistiken für Ihr Projekt, Ihren Ordner oder Ihre Organisation aufzulisten.

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

Geben Sie folgende Werte an:

  • 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))"

Statistikantworten interpretieren

Zusätzlich zu den standardmäßigen Statistikattributen stehen in Asset-Statistiken mehrere spezielle Untertypen und Felder zur Verfügung.

Untertypen von Informationen

Es gibt sieben verschiedene 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 in der IAM-Richtlinie des Projekts keine aktiven Nutzer oder Gruppen enthalten.

Zusätzliche Inhaltsfelder

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

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

  • domain: Die spezifische Domain, die in den Mitgliedern der Richtlinienbindungen dieser bestimmten 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 Asset-Name, für den dieser Zugriff für diesen speziellen Insights erkannt wurde. Dieses Feld ist in den Untertypen OWNER_TERMINATED_PROJECT und PUBLIC_IAM_POLICY enthalten.

  • policyCount: Gesamtzahl der verschiedenen IAM-Richtlinien, in denen übereinstimmende Mitglieder für diese bestimmte 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. Abgleichsrichtlinien 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 IAM Policy Search API von Cloud Asset Inventory verwendet werden kann, um alle relevanten Richtlinien in Echtzeit abzurufen.

Beispielantwort

Das folgende Code-Snippet zeigt das Format einer Beispielantwort.

{
   "name": "organizations/1234567/locations/global/insightTypes/google.cloudasset.asset.Insight/insights/0ab35ae7-afa8-42a3-a173-92da8771a489",
   "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/5678910",
            "project" :"projects/5678910",
            "matchedBindings" :[
               {
                  "role" :"roles/viewer",
                  "matchedMembers" :[
                     "user:example@example.com"
                  ]
               }
            ]
         }
      ]
   },
   "lastRefreshTime": "2020-12-04T06:59:04Z",
   "observationPeriod": "0s",
   "stateInfo": {
      "state": "ACTIVE"
   },
   "category": "SECURITY",
   "targetResources": [
      "//cloudresourcemanager.googleapis.com/organizations/1234567"
   ],
   "insightSubtype": "EXTERNAL_MEMBER",
   "etag": "\"00000000000\"",
   "initialRefreshTime": "2020-12-01T06:58:03Z"
}

Beschränkungen

  • Bei diesen Statistiken werden Gruppenmitgliedschaften 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 Abgleichsrichtlinien können durch Aufrufen der Cloud Asset Inventory-Richtliniensuche abgerufen werden.

  • Bei Asset-Statistiken werden Dienstkonten für die Generierung von Informationen nicht berücksichtigt.