Autentica un paquete privado en Dataform

En este documento, se muestra cómo autenticar un paquete de NPM privado en Dataform para habilitar su instalación en un repositorio de Dataform.

Para instalar un paquete de NPM privado en un repositorio de Dataform y usarlo a fin de desarrollar tu flujo de trabajo de SQL, primero debes autenticar el paquete en Dataform. El proceso de autenticación es diferente para el primer paquete privado de un repositorio y para el paquete privado posterior de un repositorio.

Antes de comenzar

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a la página Dataform

  2. Selecciona o crea un repositorio.

  3. Selecciona o crea un lugar de trabajo de desarrollo.

Funciones obligatorias

Si quieres obtener los permisos que necesitas para autenticar paquetes privados de NPM en Dataform, pídele a tu administrador que te otorgue el rol de IAM de Editor de Dataform (roles/dataform.editor) en los repositorios y los lugares de trabajo. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.

Es posible que también puedas obtener los permisos necesarios mediante funciones personalizadas, o bien otras funciones predefinidas.

Autentica el primer paquete privado en un repositorio de Dataform

Para autenticar los paquetes de NPM privados en Dataform, debes hacer lo siguiente antes de instalar el primer paquete de NPM privado en un repositorio de Dataform:

  1. Crea un secreto de Secret Manager dedicado a almacenar tokens de autenticación de paquetes privados de NPM en el repositorio de Dataform.

    1. Agrega al secreto el token de autenticación del paquete, que se obtuvo de tu registro de NPM.

    Debes almacenar todos los tokens de autenticación de los paquetes privados de NPM en tu repositorio en un solo secreto. Debes crear un secreto dedicado por cada repositorio de Dataform. El secreto debe estar en formato JSON.

  2. Sube el secreto al repositorio de Dataform.

  3. Crea un archivo .npmrc y agrega el token de autenticación del paquete al archivo.

    El token de autenticación del archivo .npmrc debe coincidir con el token de autenticación del secreto subido.

Después de autenticar el paquete de NPM privado, puedes instalarlo en el repositorio de Dataform.

Crea un secreto para la autenticación de paquetes privados

Para autenticar los paquetes de NPM privados en un repositorio de Dataform, debes crear un secreto de Secret Manager y definir los tokens de autenticación para todos los paquetes privados que deseas instalar en el repositorio de Dataform dentro del secreto. Define un token de autenticación por cada paquete de NPM privado y almacena todos los tokens de autenticación en un único secreto por repositorio. El secreto debe estar en formato JSON.

A fin de crear un secreto con tokens de autenticación para paquetes privados de NPM, sigue estos pasos:

  1. En Secret Manager, crea un secreto.

    1. En el campo Valor del secreto, ingresa uno o varios tokens de autenticación con el siguiente formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Reemplaza lo siguiente:

    • AUTHENTICATION_TOKEN_NAME: Es un nombre único para el token que identifica el paquete que autentica.
    • TOKEN_VALUE: El valor del token de autenticación, obtenido del registro de NPM
  2. Otorga acceso al secreto a tu cuenta de servicio de Dataform.

    Tu cuenta de servicio de Dataform tiene el siguiente formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Cuando otorgues acceso, asegúrate de otorgar el rol roles/secretmanager.secretAccessor a la cuenta de servicio de Dataform.

Sube el secreto para la autenticación de paquetes privados a un repositorio de Dataform

Antes de instalar un paquete de NPM privado en un repositorio de Dataform por primera vez, sube al repositorio el secreto que contiene el token de autenticación del paquete.

Para subir el secreto con tokens de autenticación de paquetes de NPM privados a un repositorio de Dataform, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  2. Selecciona el repositorio en el que deseas instalar los paquetes de NPM privados.

  3. En la página del repositorio, haz clic en Settings > Configure private NPM packages.

  4. En el panel Agregar token secreto del paquete de NPM, en el menú desplegable Secreto, selecciona el secreto que contiene tokens de autenticación para paquetes privados de NPM.

  5. Haz clic en Guardar.

