Gestire gli scambi di dati

Puoi utilizzare gli exchange di dati in BigQuery sharing per condividere i set di dati in modo sicuro tra progetti, organizzazioni o con il pubblico. In qualità di amministratore della condivisione di BigQuery, puoi eseguire le seguenti attività:

  • Creare, aggiornare, visualizzare, condividere ed eliminare scambi di dati.
  • Gestisci le autorizzazioni di accesso e i ruoli per gli scambi di dati.
  • Rendere gli scambi di dati rilevabili pubblicamente.

Per gestire le schede all'interno di uno scambio di dati, vedi Gestire le schede.

Per impostazione predefinita, uno scambio di dati è privato. Solo gli utenti o i gruppi che hanno accesso a un exchange possono visualizzare o iscriversi ai relativi annunci. Puoi rendere pubblico lo scambio di dati. Se rendi pubblico il tuo Data Exchange, gli utenti diGoogle Cloud (allAuthenticatedUsers) possono scoprire e iscriversi alle schede.

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 abilitare 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

Puoi creare uno scambio di dati per condividere i set di dati con persone, gruppi o il pubblico specifici. Quando crei uno scambio di dati, specifichi il progetto, la regione, il nome visualizzato e le impostazioni facoltative, come la registrazione delle email degli abbonati e la rilevabilità pubblica.

