Modifiche ai controlli dell'accesso a livello di set di dati

Se attivi l'applicazione della configurazione enable_fine_grained_dataset_acls_option per i controlli dell'accesso a livello di set di dati, è necessaria l'autorizzazione bigquery.datasets.getIamPolicy Identity and Access Management (IAM) per visualizzare i controlli dell'accesso di un set di dati ed eseguire query sulla visualizzazione INFORMATION_SCHEMA.OBJECT_PRIVILEGES. L'autorizzazione bigquery.datasets.setIamPolicy è necessaria per aggiornare i controlli dell'accesso di un set di dati o per creare un set di dati con controlli dell'accesso utilizzando l' API.

Se non attivi l'applicazione, i controlli dell'accesso a livello di set di dati rimangono invariati.

Attivare l'applicazione

Puoi attivare l'applicazione delle modifiche delle autorizzazioni. Quando attivi l'applicazione, l'autorizzazione bigquery.datasets.getIamPolicy è necessaria per ottenere i controlli dell'accesso di un set di dati e l'autorizzazione bigquery.datasets.setIamPolicy è necessaria per aggiornare i controlli dell'accesso di un set di dati o per creare un set di dati con controlli dell'accesso utilizzando l'API.

Per attivare l'applicazione, imposta l'impostazione di configurazione enable_fine_grained_dataset_acls_option su TRUE a livello di organizzazione o progetto. Se vuoi disattivare l'applicazione dopo averla attivata, imposta l'impostazione di configurazione enable_fine_grained_dataset_acls_option su FALSE a livello di organizzazione o progetto. Per istruzioni su come attivare le impostazioni di configurazione, consulta Gestire le impostazioni di configurazione.

Esempi di impostazioni di configurazione

Gli esempi seguenti mostrano come impostare e rimuovere l'impostazione di configurazione enable_fine_grained_dataset_acls_option.

Configurare le impostazioni dell'organizzazione

Per configurare le impostazioni dell'organizzazione, utilizza l' ALTER ORGANIZATION SET OPTIONS istruzione DDL. L'esempio seguente imposta enable_fine_grained_dataset_acls_option su TRUE a livello di organizzazione:

ALTER ORGANIZATION
SET OPTIONS (
  `region-REGION.enable_fine_grained_dataset_acls_option` = TRUE);

Sostituisci REGION con la regione associata alla tua organizzazione, ad esempio us o europe-west6.

L'esempio seguente cancella l'impostazione enable_fine_grained_dataset_acls_option a livello di organizzazione:

ALTER ORGANIZATION
SET OPTIONS (
  `region-REGION.enable_fine_grained_dataset_acls_option` = FALSE);

Configurare le impostazioni del progetto

Per configurare le impostazioni progetto, utilizza l' ALTER PROJECT SET OPTIONS istruzione DDL. L'istruzione DDL ALTER PROJECT SET OPTIONS accetta facoltativamente la variabile project_id. Se project_id non è specificato, il valore predefinito è il progetto corrente in cui viene eseguita la query.

L'esempio seguente imposta enable_fine_grained_dataset_acls_option su TRUE.

ALTER PROJECT PROJECT_ID
SET OPTIONS (
  `region-REGION.enable_fine_grained_dataset_acls_option` = TRUE);

Sostituisci PROJECT_ID con l'ID progetto.

L'esempio seguente cancella l'impostazione enable_fine_grained_dataset_acls_option a livello di progetto:

ALTER PROJECT PROJECT_ID
SET OPTIONS (
  `region-REGION.enable_fine_grained_dataset_acls_option` = FALSE);

Modifiche ai ruoli personalizzati

Se attivi l'applicazione delle modifiche delle autorizzazioni, tutti i ruoli personalizzati che concedono l'autorizzazione bigquery.datasets.get, bigquery.datasets.create, o bigquery.datasets.update e non concedono anche l'autorizzazione bigquery.datasets.getIamPolicy o bigquery.datasets.setIamPolicy sono interessati.

Se vuoi mantenere la funzionalità esistente dei ruoli personalizzati, devi aggiornare tutti i ruoli personalizzati che includono solo l'autorizzazione bigquery.datasets.get, bigquery.datasets.update, o bigquery.datasets.create in modo da includere l'autorizzazione bigquery.datasets.getIamPolicy o bigquery.datasets.setIamPolicy. Se i tuoi ruoli personalizzati devono visualizzare o aggiornare solo i metadati di un set di dati, utilizza i nuovi parametri dataset_view e update_mode.

Questa modifica non influisce sui ruoli predefiniti di BigQuery. Tutti i ruoli predefiniti che concedono l'autorizzazione bigquery.datasets.get concedono anche l'autorizzazione bigquery.datasets.getIamPolicy. Tutti i ruoli predefiniti che concedono l'autorizzazione bigquery.datasets.update concedono anche l'autorizzazione bigquery.datasets.setIamPolicy.

Modifiche ai comandi dello strumento a riga di comando bq

Quando attivi l'applicazione anticipata, i seguenti comandi dello strumento bq sono interessati.

bq show

Puoi utilizzare il bq show comando con il seguente flag:

--dataset_view={METADATA|ACL|FULL}
Specifica come applicare le autorizzazioni quando visualizzi i controlli dell'accesso o i metadati di un set di dati. Utilizza uno dei seguenti valori:
  • METADATA: visualizza solo i metadati del set di dati. Questo valore richiede l'autorizzazione bigquery.datasets.get.
  • ACL: visualizza solo i controlli dell'accesso del set di dati. Questo valore richiede l'autorizzazione bigquery.datasets.getIamPolicy.
  • FULL: visualizza sia i metadati che i controlli dell'accesso del set di dati. Questo valore richiede l'autorizzazione bigquery.datasets.get e bigquery.datasets.getIamPolicy autorizzazioni.

bq update

Puoi utilizzare il bq update comando con il seguente flag:

--update_mode={UPDATE_METADATA|UPDATE_ACL|UPDATE_FULL}
Specifica come applicare le autorizzazioni quando aggiorni i controlli dell'accesso o i metadati di un set di dati. Utilizza uno dei seguenti valori:
  • UPDATE_METADATA: aggiorna solo i metadati del set di dati. Questo valore richiede l'autorizzazione bigquery.datasets.update.
  • UPDATE_ACL: aggiorna solo i controlli dell'accesso del set di dati. Questo valore richiede l'autorizzazione bigquery.datasets.setIamPolicy.
  • UPDATE_FULL: aggiorna sia i metadati che i controlli dell'accesso del set di dati. Questo valore richiede le autorizzazioni bigquery.datasets.update e bigquery.datasets.setIamPolicy.

Modifiche alle istruzioni Data Control Language (DCL)

Quando attivi l'applicazione anticipata, sono necessarie le seguenti autorizzazioni per eseguire GRANT e