Richtlinienstatistiken für BigQuery-Datasets ansehen

Auf dieser Seite wird beschrieben, wie Sie Richtlinienstatistiken auf Dataset-Ebene verwalten. Dabei handelt es sich um Erkenntnisse zur Nutzung von Berechtigungen für Ihr Unternehmen, die auf maschinellem Lernen basieren. BigQuery-Datasets. Mit Richtlinienstatistiken können Sie ermitteln, welche Hauptkonten Berechtigungen, die sie nicht benötigen.

Diese Seite konzentriert sich auf Richtlinienstatistiken für Datasets. Richtlinie zu Recommender bietet auch Statistiken für die folgenden Ressourcentypen:

Richtlinienstatistiken auf Dataset-Ebene werden manchmal verknüpft mit Rollenempfehlungen. Rollenempfehlungen schlagen Aktionen vor, können Sie die Probleme beheben, die durch Richtlinienstatistiken auf Dataset-Ebene identifiziert wurden.

Hinweise

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Verwalten von Richtlinienstatistiken auf Dataset-Ebene benötigen, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für Ihr Projekt:

  • BigQuery-Dateninhaber (`roles/bigquery.dataOwner`)
  • IAM Recommender-Administrator (`roles/recommender.iamAdmin`)
  • Verwalten Sie Richtlinienstatistiken auf Dataset-Ebene mit der gcloud CLI oder REST API: Service Usage-Nutzer (`roles/serviceusage.serviceUsageConsumer`)

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Richtlinienstatistiken auf Dataset-Ebene erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Verwalten von Richtlinienstatistiken auf Dataset-Ebene erforderlich:

  • Sehen Sie sich Richtlinienstatistiken auf Dataset-Ebene an: <ph type="x-smartling-placeholder">
      </ph>
    • recommender.iamPolicyInsights.get
    • recommender.iamPolicyInsights.list
  • Richtlinienstatistiken auf Dataset-Ebene ändern: recommender.iamPolicyInsights.update
  • Verwalten Sie Richtlinienstatistiken auf Dataset-Ebene mit der gcloud CLI oder REST API: serviceusage.services.use

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Richtlinienstatistiken auf Dataset-Ebene auflisten

Zum Auflisten aller Richtlinienstatistiken auf Dataset-Ebene für Ihr Projekt, Wenden Sie eine der folgenden Methoden an:

gcloud

Verwenden Sie den Befehl gcloud recommender insights list, um alle Richtlinienstatistiken auf Dataset-Ebene für Ihr Projekt arbeiten.

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.
  • LOCATION: Der Standort des Datasets, deren Erkenntnisse Sie auflisten möchten.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION\
    --filter="insightSubtype:PERMISSIONS_USAGE_BIGQUERY_DATASET"

In der Ausgabe werden alle Richtlinienstatistiken auf Dataset-Ebene für Ihr an dem angegebenen Ort befindet. Beispiel:

INSIGHT_ID                            CATEGORY  INSIGHT_STATE  LAST_REFRESH_TIME     SEVERITY  INSIGHT_SUBTYPE                     DESCRIPTION
101d03ad-6148-4628-943e-fcf1a3af6b57  SECURITY  ACTIVE         2024-02-02T08:00:00Z  LOW       PERMISSIONS_USAGE_BIGQUERY_DATASET  0 of the permissions in this role binding were used in the past 90 days.
15133dd9-4cbc-41e9-8990-b189241676d8  SECURITY  ACTIVE         2024-02-02T08:00:00Z  LOW       PERMISSIONS_USAGE_BIGQUERY_DATASET  0 of the permissions in this role binding were used in the past 90 days.
1590aeae-d5bf-4e3d-b7d5-e230212f5faf  SECURITY  ACTIVE         2024-02-02T08:00:00Z  LOW       PERMISSIONS_USAGE_BIGQUERY_DATASET  4 of the permissions in this role binding were used in the past 90 days.
280e5a14-4d09-4ac6-8e14-be7407611ad7  SECURITY  ACTIVE         2024-02-02T08:00:00Z  LOW       PERMISSIONS_USAGE_BIGQUERY_DATASET  0 of the permissions in this role binding were used in the past 90 days.
34102078-085f-45d3-ae72-81da16c75781  SECURITY  ACTIVE         2024-02-02T08:00:00Z  LOW       PERMISSIONS_USAGE_BIGQUERY_DATASET  10 of the permissions in this role binding were used in the past 90 days.

REST

Die Recommender APIs insights.list listet alle Richtlinienstatistiken auf Dataset-Ebene für Ihr Projekt arbeiten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken auflisten möchten.
  • LOCATION: Der Standort des Datasets, deren Erkenntnisse Sie auflisten möchten.

HTTP-Methode und URL:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights?filter=insightSubtype%20%3D%20PERMISSIONS_USAGE_BIGQUERY_DATASET

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

