Auf dieser Seite wird erläutert, wie Sie IAM-Rollenempfehlungen für BigQuery-Datasets aufrufen, interpretieren und anwenden. Mit Rollenempfehlungen können Sie das Prinzip der geringsten Berechtigung erzwingen und Hauptkonten nur die Berechtigungen erteilen, die sie tatsächlich benötigen.
Hinweis
Enable the IAM and Recommender APIs.
Informieren Sie sich über Rollenempfehlungen.
Richten Sie die Authentifizierung ein.
Select the tab for how you plan to use the samples on this page:
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche IAM-Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Rollempfehlungen auf Datasetebene benötigen:
-
Rollenbetrachter (
roles/iam.roleViewer
) für Ihr Projekt -
IAM Recommender-Administrator (
roles/recommender.iamAdmin
) für Ihr Projekt -
BigQuery-Dateninhaber (
roles/bigquery.dataOwner
) für Ihr Dataset
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Rollenempfehlungen auf Datasetebene erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um Rollenempfehlungen auf Datasetebene zu verwalten:
-
So rufen Sie Empfehlungen auf:
-
iam.roles.get
für Ihr Projekt -
iam.roles.list
für Ihr Projekt -
recommender.iamPolicyRecommendations.get
für Ihr Projekt -
recommender.iamPolicyRecommendations.list
für Ihr Projekt -
recommender.iamPolicyInsights.get
für Ihr Projekt -
recommender.iamPolicyInsights.list
für Ihr Projekt -
bigquery.datasets.getIamPolicy
für Ihr Dataset
-
-
So wenden Sie Empfehlungen an und lehnen Sie sie ab:
-
recommender.iamPolicyRecommendations.update
für Ihr Projekt -
bigquery.datasets.setIamPolicy
für Ihr Dataset
-
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Empfehlungen prüfen und anwenden
Sie können Rollenempfehlungen auf Datensatzebene mit der Google Cloud CLI und der Recommender API überprüfen und anwenden.
Empfehlungen prüfen
Wenn Sie Empfehlungen auf Dataset-Ebene auflisten möchten, führen Sie den Befehl gcloud recommender recommendations list
aus und filtern Sie nur nach BigQuery-Dataset-Empfehlungen:
gcloud recommender recommendations list \
--location=LOCATION \
--recommender=google.iam.policy.Recommender \
--project=PROJECT_ID \
--format=json \
--filter="recommenderSubtype:REMOVE_ROLE_BIGQUERY_DATASET OR recommenderSubtype:REPLACE_ROLE_BIGQUERY_DATASET"
Ersetzen Sie die folgenden Werte:
LOCATION
: Die Region, in der sich Ihre Cloud Storage-Datasets befinden, z. B.us
oderus-central1
.PROJECT_ID
: Die ID des Google Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
.
Die Antwort ähnelt dem folgenden Beispiel. In diesem Beispiel haben alle Nutzer mit der Rolle „Bearbeiter“ für das Projekt my-project
(projectEditor:my-project
) die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor
) für das Dataset dataset-1
.
Diese Rolle wurde jedoch in den letzten 90 Tagen nicht verwendet. Daher schlägt die Rollenempfehlung vor, dass Sie die Rolle widerrufen:
[ { "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/984eccca-0241-472f-baab-2557dd0d7282" } ], "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "projectEditor:my-project", "/iamPolicy/bindings/*/role": "roles/bigquery.dataEditor" }, "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "resourceType": "bigquery.googleapis.com/Dataset" } ] } ], "overview": { "addedRoles": [], "member": "projectEditor:my-project", "minimumObservationPeriodInDays": "0", "removedRole": "roles/bigquery.dataEditor", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" } }, "description": "This role has not been used during the observation window.", "etag": "\"3b123bc08d028128\"", "lastRefreshTime": "2024-02-04T08:00:00Z", "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/0e9831fe-6810-476b-b14d-2b64bda17288", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 37 } } }, "priority": "P4", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] }, { "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/9d11057e-9c71-410f-ad55-fc82d87761d0" } ], "content": { "operationGroups": [ { "operations": [ { "action": "remove", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "user:alicexz@google.com", "/iamPolicy/bindings/*/role": "roles/bigquery.dataOwner" }, "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "resourceType": "bigquery.googleapis.com/Dataset" } ] } ], "overview": { "addedRoles": [], "member": "user:alicexz@google.com", "minimumObservationPeriodInDays": "0", "removedRole": "roles/bigquery.dataOwner", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" } }, "description": "This role has not been used during the observation window.", "etag": "\"1da285f7aa6438f1\"", "lastRefreshTime": "2024-02-04T08:00:00Z", "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/56013294-cf81-402a-8cde-25489545777c", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 64 } } }, "priority": "P4", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "ACTIVE" }, "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] } ]
Prüfen Sie jede Empfehlung sorgfältig und überlegen Sie, wie sich durch die empfohlenen Änderungen der Zugriff des Hauptkontos auf Google Cloud -Ressourcen ändert. Informationen zum Prüfen von Empfehlungen mit der gcloud CLI finden Sie auf dieser Seite unter Empfehlungen prüfen.
So wenden Sie eine Empfehlung an:
Verwenden Sie den Befehl
gcloud recommender recommendations mark-claimed
, um den Status der Empfehlung inCLAIMED,
zu ändern. Dadurch wird verhindert, dass sich die Empfehlung ändert, während Sie sie anwenden:gcloud recommender recommendations mark-claimed \
RECOMMENDATION_ID \ --location=LOCATION \ --recommender=google.iam.policy.Recommender \ --project=PROJECT_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA Ersetzen Sie die folgenden Werte:
-
RECOMMENDATION_ID
: die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Beispiel: Das Feldname
lautetprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
. Die Empfehlungs-ID ist dannfb927dc1-9695-4436-0000-f0f285007c0f
. -
LOCATION
: Die Region, in der sich Ihr BigQuery-Dataset befindet, z. B.us
oderus-central1
. -
PROJECT_ID
: Die ID des Google Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
. -
FORMAT
: das Format der Antwort. Verwenden Siejson
oderyaml
. -
ETAG
: der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Beachten Sie, dass dieser Wert auch Anführungszeichen enthalten kann. -
STATE_METADATA
: Optional. Durch Kommas getrennte Schlüssel/Wert-Paare, die die von Ihnen ausgewählten Metadaten zur Empfehlung enthalten. Beispiel:--state-metadata=reviewedBy=alice,priority=high
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
Wenn der Befehl erfolgreich ausgeführt wurde, wird die Empfehlung in der Antwort im
CLAIMED
-Status aufgeführt, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden im Beispiel die meisten Felder weggelassen:... "priority": "P1", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "CLAIMED" } ...
-
Rufen Sie die Zulassungsrichtlinie für das Dataset ab und ändern und legen Sie die Zulassungsrichtlinie so fest, dass sie der Empfehlung entspricht.
Aktualisieren Sie den Empfehlungsstatus auf
SUCCEEDED
, falls Sie die Empfehlung anwenden konnten, oder aufFAILED
, falls Sie die Empfehlung nicht anwenden konnten:gcloud recommender recommendations
COMMAND \RECOMMENDATION_ID \ --location=LOCATION \ --recommender=google.iam.policy.Recommender \ --project=PROJECT_ID \ --format=FORMAT \ --etag=ETAG \ --state-metadata=STATE_METADATA Ersetzen Sie die folgenden Werte:
COMMAND
: Verwenden Siemark-succeeded
, wenn Sie die Empfehlung anwenden konnten, odermark-failed
, wenn Sie die Empfehlung nicht anwenden konnten.-
RECOMMENDATION_ID
: die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Beispiel: Das Feldname
lautetprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
. Die Empfehlungs-ID ist dannfb927dc1-9695-4436-0000-f0f285007c0f
. -
LOCATION
: Die Region, in der sich Ihr BigQuery-Dataset befindet, z. B.us
oderus-central1
. -
PROJECT_ID
: Die ID des Google Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
. -
FORMAT
: das Format der Antwort. Verwenden Siejson
oderyaml
. -
ETAG
: der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Beachten Sie, dass dieser Wert auch Anführungszeichen enthalten kann. -
STATE_METADATA
: Optional. Durch Kommas getrennte Schlüssel/Wert-Paare, die die von Ihnen ausgewählten Metadaten zur Empfehlung enthalten. Beispiel:--state-metadata=reviewedBy=alice,priority=high
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
Wenn Sie beispielsweise die Empfehlung als erfolgreich angewendet markiert haben, wird die Empfehlung in der Antwort im
SUCCEEDED
-Status angezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:... "priority": "P1", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "stateInfo": { "state": "SUCCEEDED" } ...
Empfehlungen prüfen
Mit der Methode recommendations.list
der Recommender API können Sie alle verfügbaren Empfehlungen für Ihre BigQuery-Datasets auflisten.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Die ID desGoogle Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
.LOCATION
: Die Region, in der sich Ihre BigQuery-Datasets befinden, z. B.us
oderus-central1
.-
PAGE_SIZE
: Optional. Die maximale Anzahl von Ergebnissen, die von dieser Anfrage zurückgegeben werden sollen. Wenn nicht angegeben, bestimmt der Server die Anzahl der zurückzugebenden Ergebnisse. Wenn die Anzahl der Empfehlungen die Seitengröße überschreitet, enthält die Antwort ein Seitenumbruchtoken, mit dem Sie die nächste Ergebnisseite abrufen können. -
PAGE_TOKEN
: Optional. Das Seitenumbruchtoken, das in einer früheren Antwort von dieser Methode zurückgegeben wurde. Wenn dieser Wert angegeben wird, beginnt die Liste der Empfehlungen dort, wo die vorherige Anfrage endet. PROJECT_ID
: Ihre Google Cloud Projekt-ID. Projekt-IDs sind alphanumerische Strings, wiemy-project
.
HTTP-Methode und URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations?filter=recommenderSubtype%20%3D%20REMOVE_ROLE_BIGQUERY_DATASET%20OR%20recommenderSubtype%20%3D%20REPLACE_ROLE_BIGQUERY_DATASET&pageSize=PAGE_SIZE &pageToken=PAGE_TOKEN
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
"https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations?filter=recommenderSubtype%20%3D%20REMOVE_ROLE_BIGQUERY_DATASET%20OR%20recommenderSubtype%20%3D%20REPLACE_ROLE_BIGQUERY_DATASET&pageSize=PAGE_SIZE &pageToken=PAGE_TOKEN "
PowerShell (Windows)
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations?filter=recommenderSubtype%20%3D%20REMOVE_ROLE_BIGQUERY_DATASET%20OR%20recommenderSubtype%20%3D%20REPLACE_ROLE_BIGQUERY_DATASET&pageSize=PAGE_SIZE &pageToken=PAGE_TOKEN " | Select-Object -Expand Content
Die Antwort ähnelt dem folgenden Beispiel. In diesem Beispiel haben alle Nutzer mit der Rolle „Bearbeiter“ für das Projekt „my-project“ (projectEditor:my-project
) die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor
) für das Dataset dataset-1
.
Diese Rolle wurde jedoch in den letzten 90 Tagen nicht verwendet. Daher schlägt die Rollenempfehlung vor, dass Sie die Rolle widerrufen:
{ "recommendations": [ { "name": "projects/1069248613794/locations/us/recommenders/google.iam.policy.Recommender/recommendations/0e9831fe-6810-476b-b14d-2b64bda17288", "description": "This role has not been used during the observation window.", "lastRefreshTime": "2024-02-02T08:00:00Z", "primaryImpact": { "category": "SECURITY", "securityProjection": { "details": { "revokedIamPermissionsCount": 37 } } }, "content": { "operationGroups": [ { "operations": [ { "action": "remove", "resourceType": "bigquery.googleapis.com/Dataset", "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "path": "/iamPolicy/bindings/*/members/*", "pathFilters": { "/iamPolicy/bindings/*/condition/expression": "", "/iamPolicy/bindings/*/members/*": "projectEditor:my-project", "/iamPolicy/bindings/*/role": "roles/bigquery.dataEditor" } } ] } ], "overview": { "resource": "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1", "member": "projectEditor:my-project", "removedRole": "roles/bigquery.dataEditor", "addedRoles": [], "minimumObservationPeriodInDays": "0" } }, "stateInfo": { "state": "ACTIVE" }, "etag": "\"d008ad3780bad5e0\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", "associatedInsights": [ { "insight": "projects/1069248613794/locations/us/insightTypes/google.iam.policy.Insight/insights/984eccca-0241-472f-baab-2557dd0d7282" } ], "priority": "P4", "targetResources": [ "//bigquery.googleapis.com/projects/my-project/datasets/dataset-1" ] } ] }
Prüfen Sie jede Empfehlung sorgfältig und überlegen Sie, wie sich durch die empfohlenen Änderungen der Zugriff des Hauptkontos auf Google Cloud -Ressourcen ändert. Informationen zum Prüfen von Empfehlungen über die REST API finden Sie auf dieser Seite unter Empfehlungen prüfen.
So wenden Sie eine Empfehlung an:
Markieren Sie die Empfehlung als
CLAIMED
:Wenn Sie eine Empfehlung als
CLAIMED
markieren möchten, damit sie sich nicht ändert, während Sie sie anwenden, verwenden Sie die Methoderecommendations.markClaimed
der Recommender API.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Die ID desGoogle Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
.LOCATION
: Die Region, in der sich Ihr BigQuery-Dataset befindet, z. B.us
oderus-central1
.RECOMMENDATION_ID
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.STATE_METADATA
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/
PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markClaimedJSON-Text anfordern:
{ "etag": "
ETAG ", "stateMetadata": { "STATE_METADATA " } }Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markClaimed"PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markClaimed" | Select-Object -Expand ContentDie Antwort zeigt die Empfehlung im
CLAIMED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:... "stateInfo": { "state": "CLAIMED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
Rufen Sie die Zulassungsrichtlinie für das Projekt ab und ändern Sie die Richtlinie so, dass sie der Empfehlung entspricht.
Aktualisieren Sie den Empfehlungsstatus auf
SUCCEEDED
, falls Sie die Empfehlung anwenden konnten, oder aufFAILED
, falls Sie die Empfehlung nicht anwenden konnten:Wenn Sie eine Empfehlung als
SUCCEEDED
markieren möchten, was darauf hinweist, dass Sie sie anwenden konnten, verwenden Sie die Methoderecommendations.markSucceeded
der Recommender API.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Die ID desGoogle Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
.LOCATION
: Die Region, in der sich Ihr BigQuery-Dataset befindet, z. B.us
oderus-central1
.RECOMMENDATION_ID
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.STATE_METADATA
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/
PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markSucceededJSON-Text anfordern:
{ "etag": "
ETAG ", "stateMetadata": { "STATE_METADATA " } }Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markSucceeded"PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markSucceeded" | Select-Object -Expand ContentDie Antwort zeigt die Empfehlung im
SUCCEEDED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:... "stateInfo": { "state": "SUCCEEDED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
Wenn Sie eine Empfehlung als
FAILED
markieren möchten, was darauf hinweist, dass Sie sie nicht anwenden konnten, verwenden Sie die Methoderecommendations.markFailed
der Recommender API.Ersetzen Sie diese Werte in den folgenden Anfragedaten:
PROJECT_ID
: Die ID desGoogle Cloud Projekts, das Ihre BigQuery-Datasets enthält. Projekt-IDs sind alphanumerische Strings, wiemy-project
.LOCATION
: Die Region, in der sich Ihr BigQuery-Dataset befindet, z. B.us
oderus-central1
.RECOMMENDATION_ID
: Die eindeutige ID für die Empfehlung. Dieser Wert wird am Ende des Feldesname
in der Empfehlung angezeigt. Wenn das Feldname
beispielsweiseprojects/example-project/locations/global/recommenders/google.iam.policy.Recommender/recommendations/fb927dc1-9695-4436-0000-f0f285007c0f
lautet, dann ist die Empfehlungs-IDfb927dc1-9695-4436-0000-f0f285007c0f
.ETAG
: Der Wert des Feldesetag
in der Empfehlung, z. B."dd0686e7136a4cbb"
. Mit umgekehrten Schrägstrichen können Sie Anführungszeichen maskieren, z. B."\"df7308cca9719dcc\""
.STATE_METADATA
: Optional. Ein Objekt, das Schlüssel/Wert-Paare mit den von Ihnen ausgewählten Metadaten zur Empfehlung enthält. Beispiel:{"reviewedBy": "alice", "priority": "high"}
. Die Metadaten ersetzen in der Empfehlung das FeldstateInfo.stateMetadata
.
HTTP-Methode und URL:
POST https://recommender.googleapis.com/v1/projects/
PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markFailedJSON-Text anfordern:
{ "etag": "
ETAG ", "stateMetadata": { "STATE_METADATA " } }Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
curl (Linux, macOS oder Cloud Shell)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markFailed"PowerShell (Windows)
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.json
und führen Sie den folgenden Befehl aus:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recommender.googleapis.com/v1/projects/PROJECT_ID /locations/LOCATION /recommenders/google.iam.policy.Recommender/recommendations/RECOMMENDATION_ID :markFailed" | Select-Object -Expand ContentDie Antwort zeigt die Empfehlung im
FAILED
-Status, wie im folgenden Beispiel gezeigt. Zur Verdeutlichung wurden in diesem Beispiel die meisten Felder weggelassen:... "stateInfo": { "state": "FAILED" }, "etag": "\"7caf4103d7669e12\"", "recommenderSubtype": "REMOVE_ROLE_BIGQUERY_DATASET", ...
Empfehlungen
Jede Empfehlung enthält Informationen, anhand derer Sie nachvollziehen können, warum die Empfehlung abgegeben wurde.
Weitere Informationen zu den Feldern einer Empfehlung finden Sie in der Referenz zu Recommendation
.
Sehen Sie sich die Richtlinienstatistiken für die Empfehlung an, um zu erfahren, auf welcher Berechtigungsnutzung diese Empfehlung basiert.
Diese Nachrichten werden im Feld associatedInsights
aufgelistet. So rufen Sie eine mit der Empfehlung verknüpfte Richtlinie auf:
- Kopieren Sie die ID der verknüpften Statistik. Die ID ist alles nach
insights/
im Feldinsight
. Beispiel: Das Feldinsight
lautetprojects/123456789012/locations/us/insightTypes/google.iam.policy.Insight/insights/7849add9-73c0-419e-b169-42b3671173fb
. Die Statistik-ID ist dann7849add9-73c0-419e-b169-42b3671173fb
. - Folgen Sie der Anleitung zum Abrufen einer Richtlinienstatistik mithilfe der kopierten Statistik-ID.
Nächste Schritte
- Recommender
- Weitere Informationen zur Verwendung von Zulassungsrichtlinienstatistiken für BigQuery-Datasets