Crea e gestisci i repository

I repository BigQuery ti consentono di controllare la versione dei file di codice e di collaborare con il tuo team. Puoi creare, condividere ed eliminare repository BigQuery o collegarli a un repository Git di terze parti.

Per un'esperienza di controllo della versione più semplificata e basata su cartelle, ti consigliamo di utilizzare i repository Git di BigQuery Studio. Questa integrazione ti consente di lavorare con i rami Git direttamente nel browser dei file di BigQuery Studio e di clonare più repository contemporaneamente senza gestire workspace separati.

Prima di iniziare

  1. Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs, if any are not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the APIs

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per lavorare con repository e aree di lavoro, chiedi all'amministratore di concederti i seguenti ruoli IAM su repository e aree di lavoro:

  • Creare e gestire repository condivisi: Code Owner (roles/dataform.codeOwner)
  • Creare ed eliminare workspace nei repository condivisi: Editor di codice (roles/dataform.codeEditor)
  • Creare, modificare e controllare la versione dei file negli spazi di lavoro nei repository condivisi: Editor di codice (roles/dataform.codeEditor)
  • Visualizza gli workspace e i relativi file nei repository condivisi: Code Viewer (roles/dataform.codeViewer)
  • Crea e gestisci repository privati, incluse tutte le azioni con workspace e file nel repository privato: Code Creator (roles/dataform.codeCreator)

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.

Le entità con il ruolo Editor di codice in un repository possono modificare tutte le aree di lavoro nel repository.

I repository privati che crei sono comunque visibili alle entità a cui sono stati concessi i ruoli Amministratore BigQuery o Amministratore BigQuery Studio a livello di progetto. Queste entità possono condividere il tuo repository privato con altri utenti.

Considerazioni sulla sicurezza per i repository

Poiché gli asset di codice in BigQuery sono basati su Dataform, devi considerare le seguenti implicazioni di sicurezza per gli utenti con accesso a questi asset:

  • La visibilità degli asset di codice è regolata dalle autorizzazioni Dataform a livello di progetto. Gli utenti con l'autorizzazione dataform.repositories.list, inclusa nei ruoli BigQuery standard come BigQuery Job User, BigQuery Studio User e BigQuery User, possono visualizzare tutti gli asset di codice nel riquadro Explorer del progetto Google Cloud , indipendentemente dal fatto che abbiano creato questi asset o che siano stati condivisi con loro. Per limitare la visibilità, puoi creare ruoli personalizzati che escludono l'autorizzazione dataform.repositories.list.
  • Tutti i secret condivisi con l'agente di servizio Dataform possono essere potenzialmente accessibili agli utenti che possono modificare questi asset. Per proteggere le tue credenziali, limita l'accesso in creazione e modifica agli utenti attendibili e limita i secret accessibili all'agente di servizio Dataform. Per saperne di più, consulta Accesso ai secret durante l'installazione del pacchetto.

Per saperne di più, consulta Considerazioni sulla sicurezza per le autorizzazioni di Dataform.

Crea un repository

Per creare un repository BigQuery, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

    Se non vedi il riquadro a sinistra, fai clic su Espandi riquadro sinistro per aprirlo.

  3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  4. Fai clic su Aggiungi repository.

  5. Nel riquadro Crea repository, nel campo ID repository, digita un ID univoco.

    Gli ID possono includere solo numeri, lettere, trattini e trattini bassi.

  6. Nell'elenco a discesa Regione, seleziona una regione BigQuery per archiviare il repository e i relativi contenuti. Seleziona la regione BigQuery più vicina alla tua località.

    Per un elenco delle regioni BigQuery disponibili, consulta Località di BigQuery Studio. La regione del repository non deve necessariamente corrispondere alla località dei set di dati BigQuery.

  7. Fai clic su Crea.

Connettiti a un repository di terze parti

Questa sezione mostra come connettere un repository BigQuery a un repository remoto. Dopo aver collegato i repository, puoi eseguire azioni Git sui file nei workspace contenuti nel repository. Ad esempio, il pull degli aggiornamenti dal repository remoto e il push delle modifiche al repository remoto.

Ti consigliamo di creare un repository BigQuery dedicato per ogni repository remoto a cui ti connetti. Assegna al repository BigQuery un nome simile a quello del repository remoto per rendere chiara la mappatura.

Puoi connettere un repository remoto tramite HTTPS o SSH. La connessione di un repository BigQuery a un repository remoto può non riuscire se il repository remoto non è aperto alla rete internet pubblica, ad esempio se si trova dietro un firewall. La tabella seguente elenca i provider Git supportati e i metodi di connessione disponibili per i relativi repository:

