Convalida un pacchetto privato in Dataform

Questo documento illustra come autenticare un pacchetto NPM privato in Dataform per consentirne l'installazione in un repository Dataform.

Per installare un pacchetto NPM privato in un repository Dataform e utilizzarlo per sviluppare il tuo flusso di lavoro SQL, devi prima autenticare il pacchetto in Dataform. La procedura di autenticazione è diversa per il primo pacchetto privato in un repository e per un pacchetto privato successivo in un repository.

Prima di iniziare

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

    Vai alla pagina Dataform

  2. Seleziona o crea un repository.

  3. Seleziona o crea un'area di lavoro di sviluppo.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per autenticare i pacchetti NPM privati in Dataform, chiedi all'amministratore di concederti il ruolo IAM Editor Dataform (roles/dataform.editor) per i repository e gli spazi di lavoro. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

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

Autenticare il primo pacchetto privato in un repository Dataform

Per autenticare i pacchetti npm privati in Dataform, devi eseguire quanto segue prima di installare il primo pacchetto npm privato in un repository Dataform:

  1. Crea un secret di Secret Manager dedicato allo stoccaggio dei token di autenticazione dei pacchetti NPM privati nel repository Dataform.

    1. Aggiungi al secret il token di autenticazione del pacchetto, ottenuto dal registry NPM.

    Devi archiviare tutti i token di autenticazione dei pacchetti NPM privati nel tuo repository in un unico secret. Devi creare un segreto dedicato per un repository Dataform. Il secret deve essere in formato JSON.

  2. Carica il secret nel repository Dataform.

  3. Crea un file .npmrc e aggiungi al file il token di autenticazione del pacchetto.

    Il token di autenticazione nel file .npmrc deve corrispondere al token di autenticazione nel segreto caricato.

Dopo aver autenticato il pacchetto NPM privato, puoi installarlo nel repository Dataform.

Crea un segreto per l'autenticazione dei pacchetti privati

Per autenticare i pacchetti NPM privati in un repository Dataform, devi creare un secret di Secret Manager e definire i token di autenticazione per tutti i pacchetti privati che vuoi installare nel repository Dataform all'interno del secret. Definisci un token di autenticazione per un pacchetto NPM privato e memorizza tutti i token di autenticazione in un unico secret per repository. Il secret deve essere in formato JSON.

Per creare un secret con token di autenticazione per i pacchetti NPM privati, segui questi passaggi:

  1. In Secret Manager, crea un secret.

    1. Nel campo Valore secret, inserisci uno o più token di autenticazione nel seguente formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Sostituisci quanto segue:

    • AUTHENTICATION_TOKEN_NAME: un nome univoco per il token che identifica il pacchetto autenticato
    • TOKEN_VALUE: il valore del token di autenticazione, ottenuto dal tuo registry NPM
  2. Concedi l'accesso al secret al tuo account di servizio Dataform.

    Il tuo account di servizio Dataform ha il seguente formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Quando concedi l'accesso, assicurati di concedere il ruolo roles/secretmanager.secretAccessor al tuo account di servizio Dataform.

Carica il secret per l'autenticazione dei pacchetti privati in un repository Dataform

Prima di installare un pacchetto NPM privato in un repository Dataform per la prima volta, carica nel repository il secret contenente il token di autenticazione del pacchetto.

Per caricare il secret con i token di autenticazione dei pacchetti NPM privati in un repository Dataform:

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

    Vai a Dataform

  2. Seleziona il repository in cui vuoi installare i pacchetti NPM privati.

  3. Nella pagina del repository, fai clic su Impostazioni > Configura pacchetti NPM privati.

  4. Nel riquadro Aggiungi token del secret del pacchetto di Gestione dei partner di rete, nel menu a discesa Secret, seleziona il secret contenente i token di autenticazione per i pacchetti NPM privati.

  5. Fai clic su Salva.

Creare un file .npmrc per l'autenticazione dei pacchetti privati

