Configurare i ruoli di BigQuery sharing

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

Ruoli IAM di BigQuery sharing

Le seguenti sezioni descrivono i ruoli predefiniti di BigQuery sharing. Puoi assegnare questi ruoli agli utenti per eseguire varie attività sugli scambi di dati e sulle inserzioni.

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 Google Cloud progetto o uno scambio di dati. Questo ruolo consente agli utenti di eseguire le seguenti operazioni:

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

Con questo ruolo, diventi un amministratore di BigQuery sharing.

Ruoli di publisher di Analytics Hub e amministratore delle inserzioni

Per gestire le inserzioni, Sharing fornisce i seguenti ruoli predefiniti che puoi concedere per un progetto, uno scambio di dati o un'inserzione:

Ruoli di abbonato e visualizzatore di Analytics Hub

Per visualizzare e abbonarsi alle inserzioni e agli scambi di dati, Sharing fornisce i seguenti ruoli predefiniti che puoi concedere per un progetto, uno scambio di dati o un'inserzione:

  • Ruolo di abbonato di Analytics Hub (roles/analyticshub.subscriber), che consente agli utenti di visualizzare e abbonarsi alle inserzioni.

    Con questo ruolo, diventi un abbonato di BigQuery sharing.

  • Ruolo di visualizzatore di Analytics Hub (roles/analyticshub.viewer), che consente agli utenti di visualizzare le inserzioni 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, Sharing fornisce il seguente ruolo predefinito che puoi concedere a livello di progetto:

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

Concedere i ruoli IAM di BigQuery sharing

A seconda delle tue esigenze, 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 inserzioni del progetto.
  • Scambio di dati. Se concedi un ruolo per uno scambio di dati, questo si applica a tutte le inserzioni dello scambio di dati.
  • Scheda. Se concedi un ruolo per un'inserzione, questo si applica solo a quella specifica inserzione.

Concedere il ruolo per un progetto

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

Console

  1. Vai a IAM per il progetto.

    Vai a IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'indirizzo email dell'identità a cui vuoi concedere l'accesso. Ad esempio:

    • Email 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 inserzioni 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. Salva le modifiche.

    Puoi eliminare e aggiornare gli amministratori del progetto utilizzando lo stesso riquadro IAM.

gcloud

Per concedere i ruoli a livello di 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: il progetto, ad esempio my-project-1.
  • PRINCIPAL: un'identità valida a cui vuoi assegnare il ruolo. Ad esempio:

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

API

  1. Leggi la policy esistente con il metodo getIamPolicy della risorsa. Per i progetti, utilizza il projects.getIamPolicy metodo.

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

    Sostituisci PROJECT_ID con il 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@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

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

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Scrivi la policy aggiornata utilizzando il metodo setIamPolicy.

    Ad esempio, per impostare una policy a livello di progetto, utilizza il project.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.

Concedere il ruolo per uno scambio di dati

Per concedere il ruolo per uno scambio di dati:

Console

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

    Vai a Sharing (Analytics Hub)

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

  3. Vai alla scheda Dettagli.

  4. Fai clic su Imposta autorizzazioni.

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

  6. Nel campo Nuove entità, aggiungi gli ID email a cui vuoi concedere l'accesso. Puoi anche utilizzare allUsers per rendere una risorsa pubblica e accessibile a tutti su internet oppure allAuthenticatedUsers per renderla accessibile solo agli utenti Google che hanno eseguito l'accesso.

  7. Nel menu Seleziona un ruolo, seleziona Analytics Hub, quindi seleziona uno dei seguenti ruoli Identity and Access Management (IAM):

    • Amministratore di Analytics Hub
    • Amministratore delle inserzioni 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. Leggi la policy esistente con il metodo getIamPolicy dell'inserzione utilizzando 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 (in precedenza Analytics Hub) restituisce la policy corrente.

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

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

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

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Scrivi la policy aggiornata utilizzando 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
    

    Nel corpo della richiesta, fornisci i dettagli dell'inserzione. Se la richiesta va a buon fine, il corpo della risposta contiene i dettagli dell'inserzione.

Quando concedi le autorizzazioni a livello di risorsa, ad esempio su uno scambio di dati, devi utilizzare lettere minuscole per la parte relativa alla località del nome della risorsa. L'utilizzo di valori in maiuscolo o con maiuscole e minuscole può causare errori Permission Denied.

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

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

Concedere il ruolo per un'inserzione

Per concedere il ruolo per un'inserzione:

Console

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

    Vai a Sharing (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati che contiene l'inserzione.

  3. Fai clic sulla scheda per cui vuoi aggiungere utenti.

  4. Fai clic su Imposta autorizzazioni.

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

  6. Nel campo Nuove entità, aggiungi gli ID email dell'identità a cui vuoi concedere l'accesso.

  7. Nel menu Seleziona un ruolo, seleziona Analytics Hub, quindi seleziona uno dei seguenti ruoli Identity and Access Management (IAM):

    • Amministratore di Analytics Hub
    • Amministratore delle inserzioni 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. Leggi la policy esistente con il metodo getIamPolicy dell'inserzione utilizzando 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 l'inserzione. Utilizza lettere minuscole.
    • DATAEXCHANGE_ID: l'ID piattaforma di scambio.
    • LISTING_ID: l'ID della scheda.

    Sharing restituisce la policy corrente.

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

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

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

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Scrivi la policy aggiornata utilizzando 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
    

    Nel corpo della richiesta, fornisci i dettagli dell'inserzione. Se la richiesta va a buon fine, il corpo della risposta contiene i dettagli dell'inserzione.

Quando concedi le autorizzazioni a livello di risorsa, ad esempio su un'inserzione, devi utilizzare lettere minuscole per la parte relativa alla località del nome della risorsa. L'utilizzo di valori in maiuscolo o con maiuscole e minuscole può causare errori Permission Denied.

  • 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

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

Passaggi successivi