Gestire gli scambi di dati nella condivisione BigQuery

In qualità di amministratore di BigQuery sharing, puoi eseguire le seguenti operazioni in BigQuery sharing (in precedenza Analytics Hub):

  • Creare, aggiornare, visualizzare, condividere ed eliminare scambi di dati.
  • Crea, aggiorna, elimina e condividi schede.
  • Gestisci gli amministratori di BigQuery sharing, gli amministratori delle schede, i publisher, i sottoscrittori e i visualizzatori.

Per impostazione predefinita, uno scambio di dati è privato e solo gli utenti o i gruppi che hanno accesso a questo scambio possono visualizzare o abbonarsi ai dati. Tuttavia, se vuoi che le schede vengano scoperte e sottoscritte dagli utentiGoogle Cloud (allAuthenticatedUsers), puoi richiedere di rendere pubblico lo scambio di dati.

Prima di iniziare

Per iniziare a utilizzare BigQuery sharing (in precedenza Analytics Hub), devi abilitare l'API Analytics Hub all'interno del tuo progetto Google Cloud .

Per abilitare l'API Analytics Hub, devi disporre delle seguenti autorizzazioni IAM (Identity and Access Management):

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

Il seguente ruolo IAM predefinito include le autorizzazioni necessarie per abilitare l'API Analytics Hub:

Per attivare l'API Analytics Hub, seleziona una delle seguenti opzioni:

Console

Vai alla pagina API Analytics Hub e abilita l'API Analytics Hub per il tuo progetto Google Cloud .

Abilitare l'API Analytics Hub

gcloud

Esegui il comando gcloud services enable:

gcloud services enable analyticshub.googleapis.com

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire gli scambi di dati, chiedi all'amministratore di concederti il ruolo IAM Analytics Hub Admin (roles/analyticshub.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Creare uno scambio di dati

Per creare uno scambio di dati:

Console

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic su Crea scambio.

  3. Nella finestra di dialogo Crea scambio, seleziona un progetto e una regione per lo scambio di dati. Non puoi aggiornare il progetto e la regione dopo aver creato lo scambio di dati.

  4. In Nome visualizzato, inserisci un nome per lo scambio di dati.

  5. (Facoltativo) Inserisci i valori nei seguenti campi:

    • Contatto principale: inserisci l'URL o l'indirizzo email del contatto principale per lo scambio di dati.
    • Descrizione: inserisci una descrizione dello scambio di dati.
  6. Per registrare gli identificatori principali di tutti gli utenti che eseguono job e query sui set di dati collegati, fai clic sull'opzione Registrazione email dei sottoscrittori. Quando attivi questa opzione, tutte le schede future nello scambio di dati avranno il logging email dei sottoscrittori attivato. I dati registrati sono disponibili nel campo job_principal_subject della visualizzazione INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

  7. Per attivare la rilevabilità pubblica, fai clic sul pulsante di attivazione/disattivazione Rilevabilità pubblica. Una volta che un exchange è rilevabile pubblicamente, tutte le schede dell'exchange vengono visualizzate e possono essere cercate nel catalogo. Se attivi la visibilità pubblica, devi configurare le autorizzazioni di scambio. A causa dell'ereditarietà delle autorizzazioni, tutte le schede verranno impostate per impostazione predefinita con lo stesso tipo di rilevabilità pubblica dello scambio. Pertanto, gli scambi pubblici non possono avere schede private, ma gli scambi privati possono avere schede pubbliche (ad esempio, puoi impostare il tipo di visibilità pubblica a livello di singola scheda). Il progetto in cui stai creando lo scambio di dati deve avere un'organizzazione e un account di fatturazione associati.

  8. Fai clic su Crea scambio.

  9. (Facoltativo) Nella sezione Exchange Permissions (Autorizzazioni di Exchange), segui questi passaggi:

    1. Inserisci gli indirizzi email nei seguenti campi per concedere i ruoli IAM (Identity and Access Management):

    2. Per salvare le autorizzazioni, fai clic su Imposta autorizzazioni.

  10. Se non hai impostato le autorizzazioni per lo scambio di dati, fai clic su Salta.

API