Per autenticare i pacchetti NPM privati in un repository Dataform, devi creare un file .npmrc di primo livello nel repository. Devi memorizzare i token di autenticazione per tutti i pacchetti NPM privati da installare nel repository all'interno del file .npmrc. I token di autenticazione nel .npmrc file devono corrispondere ai token di autenticazione nel secret caricato nel repository. Per ulteriori informazioni sui file .npmrc, consulta la documentazione di npmrc.

Per creare un file .npmrc di primo livello nel repository:

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

    Vai a Dataform

  2. Seleziona il repository in cui vuoi installare i pacchetti NPM privati, quindi seleziona uno spazio di lavoro.

  3. Nel riquadro File, fai clic sul menu Altro e poi su Crea file.

  4. Nel riquadro Crea nuovo file:

    1. Nel campo Aggiungi un percorso del file, inserisci .npmrc.

    2. Fai clic su Crea file.

Aggiungere un token di autenticazione al file .npmrc in un repository Dataform

Per autenticare un pacchetto NPM privato in un repository Dataform che contiene già un secret con token di autenticazione del pacchetto e un file .npmrc, devi aggiungere il token di autenticazione del pacchetto privato al file .npmrc nel repository.

Nel file .npmrc, devi definire l'ambito del tuo registry NPM e aggiungere il token di autenticazione per il pacchetto privato a cui hai eseguito l'accesso in quell'ambito. Per ulteriori informazioni sui file .npmrc, consulta la documentazione npmrc.

Il token di autenticazione nel file .npmrc deve corrispondere al token di autenticazione nel secret caricato nel repository.

Per aggiungere un token di autenticazione al file .npmrc in un repository Dataform:

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

    Vai a Dataform

  2. Seleziona il repository in cui vuoi installare i pacchetti NPM privati, quindi seleziona uno spazio di lavoro.

  3. Nel riquadro File, seleziona il file .npmrc.

  4. Nel file .npmrc, definisci l'ambito del registry NPM e il token di autenticazione per il pacchetto privato nel seguente formato:

   @REGISTRY-SCOPE:registry=NPM-REGISTRY-URL
   NPM-REGISTRY-URL:_authToken=$AUTHENTICATION-TOKEN

Sostituisci quanto segue:

  • REGISTRY-SCOPE: l'ambito del registry NPM a cui vuoi applicare il token di autenticazione
  • NPM-REGISTRY-URL: l'URL del tuo registry NPM, ad esempio https://npm.pkg.github.com
  • AUTHENTICATION-TOKEN: il token di autenticazione per il pacchetto NPM privato. Il token di autenticazione nel file .npmrc deve corrispondere al token di autenticazione nel segreto caricato. Il token di autenticazione viene fornito come variabile di ambiente nel file .npmrc, quindi assicurati di aggiungere le parentesi di apertura ${ e di chiusura }.

    Puoi inserire più token di autenticazione.

Il seguente esempio di codice mostra un token di autenticazione per un pacchetto NPM privato aggiunto al file .npmrc in un repository Dataform:

@company:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${AUTHENTICATION_TOKEN}

Autenticare un pacchetto privato successivo in un repository Dataform

Per autenticare un pacchetto NPM privato in un repository Dataform che contiene già un secret con token di autenticazione del pacchetto e un file .npmrc:

  1. In Secret Manager, elenca i secret e seleziona il secret che memorizza i token di autenticazione dei pacchetti NPM privati del tuo repository.

  2. Aggiungi una nuova versione al secret.

    Per impostazione predefinita, Dataform utilizza la versione più recente del secret.

    1. Aggiungi il token di autenticazione per il pacchetto privato al valore del secret nel seguente formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Sostituisci quanto segue:

    • AUTHENTICATION_TOKEN_NAME: un nome univoco per il token che identifica il pacchetto autenticato
    • TOKEN_VALUE: il valore del token di autenticazione, ottenuto dal tuo registry NPM

    Puoi aggiungere più token di autenticazione contemporaneamente.

  3. In Dataform, aggiungi il token di autenticazione al file .npmrc nel tuo repository.

Dopo aver autenticato il pacchetto NPM privato, puoi installarlo nel repository Dataform.

Passaggi successivi