Provider Git Metodo di connessione
Azure DevOps Services SSH
Bitbucket SSH
GitHub SSH o HTTPS
GitLab SSH o HTTPS

Connetti un repository remoto tramite SSH

Per connettere un repository remoto tramite SSH, devi generare una chiave SSH e un secret di Secret Manager. La chiave SSH è costituita da una chiave SSH pubblica e una chiave SSH privata. Devi condividere la chiave SSH pubblica con il tuo provider Git e creare un secret di Secret Manager con la chiave SSH privata. Poi, condividi il secret con l'agente di servizio Dataform.

BigQuery utilizza il secret con la chiave SSH privata per accedere al tuo provider Git ed eseguire il commit delle modifiche per conto degli utenti. BigQuery esegue questi commit utilizzando l'indirizzo email Google Cloud dell'utente, in modo che tu possa sapere chi ha eseguito ogni commit.

Per connettere un repository remoto a un repository BigQuery tramite SSH, segui questi passaggi:

  1. Nel tuo provider Git, segui questi passaggi:

    Azure DevOps Services

    1. In Azure DevOps Services, crea una chiave SSH privata.
    2. Carica la chiave SSH pubblica nel repository Azure DevOps Services.

    Bitbucket

    1. In Bitbucket, crea una chiave SSH privata.
    2. Carica la chiave SSH pubblica nel tuo repository Bitbucket.

    GitHub

    1. In GitHub, verifica la presenza di chiavi SSH esistenti.
    2. Se non hai chiavi SSH esistenti o vuoi utilizzarne una nuova, crea una chiave SSH privata.
    3. Carica la chiave SSH pubblica di GitHub nel tuo repository GitHub.

    GitLab

    1. In GitLab, crea una chiave SSH privata.
    2. Carica la chiave SSH pubblica di GitLab nel tuo repository GitLab.
  2. In Secret Manager, crea un secret e incolla la chiave SSH privata come valore del secret. La chiave SSH privata deve essere archiviata in un file simile a ~/.ssh/id_ed25519. Assegna un nome al secret in modo da poterlo trovare in futuro.

  3. Concedi l'accesso al secret all'agente di servizio Dataform.

    L'ID dell'agente di servizio Dataform ha il seguente formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  4. Concedi il ruolo roles/secretmanager.secretAccessor al account di servizio.

  5. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  6. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

  7. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  8. Seleziona il repository BigQuery che vuoi connettere al repository remoto.

  9. Nell'editor, seleziona la scheda Configurazione.

  10. Fai clic su Connettiti con Git.

  11. Nel riquadro Connetti al repository remoto, seleziona il pulsante di opzione SSH.

  12. Nel campo URL repository Git remoto, digita l'URL del repository Git remoto, che termina con .git.

    L'URL del repository Git remoto deve essere in uno dei seguenti formati:

    • URL assoluto: ssh://git@{host_name}[:{port}]/{repository_path}, port è facoltativo.
    • URL simile a SCP: git@{host_name}:{repository_path}.
  13. Nel campo Nome branch remoto predefinito, digita il nome del branch principale del repository Git remoto.

  14. Nel menu a discesa Secret, seleziona il secret che hai creato contenente la chiave privata SSH.

  15. Nel campo Valore chiave host pubblica SSH, digita la chiave host pubblica del tuo provider Git.

    Azure DevOps Services

    1. Per recuperare la chiave host pubblica di Azure DevOps Services, esegui questo comando nel terminale:

      ssh-keyscan -t rsa ssh.dev.azure.com
      
    2. Copia una delle chiavi di output, omettendo ssh.dev.azure.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Ad esempio:

      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
      

      Verifica che questa chiave sia ancora aggiornata con Azure DevOps Services.

    Bitbucket

    1. Per recuperare la chiave host pubblica di Bitbucket, esegui questo comando nel terminale:

      curl https://bitbucket.org/site/ssh
      
    2. Il comando restituisce un elenco di chiavi host pubbliche. Scegli una delle chiavi dall'elenco e copiala, omettendo bitbucket.org dall'inizio della riga. Il valore che copi deve avere il seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Ad esempio:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIazEu89wgQZ4bqs3d63QSMzYVa0MuJ2e2gKTKqu+UUO
      

      Verifica che questa chiave sia ancora aggiornata con Bitbucket.

    GitHub

    1. Per recuperare la chiave host pubblica di GitHub, consulta Impronte delle chiavi SSH di GitHub.
    2. La pagina contiene un elenco di chiavi host pubbliche. Scegline uno e copialo, omettendo github.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Ad esempio:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
      

      Verifica che questa chiave sia ancora aggiornata con GitHub.

    GitLab

    1. Per recuperare la chiave host pubblica di GitLab, consulta le voci SSH known_hosts.
    2. La pagina contiene un elenco di chiavi host pubbliche. Scegline uno e copialo, omettendo gitlab.com dall'inizio della riga. Il valore che copi deve avere il seguente formato:

      ALGORITHM BASE64_KEY_VALUE
      

      Ad esempio:

      ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
      

      Verifica che questa chiave sia ancora aggiornata con GitLab.

  16. Fai clic su Connetti.

