Questa pagina mostra come gestire gli approfondimenti sui criteri a livello di set di dati, ovvero risultati basati sul machine learning sull'utilizzo delle autorizzazioni per i set di dati BigQuery. Gli insight sulle norme possono aiutarti a identificare quali entità hanno autorizzazioni non necessarie.
Questa pagina è incentrata sugli insight relativi ai criteri per i set di dati. Il Recommender offre anche approfondimenti sulle norme per i seguenti tipi di risorse:
A volte gli approfondimenti sulle norme a livello di set di dati sono collegati ai suggerimenti sui ruoli. I consigli sui ruoli suggeriscono le azioni che puoi intraprendere per risolvere i problemi identificati dagli approfondimenti sulle norme a livello di set di dati.
Prima di iniziare
-
Enable the Recommender API.
- Acquisisci familiarità con i suggerimenti sui ruoli IAM.
- (Facoltativo) Leggi gli approfondimenti del motore per suggerimenti.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire gli insight sui criteri a livello di set di dati, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:
- BigQuery Data Owner ("roles/bigquery.dataOwner")
- Amministratore motore per suggerimenti IAM ("roles/Recommender.iamAdmin")
- Gestisci gli insight sui criteri a livello di set di dati con gcloud CLI o l'API REST: Consumer utilizzo dei servizi ("roles/serviceusage.serviceUsageConsumer")
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti le autorizzazioni necessarie per gestire gli insight sui criteri a livello di set di dati. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per gestire gli approfondimenti sui criteri a livello di set di dati sono necessarie le seguenti autorizzazioni:
-
Visualizza approfondimenti sulle norme a livello di set di dati:
-
recommender.iamPolicyInsights.get
-
recommender.iamPolicyInsights.list
-
-
Modifica gli insight sui criteri a livello di set di dati:
recommender.iamPolicyInsights.update
-
Gestisci gli approfondimenti sulle norme a livello di set di dati con l'interfaccia a riga di comando gcloud o l'API REST:
serviceusage.services.use
Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati altri ruoli predefiniti.
Elenca gli approfondimenti sui criteri a livello di set di dati
Per elencare tutti gli approfondimenti sulle norme a livello di set di dati per il tuo progetto, utilizza uno dei seguenti metodi:gcloud
Utilizza il comando gcloud recommender
insights list
per visualizzare tutti gli insight sui criteri a livello di set di dati per
progetto.
Prima di eseguire il comando, sostituisci i seguenti valori:
PROJECT_ID
: l'ID del progetto per cui vuoi elencare gli approfondimenti.LOCATION
: la posizione dei set di dati di cui vuoi elencare gli approfondimenti.
gcloud recommender insights list --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION\ --filter="insightSubtype:PERMISSIONS_USAGE_BIGQUERY_DATASET"
L'output elenca tutti gli approfondimenti sulle norme a livello di set di dati per il progetto nella posizione specificata. Ad esempio:
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
Il metodo insights.list
dell'API Recommender elenca tutti gli approfondimenti sulle norme a livello di set di dati per il tuo progetto.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_ID
: l'ID del progetto per cui vuoi elencare gli approfondimenti.LOCATION
: la posizione dei set di dati di cui vuoi elencare gli approfondimenti.
Metodo HTTP e 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
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta elenca tutti gli approfondimenti sulle norme a livello di set di dati per il tuo progetto nella località specificata. Ad esempio:
{ "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" } ] }
Per scoprire di più sui componenti di un'informazione, consulta la sezione Esaminare gli approfondimenti sulle norme a livello di set di dati in questa pagina.
Ricevi un unico insight sui criteri a livello di set di dati
Per ottenere ulteriori informazioni su un singolo insight, inclusa la descrizione, lo stato e gli eventuali consigli associati, utilizza uno dei seguenti metodi:
gcloud
Utilizza il comando gcloud recommender
insights describe
con il tuo ID insight per visualizzare le informazioni su un singolo
o approfondimento.
-
INSIGHT_ID
: l'ID dell'informazione che vuoi visualizzare. Per trovare l'ID, elenca gli approfondimenti relativi alla tua progetto. PROJECT_ID
: l'ID del il progetto per cui vuoi gestire gli insight.LOCATION
: la posizione del set di dati di cui vuoi ottenere gli approfondimenti.
gcloud recommender insights describe INSIGHT_ID \ --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION
L'output mostra l'insight in dettaglio. Ad esempio, gli insight seguenti indicano che tutti gli utenti con il ruolo Editor nel progetto
my-project
(projectEditor:my-project
) ha il ruolo Editor dati BigQuery
(roles/bigquery.dataEditor
) sul set di dati dataset-1
, ma nessuno degli
per il ruolo sono state utilizzate negli ultimi 90 giorni:
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
Per scoprire di più sui componenti di un approfondimento, consulta Esaminare insight sui criteri a livello di set di dati su questa pagina.
REST
Il metodo
insights.get
dell'API Recommender riceve un singolo insight.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del il progetto per cui vuoi gestire gli insight. LOCATION
: la posizione del set di dati di cui vuoi ottenere gli approfondimenti.-
INSIGHT_ID
: l'ID dell'insight che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elenca gli approfondimenti nei tuoi progetto. L'ID di un approfondimento è tutto dopoinsights/
nel camponame
per l'approfondimento.
Metodo HTTP e URL:
GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID
Per inviare la richiesta, espandi una delle seguenti opzioni:
La risposta contiene l'insight. Ad esempio, la seguente informazione indica che tutti gli utenti con il ruolo Editor nel progetto
my-project
(projectEditor:my-project
) hanno il ruolo Editor dati BigQuery
(roles/bigquery.dataEditor
) nel set di dati dataset-1
, ma che nessuna delle
autorizzazioni in quel ruolo è stata utilizzata negli ultimi 90 giorni:
{ "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" }
Per scoprire di più sui componenti di un approfondimento, consulta Esaminare insight sui criteri a livello di set di dati su questa pagina.
Esamina gli approfondimenti sulle norme a livello di set di dati
Dopo aver ottenuto un singolo insight, puoi esaminarne i contenuti per comprendere il pattern della risorsa l'uso che mette in evidenza.
I contenuti di un'intuizione sono determinati dai relativi sottotipi.
Insight sui criteri a livello di set di dati (google.iam.policy.Insight
)
hanno il sottotipo PERMISSIONS_USAGE_BIGQUERY_DATASET
.
Gli approfondimenti di PERMISSIONS_USAGE_BIGQUERY_DATASET
hanno i seguenti componenti, non necessariamente in questo ordine:
-
associatedRecommendations
: gli identificatori di eventuali consigli associati all'approfondimento. Se non sono associati suggerimenti all'insight, questo campo è vuoto. -
category
: la categoria per gli insight IAM è sempreSECURITY
. -
content
: registra l'utilizzo delle autorizzazioni di un'entità per un ruolo specifico. Questo campo contiene il parametro i seguenti componenti:condition
: eventuali condizioni associate all'associazione che concedono all'entità il ruolo. Se non esistono condizioni, questo campo contiene una condizione vuota.exercisedPermissions
: le autorizzazioni nel ruolo utilizzate dall'entità durante la di osservazione.inferredPermissions
: le autorizzazioni nel ruolo del motore per suggerimenti determinato, mediante ML, che l'entità di cui avranno bisogno in base alle autorizzazioni esercitate.member
: l'entità principale di cui è stato analizzato l'utilizzo delle autorizzazioni.role
: il ruolo per cui è stato analizzato l'utilizzo delle autorizzazioni.
-
description
: un riepilogo leggibile dell'approfondimento. -
etag
: un identificatore univoco per lo stato attuale di un approfondimento. Ogni volta che l'insight cambia, viene assegnato un nuovo valoreetag
.Per modificare lo stato di un approfondimento, devi fornire il
etag
del insight esistente. L'utilizzo dietag
consente di garantire che eventuali operazioni vengano eseguite solo se l'informazione non è cambiata dall'ultima volta che l'hai recuperata. -
insightSubtype
: il sottotipo di approfondimento. -
lastRefreshTime
: la data dell'ultimo aggiornamento dell'approfondimento, che indica l'aggiornamento dei dati utilizzati per generarlo. -
name
: il nome dell'intuizione, nel seguente formato:projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID
I segnaposto hanno i seguenti valori:
-
PROJECT_ID
: l'ID del progetto in cui è stato generato l'insight. LOCATION
: la posizione del a cui si riferisce l'insight.INSIGHT_ID
: un ID univoco per l'intuizione.
-
-
observationPeriod
: il periodo di tempo che ha portato all'approfondimento. La i dati di origine utilizzati per generare l'insight terminano alle orelastRefreshTime
e inizia alle orelastRefreshTime
menoobservationPeriod
. -
stateInfo
: gli insight vengono sottoposti a più transizioni di stato dopo viene proposto:-
ACTIVE
: l'insight è stato generato, ma non è stata eseguita alcuna azione. o è stata intrapresa un'azione senza aggiornare lo stato dell'insight. Attivo gli insight vengono aggiornati quando i dati sottostanti cambiano. -
ACCEPTED
: è stata intrapresa un'azione in base all'intuizione. Consigli vengono accettati quando un consiglio associato è stato contrassegnato comeCLAIMED
SUCCEEDED
, oFAILED
, oppure l'insight è stato accettato direttamente. Quando un'intuizione è nello statoACCEPTED
, i contenuti dell'intuizione non possono essere modificati. Gli insight accettati vengono conservati per 90 giorni dopo vengono accettati.
-
-
targetResources
: il nome completo della risorsa del set di dati a cui si riferisce l'insight. Ad esempio://bigquery.googleapis.com/projects/my-project/datasets/my-dataset
.
Contrassegnare un'informazione sui criteri a livello di set di dati come ACCEPTED
Se intervieni sulla base di un approfondimento attivo, puoi contrassegnarlo come
ACCEPTED
. Lo stato ACCEPTED
indica all'API Recommender che hai intrapreso un'azione in base a questa informazione, il che contribuisce a perfezionare i consigli.
Gli approfondimenti accettati vengono conservati per 90 giorni dopo essere stati contrassegnati come ACCEPTED
.
gcloud
Utilizza la
Comando gcloud recommender insights mark-accepted
con il tuo ID insight da contrassegnare
un approfondimento come ACCEPTED
.
-
INSIGHT_ID
: l'ID dell'insight che vuoi vista. Per trovare l'ID, elenca gli approfondimenti relativi alla tua progetto. PROJECT_ID
: l'ID del il progetto per cui vuoi gestire gli insight.LOCATION
: la posizione del del set di dati di cui vuoi contrassegnare l'insight comeACCEPTED
.-
ETAG
: un identificatore di una versione dell'insight. Per ottenere iletag
:-
Ottieni l'insight utilizzando il comando
gcloud recommender insights describe
. -
Trova e copia il valore
etag
dall'output, incluso il relativo citazioni. Ad esempio,"d3cdec23cc712bd0"
.
-
Ottieni l'insight utilizzando il comando
gcloud recommender insights mark-accepted INSIGHT_ID \ --insight-type=google.iam.policy.Insight \ --project=PROJECT_ID \ --location=LOCATION \ --etag=ETAG
L'output mostra l'informazione, ora con lo stato 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
Per scoprire di più sulle informazioni sullo stato di un approfondimento, consulta Esaminare insight sui criteri a livello di set di dati su questa pagina.
REST
L'API Recommender
insights.markAccepted
contrassegna un insight come ACCEPTED
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
-
PROJECT_ID
: l'ID del progetto per cui vuoi gestire gli approfondimenti. LOCATION
: la posizione del set di dati di cui vuoi contrassegnare l'intuizione comeACCEPTED
.-
INSIGHT_ID
: l'ID dell'informazione che vuoi visualizzare. Se non conosci l'ID insight, puoi trovarlo elencando gli approfondimenti nel progetto. L'ID di un'informazione è tutto ciò che segueinsights/
nel camponame
dell'informazione. -
ETAG
: un identificatore per una versione dell'approfondimento. A scaricaetag
, procedi nel seguente modo:- Ottieni le informazioni utilizzando il metodo
insights.get
. - Trova e copia il valore
etag
dalla risposta.
- Ottieni le informazioni utilizzando il metodo
Metodo HTTP e URL:
POST https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/insightTypes/google.iam.policy.Insight/insights/INSIGHT_ID:markAccepted
Corpo JSON della richiesta:
{ "etag": "ETAG" }
Per inviare la richiesta, espandi una di queste opzioni:
La risposta contiene l'insight, ora con lo stato 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" }
Per scoprire di più sulle informazioni sullo stato di un approfondimento, consulta Esaminare insight sui criteri a livello di set di dati su questa pagina.
Passaggi successivi
- Scopri come visualizzare e applicare modifiche suggerimenti sui criteri per i set di dati BigQuery.
- Utilizza l'hub dei suggerimenti per visualizzare e gestire tutti i suggerimenti per il tuo progetto, inclusi quelli IAM.