Dienstkontostatistiken verwalten

Neben Empfehlungen liefert Recommender mithilfe von maschinellem Lernen (ML) detaillierte Statistiken. Statistiken sind Erkenntnisse, die auf beachtenswerte Muster in der Ressourcennutzung hinweisen. Sie können z. B. zusätzliche Informationen zur Berechtigungsnutzung in Ihrem Projekt erfassen oder nicht verwendete Dienstkonten identifizieren. Einige Statistiken sind auch mit Empfehlungen verknüpft, weil sie Informationen bereitstellen, mit denen sich die Empfehlungen belegen lassen.

IAM bietet verschiedene Arten von Statistiken. Auf dieser Seite wird gezeigt, wie Sie Dienstkonto-Insights (google.iam.serviceAccount.Insight) verwalten. Dies sind Ergebnisse darüber, welche Dienstkonten in Ihrem Projekt in den letzten 90 Tagen nicht verwendet wurden.

Hinweis

(Optional) Informieren Sie sich über Recommender-Statistiken.

Erforderliche Berechtigungen

Die erforderlichen Berechtigungen zur Verwendung von Dienstkontostatistiken hängen davon ab, was Sie tun möchten.

Berechtigungen zum Aufrufen von Statistiken

Sie benötigen eine Rolle mit den folgenden Berechtigungen, um Dienstkontostatistiken aufrufen zu können:

  • recommender.iamServiceAccountinsights.get
  • recommender.iamServiceAccountinsights.list

Damit Sie diese Berechtigungen erhalten und gleichzeitig das Prinzip der geringsten Berechtigung anwenden, bitten Sie Ihren Administrator, Ihnen eine der folgenden Rollen zu gewähren:

  • Betrachter für IAM Recommender (roles/recommender.iamViewer)
  • IAM > Sicherheitsprüfer (roles/iam.securityReviewer)

Alternativ kann Ihr Administrator Ihnen eine andere Rolle mit den erforderlichen Berechtigungen zuweisen, z. B. eine benutzerdefinierte Rolle oder eine vordefinierte Rolle mit mehr Berechtigungen.

Berechtigungen zum Ändern von Statistiken

Zum Ändern von Dienstkontostatistiken benötigen Sie eine Rolle mit den folgenden Berechtigungen:

  • recommender.iamServiceAccountinsights.get
  • recommender.iamServiceAccountinsights.list
  • recommender.iamServiceAccountinsights.update

Bitten Sie Ihren Administrator, Ihnen die Rolle „IAM Recommender-Administrator“ (roles/recommender.iamAdmin) zuzuweisen, damit Sie diese Berechtigungen erhalten und dabei dem Prinzip der geringsten Berechtigung folgen.

Alternativ kann Ihr Administrator Ihnen eine andere Rolle mit den erforderlichen Berechtigungen zuweisen, z. B. eine benutzerdefinierte Rolle oder eine vordefinierte Rolle mit mehr Berechtigungen.

Dienstkontostatistiken auflisten

Verwenden Sie eine der folgenden Methoden, um alle Dienstkontostatistiken für Ihr Projekt aufzulisten:

gcloud

Verwenden Sie den Befehl gcloud recommender insights list, um alle Dienstkontostatistiken für Ihr Projekt anzuzeigen.

Ersetzen Sie vor dem Ausführen des Befehls die folgenden Werte:

  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken auflisten möchten.
gcloud recommender insights list --insight-type=google.iam.serviceAccount.Insight \
    --project=PROJECT_ID \
    --location=global

In der Ausgabe werden alle Dienstkontostatistiken für Ihr Projekt aufgelistet. Beispiel:

INSIGHT_ID                            LOCATION  INSIGHT_TYPE                       CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME
446303ba-2a14-49cc-b9fa-e2d2499d4f82  global    google.iam.serviceAccount.Insight  SECURITY  ACTIVE         2021-04-18T07:00:00Z
4cfd82c3-7320-4dc6-9b67-ca0756bbd54c  global    google.iam.serviceAccount.Insight  SECURITY  ACTIVE         2021-04-18T07:00:00Z
52ce7097-6787-41cd-91e9-9248147ecfaf  global    google.iam.serviceAccount.Insight  SECURITY  ACTIVE         2021-04-18T07:00:00Z
54abdb81-a7d9-4733-988b-c0e499c6d715  global    google.iam.serviceAccount.Insight  SECURITY  ACTIVE         2021-04-18T07:00:00Z
a922dd59-df0a-422d-a2a4-096195e1dae5  global    google.iam.serviceAccount.Insight  SECURITY  ACTIVE         2021-04-18T07:00:00Z

