Autenticar um pacote particular no Dataform

Neste documento, mostramos como autenticar um pacote NPM particular no Dataform para ativar 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, primeiro autentique 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.

    Acessar 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 ter as permissões necessárias para autenticar pacotes NPM particulares no Dataform, peça ao administrador para conceder a você o papel do IAM de Editor do Dataform (roles/dataform.editor) em repositórios e espaços de trabalho. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Talvez você também consiga receber as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.

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

Para autenticar pacotes NPM particulares no Dataform, você precisa fazer o seguinte antes de instalar o primeiro pacote NPM particular em um repositório do Dataform:

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

    1. Adicione o token de autenticação do pacote, extraído do registro do NPM, ao secret.

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

  2. Faça upload do secret para o 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 secret enviado.

Depois de autenticar o pacote NPM particular, instale-o 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 pacote NPM privado 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 secret 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 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, extraído do registro do NPM
  2. Conceda acesso ao secret para sua conta de serviço do Dataform.

    Sua conta de serviço do Dataform está no seguinte 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.

Faça upload do secret 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 secret com tokens de autenticação de pacotes privados do NPM para um repositório do Dataform, siga estas etapas:

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

    Acesse o Dataform

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

  3. Na página do repositório, clique em Configurações > Configurar pacotes NPM particulares.

  4. No painel Adicionar token secret do pacote NPM, na lista suspensa Secret, selecione o secret que contém tokens de autenticação para pacotes NPM particulares.

  5. Clique em Save.

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. Você precisa armazenar tokens de autenticação para todos os pacotes NPM particulares que vão ser instalados no repositório dentro do arquivo .npmrc. Os tokens de autenticação no arquivo .npmrc precisam corresponder aos tokens de autenticação no secret enviado ao repositório. Para mais informações sobre arquivos .npmrc, consulte a documentação do npmrc (em inglês).

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

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

    Acesse o Dataform

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

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

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

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

    2. Clique em 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 secret com tokens de autenticação de pacote e um arquivo .npmrc, adicione o token de autenticação do pacote particular ao arquivo .npmrc no repositório.

No arquivo .npmrc, é necessário definir o escopo do registro NPM e adicionar o token de autenticação do 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 secret enviado ao 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.

    Acesse o Dataform

  2. Selecione o repositório em que você quer instalar os pacotes NPM particulares e, em seguida, 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 particular 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 registro do NPM, por exemplo, https://npm.pkg.github.com
  • AUTHENTICATION-TOKEN: o token de autenticação para o pacote NPM particular. O token de autenticação no arquivo .npmrc precisa corresponder ao token de autenticação no secret enviado. O token de autenticação é fornecido como uma variável de ambiente no arquivo .npmrc. Portanto, adicione os colchetes de fechamento ${ e }.

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

O exemplo de código a seguir 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}

Autenticar um pacote particular subsequente em um repositório do Dataform

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

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

  2. Adicione uma nova versão ao secret.

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

    1. Adicione o token de autenticação do pacote privado ao valor do secret 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, extraído do registro do NPM

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

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

Depois de autenticar o pacote NPM particular, instale-o no repositório do Dataform.

A seguir