Autenticação de um pacote particular no Dataform

Neste documento, mostramos como autenticar um pacote npm particular no Dataform para permitir a instalação dele em um repositório do Dataform.

Para instalar um pacote NPM particular em um repositório do Dataform e usá-lo para desenvolver seu fluxo de trabalho SQL, você precisa primeiro autenticar o pacote no Dataform. O processo de autenticação é diferente para o primeiro pacote particular em um repositório e um pacote particular subsequente em um repositório.

Antes de começar

  1. No Console do Google Cloud, acesse a página Dataform.

    Acesse a página do Dataform

  2. Selecione ou crie um repositório.

  3. Selecione ou crie um espaço de trabalho de desenvolvimento.

Funções exigidas

Para receber as permissões necessárias para autenticar pacotes NPM particulares no Dataform, peça ao administrador que conceda a você o papel do IAM (roles/dataform.editor) de editor do Dataform em repositórios e espaços de trabalho. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Autentique o primeiro pacote particular em um repositório do Dataform

Para autenticar pacotes NPM particulares no Dataform, faça o seguinte antes de instalar o primeiro pacote NPM particular em um repositório do Dataform:

  1. Crie um secret do Secret Manager dedicado a armazenar tokens de autenticação de pacotes NPM particulares no repositório do Dataform.

    1. Adicione o token de autenticação do pacote, obtido do registro do NPM, ao segredo.

    É necessário armazenar todos os tokens de autenticação dos pacotes NPM particulares no repositório em um único secret. Você precisa criar um segredo dedicado por repositório do Dataform. O secret precisa estar no formato JSON.

  2. Faça upload do segredo no repositório do Dataform.

  3. Crie um arquivo .npmrc e adicione o token de autenticação do pacote ao arquivo.

    O token de autenticação no arquivo .npmrc precisa corresponder ao token de autenticação no segredo enviado.

Depois de autenticar o pacote NPM particular, você pode instalar o pacote no repositório do Dataform.

Criar um secret para autenticação de pacotes particulares

Para autenticar pacotes NPM particulares em um repositório do Dataform, crie um secret do Secret Manager e defina tokens de autenticação para todos os pacotes particulares que você quer instalar no repositório do Dataform dentro do secret. Defina um token de autenticação por um pacote NPM particular e armazene todos os tokens de autenticação em um único secret por repositório. O secret precisa estar no formato JSON.

Para criar um segredo com tokens de autenticação para pacotes NPM particulares, siga estas etapas:

  1. No Secret Manager, crie um secret.

    1. No campo Valor do secret, insira um ou vários tokens de autenticação neste formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Substitua:

    • AUTHENTICATION_TOKEN_NAME: um nome exclusivo para o token que identifica o pacote que ele autentica
    • TOKEN_VALUE: o valor do token de autenticação, obtido do registro do NPM
  2. Conceda acesso ao secret à sua conta de serviço do Dataform.

    Sua conta de serviço do Dataform está neste formato:

    service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
    1. Ao conceder acesso, conceda o papel roles/secretmanager.secretAccessor à sua conta de serviço do Dataform.

Fazer upload do segredo para autenticação de pacotes particulares em um repositório do Dataform

Antes de instalar um pacote NPM particular em um repositório do Dataform pela primeira vez, faça upload do secret que contém o token de autenticação do pacote para o repositório.

Para fazer upload do segredo com tokens de autenticação de pacotes NPM particulares para um repositório do Dataform, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  2. Selecione o repositório em que você quer instalar pacotes NPM particulares.

  3. Na página do repositório, clique em Settings > Configure private NPM packages.

  4. No painel Adicionar token secret do pacote NPM, no menu suspenso Secret, selecione o secret que contém os tokens de autenticação para pacotes NPM particulares.

  5. Clique em Salvar.

Criar um arquivo .npmrc para autenticação de pacotes particulares