Per creare uno scambio di dati:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (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 modificare il progetto e la regione dopo aver creato lo scambio di dati.

  4. Nel campo 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 per attivarla. Quando attivi questa impostazione, il logging email dei sottoscrittori viene attivato per tutte le schede future nello scambio di dati. I dati registrati sono disponibili nel campo job_principal_subject della visualizzazione INFORMATION_SCHEMA.SHARED_DATASET_USAGE.

  7. Per rendere lo scambio rilevabile pubblicamente, fai clic sul pulsante di attivazione/disattivazione Rilevabilità pubblica in modo che sia impostato su On. Quando un exchange è pubblicamente rilevabile, tutte le schede dell'exchange vengono visualizzate e sono disponibili per la ricerca nel catalogo. Tieni in considerazione i seguenti fattori quando attivi la visibilità pubblica:

    • Ereditarietà delle schede: per impostazione predefinita, tutte le schede ereditano l'impostazione di visibilità pubblica dello scambio di dati. Gli scambi pubblici non possono avere schede private, ma gli scambi privati possono avere schede pubbliche. Puoi configurare il tipo di rilevabilità pubblica a livello di singola scheda.
    • Autorizzazioni: se attivi la visibilità pubblica, configura le autorizzazioni di scambio per concedere il ruolo Visualizzatore Hub Analytics (roles/analyticshub.viewer) a allUsers o allAuthenticatedUsers.
    • Requisiti del progetto: il progetto in cui crei lo scambio di dati deve avere un'organizzazione e un account di fatturazione associati.
  8. Per creare lo scambio di dati, fai clic su Crea scambio.

  9. (Facoltativo) Nella sezione Autorizzazioni di Exchange, completa i seguenti passaggi:

    1. Nei seguenti campi, inserisci gli indirizzi email 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

Per creare uno scambio di dati, utilizza il metodo projects.locations.dataExchanges.create:

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/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 maggiori informazioni sulle regioni che supportano BigQuery sharing, vedi 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 dello 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.

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

Puoi aggiornare la configurazione di uno scambio di dati esistente, ad esempio il nome visualizzato, la descrizione, il contatto principale e le impostazioni di visibilità pubblica. Non puoi modificare il progetto o la regione di uno scambio di dati esistente.

Per aggiornare uno scambio di dati:

Console

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

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, seleziona quello che vuoi aggiornare.

  3. Fai clic sulla scheda Dettagli.

  4. Fai clic su Modifica scambio.

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

    • Nome visualizzato: inserisci un nuovo nome visualizzato.
    • Contatto principale: inserisci un URL o un indirizzo email aggiornato.
    • Descrizione: inserisci una descrizione aggiornata.
    • Rilevabilità pubblica: attiva o disattiva la rilevabilità pubblica.

      • Se attivi la visibilità pubblica, concedi 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: attiva o disattiva il logging email dei sottoscrittori.

  6. Per applicare le modifiche, fai clic su Salva.

API

Per aggiornare uno scambio di dati, utilizza il metodo projects.locations.dataExchanges.patch:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'exchange di dati.
  • LOCATION: la posizione dello scambio di dati.
  • DATAEXCHANGE_ID: l'ID del tuo scambio di dati.
  • UPDATEMASK: un elenco separato da virgole dei campi che vuoi aggiornare (ad esempio, displayName,primaryContact).

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

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

Per saperne di più su questi campi, consulta 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

Puoi visualizzare l'elenco degli scambi di dati nel tuo Google Cloud progetto o nella tua organizzazione a cui hai l'autorizzazione di accedere.

Per visualizzare gli scambi di dati, segui questi passaggi:

Console

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

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, visualizza gli scambi di dati mostrati per il tuo progettoGoogle Cloud . Se hai l'autorizzazione resourcemanager.organizations.get, puoi anche visualizzare gli scambi di dati nella 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/locations/LOCATION/dataExchanges

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui vuoi elencare gli scambi di dati.
  • LOCATION: la località in 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/locations/LOCATION/dataExchanges

Sostituisci quanto segue:

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

Condividere uno scambio di dati

Se un publisher di condivisione BigQuery appartiene a un'organizzazione diversa da quella che contiene l'exchange di dati, non può sfogliare o visualizzare l'exchange di dati nella condivisione BigQuery. Per consentire al publisher di accedere allo scambio di dati, puoi copiare e condividere un link diretto.

Per condividere un link a uno scambio di dati:

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

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, trova quello che vuoi condividere e fai clic su Altre opzioni.

  3. Per copiare il link negli appunti, 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, imposta il criterio IAM per lo scambio di dati. Per saperne di più sui ruoli utente IAM predefiniti, consulta Ruoli IAM di condivisione di BigQuery.

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. Fai clic sulla scheda Dettagli.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere 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 tutti su internet oppure 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 poi seleziona uno dei seguenti ruoli IAM:

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

API

  1. Per leggere la policy esistente, utilizza 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 dello scambio di dati. Utilizza lettere minuscole.
    • DATAEXCHANGE_ID: l'ID piattaforma di scambio.

    La condivisione di BigQuery restituisce la policy attuale.

  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.
    • 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 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
    

Creare amministratori della condivisione BigQuery

Per delegare la gestione dello scambio di dati, puoi creare amministratori dello scambio di dati concedendo agli utenti il ruolo Amministratore di Analytics Hub (roles/analyticshub.admin) a livello di progetto o di scambio di dati.

Rendere pubblico uno scambio di dati

Per impostazione predefinita, uno scambio di dati è privato. Solo gli utenti o i gruppi che hanno accesso a un exchange possono visualizzare o iscriversi ai relativi annunci. Puoi rendere pubblico uno scambio di dati, il che consente agli utentiGoogle Cloud (allAuthenticatedUsers) di scoprire le relative schede e iscriversi.

Per rendere pubblico uno scambio di dati:

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

  2. Per consentire a allAuthenticatedUsers di iscriversi alle schede, concedi il ruolo Abbonato ad Analytics Hub (roles/analyticshub.subscriber) a livello di scambio di dati.

  3. Quando crei o aggiorni uno scambio di dati, fai clic sul pulsante di attivazione/disattivazione Rilevabilità pubblica per attivarlo.

Eliminare uno scambio di dati

Quando elimini uno scambio di dati, vengono eliminate anche tutte le schede al suo interno. I set di dati condivisi e collegati non vengono eliminati. L'eliminazione di un progetto non comporta l'eliminazione automatica dei relativi scambi di dati, pertanto devi eliminare tutti gli scambi di dati prima di chiudere il progetto. Non puoi annullare l'eliminazione di uno scambio di dati.

Prima di eliminare uno scambio di dati, completa i seguenti prerequisiti in base alla configurazione dello scambio di dati:

Per eliminare uno scambio di dati:

Console

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

    Vai a Condivisione (Analytics Hub)

  2. Nell'elenco degli scambi di dati, seleziona quello che vuoi eliminare.

  3. Fai clic sulla scheda Dettagli.

  4. Fai clic su Elimina scambio.

  5. Nella finestra di dialogo Eliminare lo scambio?, conferma l'eliminazione inserendo delete.

  6. Per eliminare definitivamente lo scambio di dati, fai clic su Elimina.

API

Per eliminare uno scambio di dati, utilizza il metodo projects.locations.dataExchanges.delete:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene l'exchange di dati.
  • LOCATION: la posizione dello scambio di dati. Per maggiori informazioni sulle regioni che supportano BigQuery sharing, vedi Regioni supportate.
  • DATAEXCHANGE_ID: l'ID del tuo scambio di dati.

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

Passaggi successivi