Configurare i ruoli di BigQuery sharing

Per gestire l'accesso agli scambi di dati e alle schede di BigQuery sharing, concedi ruoli Identity and Access Management (IAM) specifici per BigQuery sharing (in precedenza Analytics Hub). Assegnando questi ruoli, controlli le autorizzazioni per i tuoi dati e contribuisci a garantire che solo gli utenti autorizzati possano scoprire, abbonarsi e gestire le risorse di condivisione dei dati.

Ruoli IAM di BigQuery sharing

Le sezioni seguenti descrivono i ruoli utente predefiniti di BigQuery sharing. Assegna questi ruoli per controllare l'accesso agli scambi di dati e alle schede.

Ruolo di amministratore di Analytics Hub

Per gestire gli scambi di dati, BigQuery sharing fornisce il ruolo di amministratore di Analytics Hub (roles/analyticshub.admin) che puoi concedere per un progetto o uno scambio di dati. Questo ruolo ti consente di:

  • Creare, aggiornare ed eliminare scambi di dati.
  • Creare, aggiornare, eliminare e condividere le schede.
  • Gestire gli amministratori di BigQuery sharing, gli amministratori delle schede, i publisher, gli abbonati e i visualizzatori.

Con questo ruolo, diventi un amministratore di BigQuery sharing.

Ruoli di publisher di Analytics Hub e amministratore delle schede

Per gestire le schede, BigQuery sharing fornisce i seguenti ruoli predefiniti che puoi concedere per un progetto, uno scambio di dati o una scheda:

Ruoli di abbonato e visualizzatore di Analytics Hub

Per visualizzare e abbonarti alle schede e agli scambi di dati, BigQuery sharing fornisce i seguenti ruoli predefiniti che puoi concedere per un progetto, uno scambio di dati o una scheda:

  • Ruolo di abbonato di Analytics Hub (roles/analyticshub.subscriber), che ti consente di visualizzare e abbonarti alle schede.

    Con questo ruolo, diventi un abbonato di BigQuery sharing.

  • Ruolo di visualizzatore di Analytics Hub (roles/analyticshub.viewer), che ti consente di visualizzare le schede e le autorizzazioni di scambio di dati.

    Con questo ruolo, diventi un visualizzatore di BigQuery sharing.

Ruolo di proprietario dell'abbonamento ad Analytics Hub

Per gestire gli abbonamenti, BigQuery sharing fornisce il seguente ruolo predefinito che puoi concedere per un progetto:

Con questo ruolo, diventi un proprietario dell'abbonamento a BigQuery sharing.

Concedere i ruoli IAM di BigQuery sharing

Puoi concedere i ruoli IAM ai seguenti livelli della gerarchia delle risorse:

  • Progetto. Se concedi un ruolo per un progetto, questo si applica a tutti gli scambi di dati e le schede del progetto.
  • Scambio di dati. Se concedi un ruolo per uno scambio di dati, questo si applica a tutte le schede dello scambio di dati.
  • Scheda. Se concedi un ruolo per una scheda, questo si applica solo a quella scheda specifica.

Concedere ruoli per un progetto

Per impostare le policy IAM su un progetto, devi disporre del ruolo Project IAM Admin (roles/resourcemanager.projectIamAdmin) per il progetto. Per concedere i ruoli IAM predefiniti di BigQuery sharing per un progetto, seleziona una delle seguenti opzioni:

Console

  1. Nella Google Cloud console vai alla pagina IAM.

    Vai a IAM

  2. Fai clic su Concedi accesso.

  3. Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui vuoi concedere l'accesso. Puoi specificare uno dei seguenti tipi di entità:

    • Indirizzo email dell'Account Google: test-user@gmail.com
    • Gruppo Google: admins@googlegroups.com
    • Service account: server@example.gserviceaccount.com
    • Dominio Google Workspace: example.com
  4. Nell'elenco Seleziona un ruolo, tieni il puntatore del mouse su Analytics Hub e seleziona uno dei seguenti ruoli:

    • Amministratore di Analytics Hub
    • Amministratore delle schede di Analytics Hub
    • Publisher di Analytics Hub
    • Abbonato di Analytics Hub
    • Proprietario dell'abbonamento ad Analytics Hub
    • Visualizzatore di Analytics Hub
  5. (Facoltativo) Per controllare ulteriormente l'accesso alle Google Cloud risorse, aggiungi un'associazione di ruoli condizionale.

  6. Fai clic su Salva.

gcloud

Per concedere i ruoli per un progetto, utilizza il gcloud projects add-iam-policy-binding comando:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto, ad esempio my-project-1.
  • PRINCIPAL: un'entità valida a cui vuoi concedere il ruolo. Puoi specificare uno dei seguenti tipi di entità:

    • Indirizzo email dell'Account Google: user:test-user@gmail.com
    • Gruppo Google: group:admins@googlegroups.com
    • Service account: serviceAccount:server@example.gserviceaccount.com
    • Dominio Google Workspace: domain:example.com

