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.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.
In 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. 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.
Fai clic su Crea scambio.
(Facoltativo) Nella sezione Exchange Permissions (Autorizzazioni di Exchange), segui questi passaggi:
Inserisci gli indirizzi email nei seguenti campi per concedere i ruoli IAM (Identity and Access Management):
- Amministratori: a questi utenti viene assegnato il
ruolo Amministratore di Analytics Hub
(
roles/analyticshub.admin). - Editori: a questi utenti viene assegnato il
ruolo Editore di Analytics Hub
(
roles/analyticshub.publisher). Per informazioni sulle attività che gli editori di BigQuery sharing possono svolgere, consulta Gestire le schede. - Iscritti: a questi utenti viene assegnato il
ruolo Iscritto di Analytics Hub
(
roles/analyticshub.subscriber). Per informazioni sulle attività che possono essere eseguite dagli iscritti alla condivisione BigQuery, consulta Visualizzare e abbonarsi a schede e scambi di dati. - Visualizzatori: a questi utenti viene assegnato il
ruolo Visualizzatore Analytics Hub
(
roles/analyticshub.viewer). I visualizzatori possono visualizzare le schede.- Se la visibilità pubblica è abilitata, assegna il ruolo
Visualizzatore Analytics Hub a
allUsersoallAuthenticatedUsers.
- Se la visibilità pubblica è abilitata, assegna il ruolo
Visualizzatore Analytics Hub a
- Amministratori: a questi utenti viene assegnato il
ruolo Amministratore di 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 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
Vai alla pagina Sharing (Analytics Hub).
Nell'elenco degli scambi di dati, fai clic su uno scambio di dati che vuoi 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).
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.
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. Per farlo, segui questi passaggi:
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, 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
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 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.
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 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:
Per consentire a
allAuthenticatedUsersdi visualizzare le schede, devi concedere agli utenti il ruolo Visualizzatore di Analytics Hub (roles/analyticshub.viewer) a livello di scambio di dati.Per consentire a
allAuthenticatedUsersdi iscriversi alle schede, devi concedere agli utenti il ruolo di abbonato di Analytics Hub (roles/analyticshub.subscriber) a livello di scambio di dati.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 gli scambi di dati con le schede commerciali integrate con Google Cloud Marketplace, elimina le schede commerciali integrate con Google Cloud Marketplace. Puoi quindi ricreare 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).
Nell'elenco degli scambi di dati, fai clic su quello che vuoi 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
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 abbonarti a schede e Data Exchange.
- Scopri di più sull'audit logging della condivisione.