REST

Die Methode insights.list der Recommender API listet alle Dienstkontostatistiken für Ihr Projekt auf.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

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

HTTP-Methode und URL:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

In der Antwort werden alle Dienstkontostatistiken in Ihrem Projekt aufgelistet. Beispiel:

{
  "insights": [
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82",
      "description": "Service account my-service-account@my-project.iam.gserviceaccount.com was inactive.",
      "content": {
        "serviceAccountId": "103185812403937829397",
        "email": "my-service-account@my-project.iam.gserviceaccount.com",
        "lastAuthenticatedTime": "2020-09-11T07:00:00Z"
      },
      "lastRefreshTime": "2021-04-18T07:00:00Z",
      "observationPeriod": "19008000s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "SERVICE_ACCOUNT_USAGE",
      "etag": "\"9d797dd04263c855\""
    },
    {
      "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/4cfd82c3-7320-4dc6-9b67-ca0756bbd54c",
      "description": "Service account my-service-account2@my-project.iam.gserviceaccount.com was inactive.",
      "content": {
        "serviceAccountId": "105496400997178042131",
        "email": "my-service-account2@my-project.iam.gserviceaccount.com"
      },
      "lastRefreshTime": "2021-04-18T07:00:00Z",
      "observationPeriod": "16070400s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "targetResources": [
        "//cloudresourcemanager.googleapis.com/projects/123456789012"
      ],
      "insightSubtype": "SERVICE_ACCOUNT_USAGE",
      "etag": "\"783a32b635d79a4e\""
    }
  ]
}

Weitere Informationen zu den Komponenten einer Statistik finden Sie auf dieser Seite unter Dienstkontostatistiken prüfen.

Einzelne Dienstkontostatistiken abrufen

Wenn Sie weitere Informationen zu einer einzelnen Statistik abrufen möchten, einschließlich der Beschreibung, des Status und aller mit ihr verknüpften Empfehlungen, verwenden Sie eine der folgenden Methoden:

gcloud

Verwenden Sie den Befehl gcloud recommender insights describe mit Ihrer Statistik-ID, um Informationen zu einer einzelnen Statistik aufzurufen.

  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Sie finden die ID, indem Sie die Statistiken in Ihrem Projekt auflisten.
  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.serviceAccount.Insight \
    --project=PROJECT_ID \
    --location=global

In der Ausgabe sehen Sie die Statistik im Detail. Die folgende Statistik zeigt beispielsweise, dass das Dienstkonto my-service-account@my-project.iam.gserviceaccount.com seit dem 11. Oktober 2020 nicht mehr authentifiziert wurde.

category: SECURITY
content:
  email: my-service-account@my-project.iam.gserviceaccount.com
  lastAuthenticatedTime: '2020-10-11T07:00:00Z'
  serviceAccountId: '103185812403937829397'
description: Service account my-service-account@my-project.iam.gserviceaccount.com
  was inactive.
etag: '"9d797dd04263c855"'
insightSubtype: SERVICE_ACCOUNT_USAGE
lastRefreshTime: '2021-04-18T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82
observationPeriod: 19008000s
stateInfo:
  state: ACTIVE
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Weitere Informationen zu den Komponenten einer Statistik finden Sie auf dieser Seite unter Dienstkontostatistiken prüfen.

REST

Die Methode insights.get der Recommender API ruft eine einzelne Statistik ab.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Wenn Sie die Statistik-ID nicht kennen, können Sie sie in Ihrem Projekt finden, indem Sie die Statistiken auflisten. Die ID einer Statistik entspricht allen Angaben nach insights/ im name-Feld der Statistik.

HTTP-Methode und URL:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort enthält die Statistik. Die folgende Statistik zeigt beispielsweise, dass das Dienstkonto my-service-account@my-project.iam.gserviceaccount.com seit dem 11. Oktober 2020 nicht mehr authentifiziert wurde.

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82",
  "description": "Service account my-service-account@my-project.iam.gserviceaccount.com was inactive.",
  "content": {
    "serviceAccountId": "103185812403937829397",
    "email": "my-service-account@my-project.iam.gserviceaccount.com",
    "lastAuthenticatedTime": "2020-09-11T07:00:00Z"
  },
  "lastRefreshTime": "2021-04-18T07:00:00Z",
  "observationPeriod": "19008000s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "SERVICE_ACCOUNT_USAGE",
  "etag": "\"9d797dd04263c855\""
}