Para autenticar pacotes NPM particulares em um repositório do Dataform, você precisa criar um arquivo .npmrc de nível superior no repositório. É necessário armazenar tokens de autenticação para que todos os pacotes NPM particulares sejam instalados no repositório dentro do arquivo .npmrc. Os tokens de autenticação no arquivo .npmrc precisam corresponder aos tokens de autenticação no secreto enviado para o repositório. Para mais informações sobre arquivos .npmrc, consulte a documentação do npmrc.

Para criar um arquivo .npmrc de nível superior no repositório, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  2. Selecione o repositório em que você quer instalar pacotes NPM particulares e selecione um espaço de trabalho.

  3. No painel Files, clique no menu More e em Create file.

  4. No painel Criar novo arquivo, faça o seguinte:

    1. No campo Adicionar um caminho de arquivo, insira .npmrc.

    2. Selecione Criar arquivo.

Adicionar um token de autenticação ao arquivo .npmrc em um repositório do Dataform

Para autenticar um pacote NPM particular em um repositório do Dataform que já contém um segredo com tokens de autenticação de pacote e um arquivo .npmrc, é necessário adicionar o token de autenticação do pacote particular ao arquivo .npmrc no repositório.

No arquivo .npmrc, você precisa definir o escopo do registro do NPM e adicionar o token de autenticação para o pacote particular acessado nesse escopo. Para mais informações sobre arquivos .npmrc, consulte a documentação do npmrc.

O token de autenticação no arquivo .npmrc precisa corresponder ao token de autenticação no secreto enviado para o repositório.

Para adicionar um token de autenticação ao arquivo .npmrc em um repositório do Dataform, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Dataform.

    Acessar o Dataform

  2. Selecione o repositório em que você quer instalar pacotes NPM particulares e selecione um espaço de trabalho.

  3. No painel Files, selecione o arquivo .npmrc.

  4. No arquivo .npmrc, defina o escopo do registro do NPM e o token de autenticação do pacote privado no seguinte formato:

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

Substitua:

  • REGISTRY-SCOPE: o escopo do registro do npm ao qual você quer aplicar o token de autenticação.
  • NPM-REGISTRY-URL: o URL do seu registro do NPM, por exemplo, https://npm.pkg.github.com
  • AUTHENTICATION-TOKEN: o token de autenticação do pacote NPM privado. O token de autenticação no arquivo .npmrc precisa corresponder ao token de autenticação no segredo enviado. O token de autenticação é fornecido como uma variável de ambiente no arquivo .npmrc. Portanto, adicione os colchetes de abertura ${ e fechamento }.

    É possível inserir vários tokens de autenticação.

O exemplo de código abaixo mostra um token de autenticação para um pacote NPM particular adicionado ao arquivo .npmrc em um repositório do Dataform:

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

Autentique um pacote particular posterior em um repositório do Dataform

Para autenticar um pacote NPM particular em um repositório do Dataform que já contém um segredo com tokens de autenticação de pacote e um arquivo .npmrc, siga estas etapas:

  1. No Secret Manager, list secrets e selecione o secret que armazena tokens de autenticação de pacotes NPM privados do repositório.

  2. Adicione uma nova versão ao secret.

    O Dataform usa a versão mais recente do segredo por padrão.

    1. Adicione o token de autenticação do pacote privado ao valor secreto no seguinte formato:
    {
      "AUTHENTICATION_TOKEN_NAME": "TOKEN_VALUE"
    }
    

    Substitua:

    • AUTHENTICATION_TOKEN_NAME: um nome exclusivo para o token que identifica o pacote que ele autentica
    • TOKEN_VALUE: o valor do token de autenticação, obtido do registro do NPM

    É possível adicionar vários tokens de autenticação de uma vez.

  3. No Dataform, adicione o token de autenticação ao arquivo .npmrc no repositório.

Depois de autenticar o pacote NPM particular, você pode instalar o pacote no repositório do Dataform.

A seguir