Utilizza il metodo projects.locations.dataExchanges.create.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui vuoi creare lo scambio di dati.
  • LOCATION: la posizione dello scambio di dati. Per ulteriori informazioni sulle località che supportano BigQuery sharing (in precedenza Analytics Hub), consulta Regioni supportate.
  • DATAEXCHANGE_ID: l'ID del tuo scambio di dati.

Nel corpo della richiesta, fornisci i dettagli dello scambio di dati.

Se la richiesta ha esito positivo, il corpo della risposta contiene i dettagli dello scambio di dati.

Se abiliti la registrazione delle email dei sottoscrittori con il campo logLinkedDatasetQueryUserEmail, la risposta allo scambio di dati contiene log_linked_dataset_query_user_email: true. I dati registrati sono disponibili nel campo job_principal_subject della INFORMATION_SCHEMA.SHARED_DATASET_USAGE visualizzazione.

Per ulteriori informazioni sulle attività che puoi eseguire sugli scambi di dati utilizzando le API, consulta i metodi projects.locations.dataExchanges.

Aggiornare uno scambio di dati

Per aggiornare uno scambio di dati:

Console

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, fai clic su uno scambio di dati che vuoi aggiornare.

  3. Vai alla scheda Dettagli.

  4. Fai clic su Modifica scambio.

  5. Nella finestra di dialogo Modifica scambio, aggiorna i seguenti campi:

    • Nome visualizzato
    • Contatto principale
    • Descrizione
    • Rilevabilità pubblica
      • Se attivi la visibilità pubblica, assegna il ruolo Visualizzatore Analytics Hub (roles/analyticshub.viewer) a allUsers o allAuthenticatedUsers.
      • Se disattivi la visibilità pubblica, rimuovi il ruolo Visualizzatore Analytics Hub (roles/analyticshub.viewer) da allUsers o allAuthenticatedUsers. Gli scambi pubblici non possono avere schede private, ma gli scambi privati possono avere schede pubbliche.
    • Logging email dei sottoscrittori

  6. Fai clic su Salva.

API

Utilizza il metodo projects.locations.dataExchanges.patch.

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK

Sostituisci UPDATEMASK con l'elenco dei campi che vuoi aggiornare. Per aggiornare più valori, utilizza un elenco separato da virgole. Ad esempio, per aggiornare il nome visualizzato e il contatto principale per uno scambio di dati, inserisci displayName,primaryContact.

Nel corpo della richiesta, specifica i valori aggiornati per i seguenti campi:

  • displayName
  • description
  • primaryContact
  • documentation
  • icon
  • discoveryType
  • logLinkedDatasetQueryUserEmail

Per informazioni dettagliate su questi campi, vedi Risorsa: DataExchange.

Per ulteriori informazioni sulle attività che puoi eseguire sugli scambi di dati utilizzando le API, consulta i metodi projects.locations.dataExchanges.

Visualizzare gli scambi di dati

Per visualizzare gli scambi di dati nel tuo progetto o nella tua organizzazione a cui hai accesso:

Console

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Visualizza l'elenco degli scambi di dati all'interno del tuo progetto Google Cloud . Se disponi dell'autorizzazione resourcemanager.organizations.get, puoi anche visualizzare l'elenco degli scambi di dati all'interno della tua organizzazione Google Cloud .

API

Per visualizzare gli scambi di dati nel tuo progetto, utilizza il metodo projects.locations.dataExchanges.list:

GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto
  • LOCATION: la località per cui vuoi elencare gli scambi di dati esistenti.

Per visualizzare gli scambi di dati nella tua organizzazione, utilizza il metodo organizations.locations.dataExchanges.list:

GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges

Sostituisci quanto segue:

  • ORGANIZATION_ID: l'ID organizzazione. Per saperne di più, consulta Ottenere l'ID organizzazione.
  • LOCATION: la località per cui vuoi elencare gli scambi di dati esistenti.

Condividere uno scambio di dati

Se l'editore della condivisione di BigQuery appartiene a un'organizzazione diversa da quella che contiene l'exchange di dati, non può visualizzare l'exchange di dati in Condivisione. Devi condividere un link allo scambio di dati con il publisher.

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, fai clic su Altre opzioni.

  3. Fai clic su Copia link di condivisione.

Concedere agli utenti l'accesso a uno scambio di dati