Weitere Informationen zu den Komponenten einer Statistik finden Sie auf dieser Seite unter Dienstkontostatistiken prüfen.

Dienstkontostatistiken prüfen

Nachdem Sie eine einzelne Statistik erhalten haben, können Sie deren Inhalt prüfen, um das durch sie hervorgehobene Muster der Ressourcennutzung zu verstehen.

Der Inhalt einer Statistik wird durch die Untertypen bestimmt. Dienstkontostatistiken (google.iam.serviceAccount.Insight) unterstützen Statistiken mit dem Untertyp SERVICE_ACCOUNT_USAGE.

SERVICE_ACCOUNT_USAGE-Statistiken haben die folgenden Komponenten, die nicht unbedingt in dieser Reihenfolge auftauchen:

  • associatedRecommendations: Die Kennungen der Empfehlungen, die mit der Statistik verknüpft sind. Wenn mit der Statistik keine Empfehlungen verknüpft sind, ist dieses Feld leer.
  • category: Die Kategorie für IAM-Statistiken ist immer SECURITY.
  • content: Gibt den Zeitpunkt der letzten Authentifizierung des Dienstkontos an. Dieses Feld enthält die folgenden Komponenten:

    • email: Die E-Mail-Adresse des Dienstkontos.
    • lastAuthenticatedTime: Der Zeitpunkt, zu dem das Dienstkonto zuletzt authentifiziert wurde. Wenn das Dienstkonto keine aufgezeichneten Authentifizierungen hat, ist dieses Feld nicht enthalten.
    • serviceAccountId: Die eindeutige numerische ID des Dienstkontos.
  • description: Eine menschenlesbare Zusammenfassung der Statistik.
  • etag: Eine eindeutige ID für den aktuellen Status einer Statistik. Jedes Mal, wenn sich die Statistik ändert, wird ein neuer etag-Wert zugewiesen.

    Zum Ändern des Status einer Statistik müssen Sie das etag der vorhandenen Statistik angeben. Durch die Verwendung von etag wird gewährleistet, dass Vorgänge nur ausgeführt werden, wenn die Statistik seit dem letzten Abruf nicht geändert wurde.

  • insightSubtype: Der Statistikuntertyp.
  • lastRefreshTime: Das Datum, an dem die Statistik zuletzt aktualisiert wurde. Dadurch wird die Aktualität der Daten angegeben, die zum Generieren der Statistik verwendet wurden.
  • name: Der Name der Statistik im folgenden Format:

    projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID

    Die Platzhalter haben folgende Werte:

    • PROJECT_ID: Die ID des Projekts, in dem die Statistik generiert wurde.
    • INSIGHT_ID: Eine eindeutige ID für die Statistik.
  • observationPeriod: Der Zeitraum, der der Statistik vorausgeht. Die zum Generieren der Statistik verwendeten Quelldaten enden zum Zeitpunkt von lastRefreshTime und beginnen bei lastRefreshTime minus observationPeriod.
  • stateInfo: Statistiken durchlaufen mehrere Statusübergänge, nachdem sie vorgeschlagen wurden:

    • ACTIVE: Die Statistik wurde generiert, aber es wurden keine Aktionen durchgeführt oder eine Aktion wurde ohne Aktualisierung des Status der Statistik durchgeführt. Aktive Statistiken werden aktualisiert, wenn sich die zugrunde liegenden Daten ändern.
    • ACCEPTED: Gemäß der Statistik wurden Aktionen durchgeführt. Statistiken werden akzeptiert, wenn eine zugehörige Empfehlung als CLAIMED, SUCCEEDED oder FAILED gekennzeichnet oder die Statistik direkt akzeptiert wurde. Wenn eine Statistik den Status ACCEPTED hat, können Sie den Inhalt der Statistik nicht ändern. Akzeptierte Statistiken werden nach ihrer Annahme 90 Tage lang aufbewahrt.
  • targetResources: Der vollständige Ressourcenname des Projekts, für das die Statistik bestimmt ist. Beispiel: //cloudresourcemanager.googleapis.com/projects/1234567890

Dienstkontostatistiken als ACCEPTED markieren