In der Antwort werden alle Richtlinienstatistiken auf Dataset-Ebene für Ihr an dem angegebenen Ort befindet. Beispiel:

{
  "insights": [
    {
      "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57",
      "description": "0 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/bigquery.dataEditor",
        "member": "projectEditor:my-project",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [],
        "inferredPermissions": [],
        "currentTotalPermissionsCount": "37"
      },
      "lastRefreshTime": "2024-02-02T08:00:00Z",
      "observationPeriod": "7779600s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e"
        }
      ],
      "targetResources": [
        "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1"
      ],
      "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET",
      "etag": "\"35d4af47524d3f0c\"",
      "severity": "LOW"
    },
    {
      "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/15133dd9-4cbc-41e9-8990-b189241676d8",
      "description": "0 of the permissions in this role binding were used in the past 90 days.",
      "content": {
        "role": "roles/bigquery.dataViewer",
        "member": "projectViewer:my-project",
        "condition": {
          "expression": "",
          "title": "",
          "description": "",
          "location": ""
        },
        "exercisedPermissions": [],
        "inferredPermissions": [],
        "currentTotalPermissionsCount": "17"
      },
      "lastRefreshTime": "2024-02-02T08:00:00Z",
      "observationPeriod": "7779600s",
      "stateInfo": {
        "state": "ACTIVE"
      },
      "category": "SECURITY",
      "associatedRecommendations": [
        {
          "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/bc9b4c28-cc93-4a91-97ea-ff67e3cef1b4"
        }
      ],
      "targetResources": [
        "//bigquery.googleapis.com/projects/my-project/datasets/dataset-2"
      ],
      "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET",
      "etag": "\"eafa79df1b329063\"",
      "severity": "LOW"
    }
  ]
}

Weitere Informationen zu den Komponenten einer Statistik finden Sie unter Überprüfen Richtlinienstatistiken auf Dataset-Ebene.

Einzelne Richtlinienstatistik auf Dataset-Ebene 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. Um die ID zu finden, listen Sie die Statistiken für Ihr Projekt arbeiten.
  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
  • LOCATION: Der Standort des Dataset, dessen Erkenntnis Sie erhalten möchten.
gcloud recommender insights describe INSIGHT_ID \
    --insight-type=google.iam.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION

In der Ausgabe sehen Sie die Statistik im Detail. Die folgende Statistik zeigt beispielsweise an, dass alle Nutzer mit der Rolle „Bearbeiter“ für das Projekt my-project (projectEditor:my-project) haben die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor) für das Dataset dataset-1, aber dass keiner der Berechtigungen in dieser Rolle wurden in den letzten 90 Tagen verwendet:

associatedRecommendations:
- recommendation: projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f951-1ceb-488e-9e49-f17eb21f6e5e
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  currentTotalPermissionsCount: '37'
  exercisedPermissions: []
  inferredPermissions: []
  member: projectEditor:my-project
  role: roles/bigquery.dataEditor
description: 0 of the permissions in this role binding were used in the past 90 days.
etag: '"5f2f352a738f7a24"'
insightSubtype: PERMISSIONS_USAGE_BIGQUERY_DATASET
lastRefreshTime: '2024-02-04T08:00:00Z'
name: projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACTIVE
targetResources:
- //bigquery.googleapis.com/projects/my-project/datasets/dataset-1

Weitere Informationen zu den Komponenten einer Statistik finden Sie unter Überprüfen Richtlinienstatistiken auf Dataset-Ebene.

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.
  • LOCATION: Der Standort des Dataset, dessen Erkenntnis Sie erhalten möchten.
  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Wenn Sie Sie die Statistik-ID nicht kennen, Auflistung der Statistiken in Ihrem Projekt arbeiten. 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/LOCATION/insightTypes/google.iam.policy.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 an, dass alle Nutzer mit der Rolle „Bearbeiter“ für das Projekt my-project (projectEditor:my-project) haben die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor) für das Dataset dataset-1, aber dass keiner der Berechtigungen in dieser Rolle wurden in den letzten 90 Tagen verwendet:

{
  "name": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57",
  "description": "0 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/bigquery.dataEditor",
    "member": "projectEditor:my-project",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [],
    "inferredPermissions": [],
    "currentTotalPermissionsCount": "37"
  },
  "lastRefreshTime": "2024-02-02T08:00:00Z",
  "observationPeriod": "7779600s",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e"
    }
  ],
  "targetResources": [
    "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1"
  ],
  "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET",
  "etag": "\"35d4af47524d3f0c\"",
  "severity": "LOW"
}

Weitere Informationen zu den Komponenten einer Statistik finden Sie unter Überprüfen Richtlinienstatistiken auf Dataset-Ebene.

Richtlinienstatistiken auf Dataset-Ebene 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. Richtlinienstatistiken auf Dataset-Ebene (google.iam.policy.Insight) den Untertyp PERMISSIONS_USAGE_BIGQUERY_DATASET haben.