Connetti un repository remoto tramite HTTPS

Per connettere un repository remoto tramite HTTPS, devi creare un secret di Secret Manager con un token di accesso personale e condividerlo con l'agente di servizio Dataform.

BigQuery utilizza quindi il token di accesso per accedere al tuo provider Git per eseguire il commit delle modifiche per conto degli utenti. BigQuery esegue questi commit utilizzando l'indirizzo email Google Cloud dell'utente, in modo che tu possa sapere chi ha eseguito ogni commit.

Per connettere un repository remoto a un repository BigQuery tramite HTTPS, segui questi passaggi:

  1. Nel tuo provider Git, segui questi passaggi:

    GitHub

    1. In GitHub, crea un token di accesso personale granulare o un token di accesso personale classico.

      • Per un token di accesso personale GitHub granulare, segui questi passaggi:
      1. Seleziona l'accesso solo ai repository selezionati, quindi seleziona il repository a cui vuoi connetterti.

      2. Concedi l'accesso in lettura e scrittura ai contenuti del repository.

      3. Imposta una scadenza del token appropriata per le tue esigenze.

      • Per un token di accesso personale GitHub classico, segui questi passaggi:
      1. Concedi a BigQuery l'autorizzazione repo.

      2. Imposta una scadenza del token appropriata per le tue esigenze.

    2. Se la tua organizzazione utilizza il Single Sign-On (SSO) SAML, autorizza il token.

    GitLab

    1. In GitLab, crea un token di accesso personale GitLab.

    2. Assegna un nome al token dataform; questo è obbligatorio.

    3. Concedi a BigQuery le autorizzazioni api, read_repository e write_repository.

    4. Imposta una scadenza del token appropriata per le tue esigenze.

  2. In Secret Manager, crea un secret contenente il token di accesso personale del tuo repository remoto.

  3. Concedi l'accesso al secret all'agente di servizio Dataform.

    L'ID dell'agente di servizio Dataform ha il seguente formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  4. Concedi il ruolo roles/secretmanager.secretAccessor al account di servizio.

  5. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  6. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

  7. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  8. Seleziona il repository BigQuery che vuoi connettere al repository remoto.

  9. Nell'editor, seleziona la scheda Configurazione.

  10. Fai clic su Connettiti con Git.

  11. Nel riquadro Connetti al repository remoto, seleziona il pulsante di opzione HTTPS.

  12. Nel campo URL repository Git remoto, digita l'URL del repository Git remoto, che termina con .git.

    L'URL del repository Git remoto non può contenere nomi utente o password.

  13. Nel campo Nome branch remoto predefinito, digita il nome del branch principale del repository Git remoto.

  14. Nel menu a discesa Secret, seleziona il secret che hai creato contenente il token di accesso personale.

  15. Fai clic su Connetti.

Modifica la connessione al repository remoto

Per modificare una connessione tra un repository BigQuery e un repository Git remoto, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

  3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  4. Seleziona il repository BigQuery di cui vuoi modificare la connessione.

  5. Nell'editor, seleziona la scheda Configurazione.

  6. Nella pagina del repository, fai clic su Modifica connessione Git.

  7. Modifica le impostazioni di connessione.

  8. Fai clic su Aggiorna.

Condividi un repository

Per condividere un repository, segui questi passaggi:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

  3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  4. Trova il repository che vuoi condividere.

  5. Fai clic su Apri azioni e poi su Condividi.

  6. Nel riquadro Autorizzazioni di condivisione, fai clic su Aggiungi utente/gruppo.

  7. Nel riquadro Aggiungi utente/gruppo, nel campo Nuove entità, digita uno o più nomi di utenti o gruppi, separati da virgole.

  8. Nel campo Ruolo, scegli il ruolo da assegnare alle nuove entità.

  9. Fai clic su Salva.

Elimina un repository

Per eliminare un repository e tutti i relativi contenuti:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro a sinistra, fai clic su Spazio di esplorazione:

    Pulsante evidenziato per il riquadro Spazio di esplorazione.

  3. Nel riquadro Explorer, espandi il progetto e fai clic su Repository per aprire la scheda Repository nel riquadro dei dettagli.

  4. Trova il repository che vuoi eliminare.

  5. Fai clic su Apri azioni e poi su Elimina.

  6. Fai clic su Elimina.

Passaggi successivi