Per concedere agli utenti l'accesso a uno scambio di dati, devi impostare il criterio IAM per lo scambio di dati. Per informazioni sui ruoli utente IAM predefiniti, vedi Ruoli IAM di condivisione di BigQuery. Per farlo, segui questi passaggi:

Console

  1. Nella console Google Cloud , 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. Vai alla scheda Dettagli.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere 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 IAM (Identity and Access Management):

    • Analytics Hub Admin
    • Analytics Hub Listing Admin
    • Analytics Hub Publisher
    • Analytics Hub Subscriber
    • Analytics Hub Subscription Owner
    • Analytics Hub Viewer
  8. Fai clic su Salva.

API

  1. Leggi la policy esistente con il metodo getIamPolicy dell'elenco utilizzando il metodo projects.locations.dataExchanges.getIamPolicy:

    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 posizione per lo scambio di dati. Utilizza lettere minuscole.
    • DATAEXCHANGE_ID: l'ID piattaforma di scambio di dati.

    BigQuery sharing (in precedenza Analytics Hub) restituisce le norme attuali.

  2. Per aggiungere o rimuovere i membri e i relativi ruoli IAM (Identity and Access Management) 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 metodo projects.locations.dataExchanges.setIamPolicy. 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 della scheda. Se la richiesta va a buon fine, il corpo della risposta contiene i dettagli della scheda.

Creare amministratori della condivisione BigQuery

Per gestire gli scambi di dati, devi creare amministratori di scambi di dati concedendo agli utenti il ruolo Amministratore Analytics Hub (roles/analyticshub.admin) a livello di progetto o di scambio di dati.

Se vuoi che gli amministratori gestiscano tutti gli scambi di dati in un progetto, concedi il ruolo di amministratore di Analytics Hub per quel progetto.

Se vuoi che gli amministratori gestiscano uno scambio di dati specifico, allora concedi il ruolo Amministratore Analytics Hub per quello scambio di dati.

Rendere pubblico uno scambio di dati

Per impostazione predefinita, uno scambio di dati è privato e solo gli utenti o i gruppi che hanno accesso a questo scambio possono visualizzare o iscriversi ai relativi elenchi. Tuttavia, puoi scegliere di rendere pubblico uno scambio di dati. Le schede negli exchange di dati pubblici possono essere scoperte e sottoscritte dagli utenti diGoogle Cloud (allAuthenticatedUsers).

Per rendere pubblico uno scambio di dati:

  1. Per consentire a allAuthenticatedUsers di visualizzare le schede, devi concedere agli utenti il ruolo Visualizzatore di Analytics Hub (roles/analyticshub.viewer) a livello di scambio di dati.

  2. Per consentire a allAuthenticatedUsers di iscriversi alle schede, devi concedere agli utenti il ruolo di abbonato di Analytics Hub (roles/analyticshub.subscriber) a livello di scambio di dati.

  3. Attiva la visibilità pubblica quando crei o aggiorni uno scambio di dati. Specifica le autorizzazioni appropriate quando rendi pubblico uno scambio di dati.

Eliminare uno scambio di dati

Quando uno scambio di dati viene eliminato, vengono eliminate anche tutte le schede al suo interno. Tuttavia, i set di dati condivisi e collegati non vengono eliminati. Inoltre, quando un progetto viene eliminato, gli scambi di dati al suo interno non vengono eliminati. Devi eliminare questi scambi di dati prima di eliminare il progetto. Se elimini uno scambio di dati, non puoi annullare l'operazione.

Prima di eliminare uno scambio di dati, devi eseguire i seguenti passaggi in base alla configurazione dello scambio di dati:

Per eliminare uno scambio di dati:

Console

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, fai clic su quello che vuoi eliminare.

  3. Vai alla scheda Dettagli.

  4. Fai clic su Elimina scambio.

  5. Nella finestra di dialogo Eliminare lo scambio?, conferma l'eliminazione digitando elimina.

  6. Fai clic su Elimina.

API

Utilizza il metodo projects.locations.dataExchanges.delete.

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

Per ulteriori informazioni sulle attività che puoi eseguire sugli scambi di dati utilizzando le API, consulta i metodi projects.locations.dataExchanges.

Passaggi successivi