PERMISSIONS_USAGE_BIGQUERY_DATASET-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 die Nutzung von Berechtigungen für eine bestimmte Rolle durch ein Hauptkonto an. Dieses Feld enthält die folgenden Komponenten:

    • condition: Alle Bedingungen, die mit einer Bindung verknüpft sind, durch die dem Hauptkonto die Rolle zugewiesen wird. Wenn es keine Bedingungen vorhanden sind, enthält dieses Feld eine leere Bedingung.
    • exercisedPermissions: Die Berechtigungen in der Rolle, die das Hauptkonto während des folgenden Zeitraums verwendet hat: Beobachtungszeitraum.
    • inferredPermissions: die Berechtigungen in der Rolle, die Recommender hat durch ML ermittelt, dass das Hauptkonto wahrscheinlich brauchen, basierend auf den ausgeübten Berechtigungen.
    • member: Das Hauptkonto, dessen Nutzung von Berechtigungen analysiert wurde.
    • role: Die Rolle, für die die Nutzung von Berechtigungen analysiert wurde.
  • 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/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID

    Die Platzhalter haben folgende Werte:

    • PROJECT_ID: Die ID des Projekts, in dem die Statistik generiert wurde.
    • LOCATION: Der Standort des Dataset, für das die Erkenntnis gilt.
    • 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 Datasets, für das die Statistik bestimmt ist. Beispiel: //bigquery.googleapis.com/projects/my-project/datasets/my-dataset

Richtlinienstatistik auf Dataset-Ebene 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 die Methode gcloud recommender insights mark-accepted-Befehl mit der zu markierenden Statistik-ID eine Erkenntnis als ACCEPTED.

  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Um die ID zu finden, listen Sie die Statistiken für Ihr Projekt arbeiten.
  • PROJECT_ID: Die ID des Projekts, für das Sie Statistiken verwalten möchten.
  • LOCATION: Der Standort des Dataset, dessen Statistik Sie als ACCEPTED markieren 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.policy.Insight \
    --project=PROJECT_ID \
    --location=LOCATION \
    --etag=ETAG

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

associatedRecommendations:
- recommendation: projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f951-1ceb-488e-9e49-f17eb21f6e5e
category: SECURITY
content:
  condition:
    description: ''
    expression: ''
    location: ''
    title: ''
  currentTotalPermissionsCount: '37'
  exercisedPermissions: []
  inferredPermissions: []
  member: projectEditor:my-project
  role: roles/bigquery.dataEditor
description: 0 of the permissions in this role binding were used in the past 90 days.
etag: '"5f2f352a738f7a24"'
insightSubtype: PERMISSIONS_USAGE_BIGQUERY_DATASET
lastRefreshTime: '2024-02-04T08:00:00Z'
name: projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57
observationPeriod: 7776000s
severity: LOW
stateInfo:
  state: ACCEPTED
targetResources:
- //bigquery.googleapis.com/projects/my-project/datasets/dataset-1

Weitere Informationen zu den Statusinformationen einer Statistik finden Sie unter Überprüfen Richtlinienstatistiken auf Dataset-Ebene.

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.
  • LOCATION: Der Standort des Dataset, dessen Statistik Sie als ACCEPTED markieren möchten.
  • INSIGHT_ID: Die ID der Statistik, die Sie aufrufen möchten. Wenn Sie Sie die Statistik-ID nicht kennen, Auflistung der Statistiken in Ihrem Projekt arbeiten. 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/LOCATION/insightTypes/google.iam.policy.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/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/101d03ad-6148-4628-943e-fcf1a3af6b57",
  "description": "0 of the permissions in this role binding were used in the past 90 days.",
  "content": {
    "role": "roles/bigquery.dataEditor",
    "member": "projectEditor:my-project",
    "condition": {
      "expression": "",
      "title": "",
      "description": "",
      "location": ""
    },
    "exercisedPermissions": [],
    "inferredPermissions": [],
    "currentTotalPermissionsCount": "37"
  },
  "lastRefreshTime": "2024-02-02T08:00:00Z",
  "observationPeriod": "7779600s",
  "stateInfo": {
    "state": "ACCEPTED"
  },
  "category": "SECURITY",
  "associatedRecommendations": [
    {
      "recommendation": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/9327f952-1ceb-488e-9e49-f17eb21f6e5e"
    }
  ],
  "targetResources": [
    "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1"
  ],
  "insightSubtype": "PERMISSIONS_USAGE_BIGQUERY_DATASET",
  "etag": "\"35d4af47524d3f0c\"",
  "severity": "LOW"
}

Weitere Informationen zu den Statusinformationen einer Statistik finden Sie unter Überprüfen Richtlinienstatistiken auf Dataset-Ebene.

Nächste Schritte