API

  1. Per leggere la policy esistente, utilizza il projects.getIamPolicy metodo:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Sostituisci PROJECT_ID con l'ID progetto, ad esempio my-project-1.

  2. Per aggiungere le entità e i relativi ruoli associati, modifica la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Ad esempio, per concedere il ruolo roles/analyticshub.admin a group:admins@googlegroups.com, aggiungi la seguente associazione alla policy:

    {
     "members": [
       "group:admins@googlegroups.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Per impostare una policy per un progetto, utilizza il projects.setIamPolicy metodo. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    Sostituisci PROJECT_ID con l'ID progetto, ad esempio my-project-1.

Puoi aggiornare ed eliminare i ruoli del progetto utilizzando lo stesso riquadro IAM.

Concedere ruoli per uno scambio di dati

Quando concedi le autorizzazioni per uno scambio di dati, devi utilizzare lettere minuscole per la località nel nome della risorsa. L'utilizzo di valori in maiuscolo o con maiuscole e minuscole può causare errori di autorizzazione negata.

I seguenti esempi mostrano formati di nomi di risorse validi e non validi:

  • Utilizza: projects/myproject/locations/us/dataExchanges/123
  • Evita: projects/myproject/locations/US/dataExchanges/123
  • Evita: projects/myproject/locations/Eu/dataExchanges/123

Per concedere i ruoli per uno scambio di dati, seleziona una delle seguenti opzioni:

Console

  1. Nella Google Cloud console, vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati per cui vuoi impostare le autorizzazioni.

  3. Fai clic sulla scheda Dettagli.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere le entità, fai clic su Aggiungi entità.

  6. Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui vuoi concedere l'accesso. Puoi anche utilizzare allUsers per rendere una risorsa pubblica e accessibile a chiunque su internet o allAuthenticatedUsers per renderla accessibile solo agli utenti Google che hanno eseguito l'accesso.

  7. Nell'elenco Seleziona un ruolo, tieni il puntatore del mouse su Analytics Hub e seleziona uno dei seguenti ruoli IAM:

    • Amministratore di Analytics Hub
    • Amministratore delle schede di Analytics Hub
    • Publisher di Analytics Hub
    • Abbonato di Analytics Hub
    • Proprietario dell'abbonamento ad Analytics Hub
    • Visualizzatore di Analytics Hub
  8. Fai clic su Salva.

API

  1. Per leggere la policy esistente, utilizza il projects.locations.dataExchanges.getIamPolicy metodo:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto, ad esempio my-project-1.
    • LOCATION: la località dello scambio di dati. Utilizza lettere minuscole.
    • DATAEXCHANGE_ID: l'ID piattaforma di scambio.

    BigQuery sharing restituisce la policy corrente.

  2. Per aggiungere o rimuovere i membri e i relativi ruoli IAM associati, modifica la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Ad esempio, per concedere il ruolo roles/analyticshub.subscriber a group:subscribers@googlegroups.com, aggiungi la seguente associazione alla policy:

    {
     "members": [
       "group:subscribers@googlegroups.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Per impostare la policy per lo scambio di dati, utilizza il projects.locations.dataExchanges.setIamPolicy metodo. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

Puoi aggiornare ed eliminare i ruoli di scambio di dati utilizzando lo stesso riquadro IAM.

Concedere ruoli per una scheda

Quando concedi le autorizzazioni per una scheda, devi utilizzare lettere minuscole per la località nel nome della risorsa. L'utilizzo di valori in maiuscolo o con maiuscole e minuscole può causare errori di autorizzazione negata.

I seguenti esempi mostrano formati di nomi di risorse validi e non validi:

  • Utilizza: projects/myproject/locations/us/dataExchanges/123/listings/456
  • Evita: projects/myproject/locations/US/dataExchanges/123/listings/456
  • Evita: projects/myproject/locations/Eu/dataExchanges/123/listings/456

Per concedere i ruoli per una scheda, seleziona una delle seguenti opzioni:

Console

  1. Nella Google Cloud console, vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati che contiene la scheda.

  3. Fai clic sulla scheda per cui vuoi impostare le autorizzazioni.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere le entità, fai clic su Aggiungi entità.

  6. Nel campo Nuove entità, inserisci l'indirizzo email dell'entità a cui vuoi concedere l'accesso.

  7. Nell'elenco Seleziona un ruolo, tieni il puntatore del mouse su Analytics Hub e seleziona uno dei seguenti ruoli IAM:

    • Amministratore di Analytics Hub
    • Amministratore delle schede di Analytics Hub
    • Publisher di Analytics Hub
    • Abbonato di Analytics Hub
    • Proprietario dell'abbonamento ad Analytics Hub
    • Visualizzatore di Analytics Hub
  8. Fai clic su Salva.

API

  1. Per leggere la policy esistente, utilizza il projects.locations.dataExchanges.listings.getIamPolicy metodo:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID progetto, ad esempio my-project-1.
    • LOCATION: la località dello scambio di dati che contiene la scheda. Utilizza lettere minuscole.
    • DATAEXCHANGE_ID: l'ID piattaforma di scambio.
    • LISTING_ID: l'ID della scheda.

    BigQuery sharing restituisce la policy corrente.

  2. Per aggiungere o rimuovere i membri e i relativi ruoli IAM associati, modifica la policy con un editor di testo. Utilizza il seguente formato per aggiungere membri:

    • user:test-user@gmail.com
    • group:admins@googlegroups.com
    • serviceAccount:server@example.gserviceaccount.com
    • domain:example.com

    Ad esempio, per concedere il ruolo roles/analyticshub.publisher a group:publishers@googlegroups.com, aggiungi la seguente associazione alla policy:

    {
     "members": [
       "group:publishers@googlegroups.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Per impostare la policy per la scheda, utilizza il projects.locations.dataExchanges.listings.setIamPolicy metodo. Nel corpo della richiesta, fornisci la policy IAM aggiornata del passaggio precedente:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:setIamPolicy
    

Puoi aggiornare ed eliminare i ruoli delle schede utilizzando lo stesso riquadro IAM.

Passaggi successivi