Crea un archivo .npmrc para la autenticación de paquetes privados

Para autenticar los paquetes de NPM privados en un repositorio de Dataform, debes crear un archivo .npmrc de nivel superior en el repositorio. Debes almacenar tokens de autenticación para que todos los paquetes de NPM privados se instalen en el repositorio dentro del archivo .npmrc. Los tokens de autenticación del archivo .npmrc deben coincidir con los tokens de autenticación del secreto subido al repositorio. Para obtener más información sobre los archivos .npmrc, consulta la documentación de npmrc.

Para crear un archivo .npmrc de nivel superior en tu repositorio, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  2. Selecciona el repositorio en el que deseas instalar los paquetes de NPM privados y, luego, selecciona un lugar de trabajo.

  3. En el panel Archivos, haz clic en el menú Más y, luego, en Crear archivo.

  4. En el panel Create new file, haz lo siguiente:

    1. En el campo Agregar una ruta de acceso al archivo, ingresa .npmrc.

    2. Haz clic en Crear archivo.

Agrega un token de autenticación al archivo .npmrc en un repositorio de Dataform.

Para autenticar un paquete de NPM privado en un repositorio de Dataform que ya contiene un secreto con tokens de autenticación de paquete y un archivo .npmrc, debes agregar el token de autenticación del paquete privado al archivo .npmrc en el repositorio.

En el archivo .npmrc, debes definir el permiso de tu registro de NPM y agregar el token de autenticación para el paquete privado al que se accede en ese alcance. Para obtener más información sobre los archivos .npmrc, consulta la documentación de npmrc.

El token de autenticación del archivo .npmrc debe coincidir con el token de autenticación del secreto subido al repositorio.

Para agregar un token de autenticación al archivo .npmrc en un repositorio de Dataform, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Dataform.

    Ir a Dataform

  2. Selecciona el repositorio en el que deseas instalar los paquetes de NPM privados y, luego, selecciona un lugar de trabajo.

  3. En el panel Files, selecciona el archivo .npmrc.

  4. En el archivo .npmrc, define el alcance del registro de NPM y el token de autenticación para el paquete privado en el siguiente formato:

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

Reemplaza lo siguiente:

  • REGISTRY-SCOPE: El permiso del registro de NPM al que deseas aplicar el token de autenticación
  • NPM-REGISTRY-URL: Es la URL del registro de NPM, por ejemplo, https://npm.pkg.github.com.
  • AUTHENTICATION-TOKEN: Es el token de autenticación para el paquete de NPM privado. El token de autenticación del archivo .npmrc debe coincidir con el token de autenticación del secreto subido. El token de autenticación se proporciona como una variable de entorno en el archivo .npmrc, así que asegúrate de agregar los corchetes de apertura ${ y }.

    Puedes ingresar múltiples tokens de autenticación.

En la siguiente muestra de código, se muestra un token de autenticación para un paquete de NPM privado agregado al archivo .npmrc en un repositorio de Dataform:

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

Autentica un paquete privado posterior en un repositorio de Dataform

Para autenticar un paquete de NPM privado en un repositorio de Dataform que ya contiene un secreto con tokens de autenticación de paquete y un archivo .npmrc, sigue estos pasos:

  1. En Secret Manager, enumera los secretos y selecciona el que almacena los tokens de autenticación de los paquetes privados de NPM del repositorio.

  2. Agrega una versión nueva al Secret.

    Dataform usa la versión más reciente del secreto de forma predeterminada.

    1. Agrega el token de autenticación del paquete privado al valor del secreto en el siguiente formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Reemplaza lo siguiente:

    • AUTHENTICATION_TOKEN_NAME: Es un nombre único para el token que identifica el paquete que autentica.
    • TOKEN_VALUE: El valor del token de autenticación, obtenido del registro de NPM

    Puedes agregar varios tokens de autenticación a la vez.

  3. En Dataform, agrega el token de autenticación al archivo .npmrc en tu repositorio.

Después de autenticar el paquete de NPM privado, puedes instalarlo en el repositorio de Dataform.

¿Qué sigue?