Wenn Sie eine Aktion gemäß einer aktiven Statistik durchführen, können Sie diese Statistik als ACCEPTED markieren. Durch den Status ACCEPTED wird der Recommender API mitgeteilt, dass Sie gemäß dieser Statistik Aktionen durchgeführt haben, wodurch sich die Empfehlungen optimieren lassen.

Akzeptierte Statistiken werden 90 Tage lang aufbewahrt, nachdem sie als ACCEPTED markiert wurden.

gcloud

Verwenden Sie den Befehl gcloud recommender insights mark-accepted mit Ihrer Statistik-ID, um eine Statistik als ACCEPTED zu markieren.

  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Sie finden die ID, indem Sie die Statistiken in Ihrem Projekt auflisten.
  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
  • ETAG: Eine Kennung für eine Version der Statistik. So rufen Sie das etag ab:

    1. Rufen Sie die Statistik mit dem Befehl gcloud recommender insights describe ab.
    2. Suchen Sie in der Ausgabe den etag-Wert und kopieren Sie ihn einschließlich der Anführungszeichen. Beispiel: "d3cdec23cc712bd0".
gcloud recommender insights mark-accepted INSIGHT_ID \
    --insight-type=google.iam.serviceAccount.Insight \
    --project=PROJECT_ID \
    --location=global \
    --etag=ETAG

Die Ausgabe enthält jetzt die Statistik mit dem Status ACCEPTED:

category: SECURITY
content:
  email: my-service-account@my-project.iam.gserviceaccount.com
  lastAuthenticatedTime: '2020-10-11T07:00:00Z'
  serviceAccountId: '103185812403937829397'
description: Service account my-service-account@my-project.iam.gserviceaccount.com
  was inactive.
etag: '"39c4199dcec92848"'
insightSubtype: SERVICE_ACCOUNT_USAGE
lastRefreshTime: '2021-04-18T07:00:00Z'
name: projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82
observationPeriod: 19008000s
stateInfo:
  state: ACCEPTED
targetResources:
- //cloudresourcemanager.googleapis.com/projects/123456789012

Weitere Informationen zu den Statusinformationen einer Statistik finden Sie auf dieser Seite unter Dienstkontostatistiken prüfen.

REST

Die Methode insights.markAccepted der Recommender API markiert eine Statistik als ACCEPTED.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Wenn Sie die Statistik-ID nicht kennen, können Sie sie in Ihrem Projekt finden, indem Sie die Statistiken auflisten. Die ID einer Statistik entspricht allen Angaben nach insights/ im name-Feld der Statistik.
  • ETAG: Eine Kennung für eine Version der Statistik. So rufen Sie das etag ab:
    1. Rufen Sie die Statistik mit der Methode insights.get ab.
    2. Suchen und kopieren Sie den etag-Wert aus der Antwort.

HTTP-Methode und URL:

POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/INSIGHT_ID:markAccepted

JSON-Text anfordern:

{
  "etag": "ETAG"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Die Antwort enthält jetzt die Statistik mit dem Status ACCEPTED:

{
  "name": "projects/123456789012/locations/global/insightTypes/google.iam.serviceAccount.Insight/insights/446303ba-2a14-49cc-b9fa-e2d2499d4f82",
  "description": "Service account my-service-account@my-project.iam.gserviceaccount.com was inactive.",
  "content": {
    "serviceAccountId": "103185812403937829397",
    "email": "my-service-account@my-project.iam.gserviceaccount.com",
    "lastAuthenticatedTime": "2020-10-11T07:00:00Z"
  },
  "lastRefreshTime": "2021-04-18T07:00:00Z",
  "observationPeriod": "19008000s",
  "stateInfo": {
    "state": "ACCEPTED"
    },
  "category": "SECURITY",
  "targetResources": [
    "//cloudresourcemanager.googleapis.com/projects/123456789012"
  ],
  "insightSubtype": "SERVICE_ACCOUNT_USAGE",
  "etag": "\"39c4199dcec92848\""
}

Weitere Informationen zu den Statusinformationen einer Statistik finden Sie auf dieser Seite unter Dienstkontostatistiken prüfen.

Nächste Schritte

  • Beobachten Sie die Nutzungsmuster von Dienstkonten mit Messwerten zur Dienstkontonutzung.
  • Mit der Aktivitätsanalyse können Sie proaktiv prüfen, wann Dienstkonten und Dienstkontoschlüssel zuletzt verwendet wurden.
  • Im Empfehlungs-Hub können Sie alle Empfehlungen für Ihr Projekt, einschließlich IAM-Empfehlungen, aufrufen und verwalten.