Gestire gli scambi di dati
Questo documento descrive come gestire gli scambi di dati in BigQuery sharing (in precedenza Analytics Hub). In qualità di amministratore della condivisione di BigQuery, puoi:
- 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. Solo gli utenti o i gruppi con accesso
a un exchange possono visualizzare o abbonarsi ai relativi dati. Puoi richiedere di
rendere pubblico lo scambio di dati.
Se rendi pubblico lo scambio di dati, gli
utenti (allAuthenticatedUsers)
possono
scoprire
e
iscriversi
alle schede.Google Cloud
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.getserviceUsage.services.listserviceUsage.services.enable
Il seguente ruolo IAM predefinito include le autorizzazioni necessarie per abilitare l'API Analytics Hub:
- Amministratore Service Usage (
roles/serviceusage.serviceUsageAdmin)
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 .
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
Vai alla pagina Sharing (Analytics Hub).
Fai clic su Crea scambio.
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.
Nel campo Nome visualizzato, inserisci un nome per lo scambio di dati.
(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.
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_subjectdella visualizzazioneINFORMATION_SCHEMA.SHARED_DATASET_USAGE.Per attivare la rilevabilità pubblica, fai clic sul pulsante di attivazione/disattivazione Rilevabilità pubblica. Quando un exchange è rilevabile pubblicamente, tutte le schede dell'exchange vengono visualizzate e sono ricercabili nel catalogo. Se attivi la visibilità pubblica, configura le autorizzazioni di Exchange. Per impostazione predefinita, tutte le schede ereditano l'impostazione di rilevabilità pubblica dello scambio di dati. Questa ereditarietà delle impostazioni significa che gli scambi pubblici non possono avere schede private, ma gli scambi privati possono avere schede pubbliche. Puoi impostare il tipo di visibilità pubblica a livello di singola scheda. Il progetto in cui crei lo scambio di dati deve avere un'organizzazione e un account di fatturazione associati.
Fai clic su Crea scambio.
(Facoltativo) Nella sezione Autorizzazioni di Exchange, completa i seguenti passaggi:
Inserisci gli indirizzi email nei seguenti campi per concedere i ruoli Identity and Access Management (IAM):
- Amministratori: assegna a questi utenti il
ruolo Amministratore Analytics Hub
(
roles/analyticshub.admin). - Publisher: assegna a questi utenti il
ruolo Publisher di Analytics Hub
(
roles/analyticshub.publisher). Per informazioni sulle attività che i publisher di condivisione di BigQuery possono eseguire, consulta Gestire le schede. - Iscritti: assegna a questi utenti il
ruolo Iscritto ad Analytics Hub
(
roles/analyticshub.subscriber). Per informazioni sulle attività che possono essere eseguite dai sottoscrittori di BigQuery sharing, consulta Visualizzare le schede e gli scambi di dati e abbonarsi. Visualizzatori: assegna a questi utenti il ruolo Visualizzatore Analytics Hub (
roles/analyticshub.viewer). I visualizzatori della condivisione BigQuery possono visualizzare le schede.Se la visibilità pubblica è attivata, assegna il ruolo Visualizzatore di Analytics Hub a
allUsersoallAuthenticatedUsers.
- Amministratori: assegna a questi utenti il
ruolo Amministratore Analytics Hub
(
Per salvare le autorizzazioni, fai clic su Imposta autorizzazioni.
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 maggiori informazioni sulle località che supportano la condivisione di BigQuery, 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
Vai alla pagina Sharing (Analytics Hub).
Nell'elenco degli scambi di dati, seleziona quello da aggiornare.
Vai alla scheda Dettagli.
Fai clic su Modifica scambio.
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) aallUsersoallAuthenticatedUsers. - Se disattivi la visibilità pubblica, rimuovi il ruolo
Visualizzatore Analytics Hub (
roles/analyticshub.viewer) daallUsersoallAuthenticatedUsers. Gli scambi pubblici non possono avere schede private, ma gli scambi privati possono avere schede pubbliche.
- Se attivi la visibilità pubblica, assegna il ruolo
Visualizzatore Analytics Hub (
Logging email dei sottoscrittori
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:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
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
Vai alla pagina Sharing (Analytics Hub).
La pagina mostra gli scambi di dati nel tuo progetto Google Cloud . Se disponi dell'autorizzazione
resourcemanager.organizations.get, puoi visualizzare anche 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/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à in cui vuoi elencare gli scambi di dati esistenti.
Condividere uno scambio di dati
Se il publisher della condivisione di BigQuery appartiene a un'organizzazione diversa da quella che contiene l'exchange di dati, non può visualizzare l'exchange di dati nella condivisione di BigQuery. Condividi un link allo scambio di dati con il publisher.
Vai alla pagina Sharing (Analytics Hub).
Nell'elenco degli scambi di dati, fai clic su Altre opzioni.
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.
Console
Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).
Fai clic sul nome dello scambio di dati per cui vuoi impostare le autorizzazioni.
Vai alla scheda Dettagli.
Fai clic su Imposta autorizzazioni.
Per aggiungere entità, fai clic su Aggiungi entità.
Nel campo Nuove entità, aggiungi gli ID email a cui vuoi concedere l'accesso. Puoi anche utilizzare
allUsersper rendere una risorsa pubblica e accessibile a tutti su internet oppureallAuthenticatedUsersper renderla accessibile solo agli utenti Google che hanno eseguito l'accesso.Nel menu Seleziona un ruolo, seleziona Analytics Hub e poi uno dei seguenti ruoli Identity and Access Management (IAM):
- Analytics Hub Admin
- Analytics Hub Listing Admin
- Analytics Hub Publisher
- Analytics Hub Subscriber
- Analytics Hub Subscription Owner
- Analytics Hub Viewer
Fai clic su Salva.
API
Leggi la policy esistente con il metodo
getIamPolicydell'elenco utilizzando il metodoprojects.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 esempiomy-project-1.LOCATION: la posizione dello 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.
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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Ad esempio, per concedere il ruolo
roles/analyticshub.subscriberagroup:subscribers@example.com, aggiungi la seguente associazione alla policy:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }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 ha esito positivo, il corpo della risposta contiene i dettagli della scheda.
Creare amministratori della condivisione BigQuery
Per gestire gli scambi di dati, crea 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.
Per consentire agli amministratori di gestire tutti gli scambi di dati in un progetto, concedi loro il ruolo di amministratore di Analytics Hub per quel progetto.
Per consentire agli amministratori di gestire uno specifico scambio di dati, concedi loro il ruolo Amministratore Analytics Hub per quello scambio di dati.
Rendere pubblico uno scambio di dati
Per impostazione predefinita, uno scambio di dati è privato. Solo gli utenti o i gruppi con accesso a un exchange possono visualizzare o abbonarsi ai relativi elenchi. Puoi rendere pubblico un Data Exchange,
in modo che
gli utentiGoogle Cloud (allAuthenticatedUsers)
possano scoprire le sue schede e iscriversi.
Per rendere pubblico uno scambio di dati:
Per consentire a
allAuthenticatedUsersdi visualizzare le schede, concedi il ruolo Visualizzatore Analytics Hub (roles/analyticshub.viewer) a livello di scambio di dati.Per consentire a
allAuthenticatedUsersdi iscriversi alle schede, concedi il ruolo Abbonato Analytics Hub (roles/analyticshub.subscriber) a livello di scambio di dati.Attiva la rilevabilità 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
L'eliminazione di uno scambio di dati comporta anche l'eliminazione di tutti i relativi elenchi. Tuttavia, i set di dati condivisi e collegati non vengono eliminati. Quando elimini un progetto, gli scambi di dati non vengono eliminati. Elimina questi scambi di dati prima di eliminare il progetto. Non puoi annullare l'eliminazione di uno scambio di dati.
Prima di eliminare uno scambio di dati, completa i seguenti passaggi in base alla configurazione dello scambio di dati:
- Per gli scambi di dati con le schede commerciali integrate con Google Cloud Marketplace, elimina le schede commerciali integrate con Google Cloud Marketplace. Poi ricrea le schede come schede non commerciali.
- Per gli scambi di dati con schede per più regioni,
rimuovi tutti gli abbonamenti attivi utilizzando il metodo
projects.locations.subscriptions.revoke.
Per eliminare uno scambio di dati:
Console
Vai alla pagina Sharing (Analytics Hub).
Dall'elenco degli scambi di dati, seleziona quello da eliminare.
Vai alla scheda Dettagli.
Fai clic su Elimina scambio.
Nella finestra di dialogo Eliminare lo scambio?, conferma l'eliminazione digitando elimina.
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
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 località che supportano la condivisione di BigQuery, consulta 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
- Scopri di più sulla gestione delle schede.
- Scopri come concedere ruoli utente di Analytics Hub.
- Scopri come visualizzare e iscriversi a schede e Data Exchange.
- Scopri di più su Audit logging della condivisione.