entidade de serviço para CI/CD

Este artigo descreve como usar a entidade de serviço para CI/CD com Databricks. Uma entidade de serviço é uma identidade criada para uso com ferramentas e aplicativos automatizados, inclusive:

Como prática recomendada de segurança, o Databricks recomenda usar uma entidade de serviço do Databricks e seus tokens em vez do usuário do Databricks ou dos access tokens pessoal do Databricks para o usuário do seu workspace para fornecer às plataformas CI/CD acesso ao recurso Databricks. Alguns benefícios dessa abordagem incluem o seguinte:

  • Você pode conceder e restringir o acesso aos recursos Databricks para uma entidade de serviço Databricks independentemente de um usuário. Por exemplo, isso permite que você proíba que uma entidade de serviço Databricks atue como administrador em seu workspace Databricks enquanto ainda permite que outros usuários específicos em seu workspace continuem a agir como administradores.

  • Os usuários podem proteger seu access token de ser acessado por plataformas de CI/CD.

  • Você pode desabilitar temporariamente ou excluir permanentemente uma entidade de serviço Databricks sem afetar outros usuários. Por exemplo, isso permite pausar ou remover o acesso de uma entidade de serviço do Databricks que você suspeita estar sendo usada de maneira maliciosa.

  • Se um usuário deixar sua organização, você poderá removê-lo sem afetar nenhuma entidade de serviço do Databricks.

Para dar a uma plataforma de CI/CD acesso ao seu workspace do Databricks, faça o seguinte:

  1. Crie uma entidade de serviço Databricks em seu workspace.

  2. Gere um access token pessoal do Databricks para uma entidade de serviço do Databricks.

  3. Dê este access token pessoal do Databricks à plataforma CI/CD.

Para concluir os passos 1 e 2, consulte gerenciar entidade de serviço.

Para concluir a passo 3, siga as instruções neste artigo.

Opcionalmente, se o senhor também quiser usar seu Databricks workspace com pastas Git do Databricks em um cenário de plataforma CI/CD, consulte Adicionar credenciais de provedor Git a um Databricks workspace. Por exemplo, talvez o senhor queira que o provedor do Git acesse o seu workspace e também queira usar as pastas do Git da Databricks no seu workspace com o provedor do Git. No entanto, o senhor não precisa usar as pastas Git da Databricks para usar o workspace com plataformas de CI/CD.

Requisitos

  • O Databricks pessoal access token para uma Databricks entidade de serviço. Para criar uma Databricks entidade de serviço e sua Databricks pessoal access token, consulte gerenciar entidade de serviço.

  • Uma account com seu provedor Git.

Configurar ações do GitHub

O GitHub Actions deve ser capaz de acessar seu Databricks workspace. Se quiser usar as pastas Git da Databricks, o site workspace também deve ser capaz de acessar o GitHub.

Para permitir que GitHub Actions acesse seu workspace do Databricks, você deve registrar o access token pessoal do Databricks para sua entidade de serviço do Databricks com GitHub Actions.

Se também quiser habilitar seu Databricks workspace para acessar o GitHub quando usar as pastas Git do Databricks, o senhor deve adicionar o access token pessoal do GitHub para um usuário de máquina do GitHub ao seu workspace.

registrar o access token pessoal do Databricks para sua entidade de serviço do Databricks com GitHub Actions

Esta seção descreve como habilitar ações do GitHub para acessar seu workspace Databricks.

Como prática recomendada de segurança, o Databricks recomenda que você não insira um access token pessoal do Databricks diretamente no corpo de um arquivo GitHub Actions. Você deve registrar o access token pessoal do Databricks com GitHub Actions usando segredos criptografados do GitHub.

Ações do GitHub, como as listadas pelo Databricks em Integração e entrega contínuas usando ações do GitHub, bem como os arquivos onpush.yml e onrelease.yml como parte do Python básico padrão em dbx para ações do GitHub, dependem do GitHub criptografado segredos como:

  • DATABRICKS_HOST, que é o valor https:// seguido pelo nome da instância do espaço de trabalho, por exemplo 1234567890123456.7.gcp.databricks.com.

  • DATABRICKS_TOKEN, que é o valor token_value que você copiou depois de criar o access token pessoal do Databricks para a entidade de serviço do Databricks.

Para obter mais informações sobre quais segredos criptografados GitHub são necessários para um GitHub Actions, consulte gerenciar entidade de serviço e a documentação para esse GitHub Actions.

Para adicionar esses segredos criptografados do GitHub ao seu repositório GitHub, consulte Criando segredos criptografados para um repositório na documentação do GitHub. Para outras abordagens para adicionar esses segredos do repositório do GitHub, consulte Segredos criptografados na documentação do GitHub.

Adicione os access tokens pessoal do GitHub para um usuário de máquina GitHub ao seu espaço de trabalho Databricks

Esta seção descreve como habilitar o seu Databricks workspace para acessar o GitHub com as pastas Git do Databricks. Essa é uma tarefa opcional em cenários de CI/CD.

Como prática recomendada de segurança, Databricks recomenda que você use usuários de máquina GitHub em vez de account pessoal GitHub, por muitos dos mesmos motivos pelos quais você deve usar uma entidade de serviço Databricks em vez de um usuário Databricks. Para adicionar os access tokens pessoal do GitHub para um usuário de máquina GitHub ao seu workspace Databricks, faça o seguinte:

  1. Crie um usuário de máquina GitHub, caso ainda não tenha um disponível. Um usuário de máquina GitHub é uma account pessoal do GitHub , separada de sua própria account pessoal do GitHub , que você pode usar para automatizar a atividade no GitHub. Crie uma nova conta GitHub separada para usar como um usuário de máquina GitHub, caso ainda não tenha uma disponível.

    Observação

    Ao criar uma nova account GitHub separada como um usuário de máquina GitHub, você não pode associá-la ao endereço email de sua própria account pessoal GitHub. Em vez disso, consulte o administrador email da sua organização para obter um endereço email separado que você possa associar a esta nova account separada do GitHub como um usuário de máquina GitHub.

    Consulte o administrador account da sua organização sobre como gerenciar o endereço email separado e seu usuário de máquina GitHub associado e seu access token pessoal GitHub em sua organização.

  2. Conceda ao usuário da máquina GitHub acesso ao seu repositório GitHub. Consulte Convidar uma equipe ou pessoa na documentação do GitHub. Para aceitar o convite, primeiro você precisa sair da sua account pessoal do GitHub e, em seguida, entrar novamente como usuário da máquina GitHub.

  3. Entre no GitHub como o usuário da máquina e crie access tokens pessoal do GitHub para esse usuário da máquina. Consulte Criar access tokenspessoal na documentação do GitHub. Certifique-se de fornecer acesso ao repositório access tokens pessoal do GitHub.

  4. Reúna o access token pessoal do Databricks para sua entidade de serviço do Databricks, seu nome de usuário da máquina GitHub e, em seguida , adicione credenciais do provedor Git a um workspacedo Databricks.

Configurar GitLab CI/CD

O GitLab CI/CD deve ser capaz de acessar seu Databricks workspace. Se o senhor também quiser usar as pastas Git da Databricks, o site workspace deverá ser capaz de acessar o GitLab CI/CD.

Para acessar seu workspace do Databricks, os arquivos GitLab CI/CD .gitlab-ci.yml, como o que faz parte do Python básico padrão em dbx, contam com variáveis CI/CD personalizadas, como:

  • DATABRICKS_HOST, que é o valor https:// seguido pelo nome da instância do espaço de trabalho, por exemplo 1234567890123456.7.gcp.databricks.com.

  • DATABRICKS_TOKEN, que é o valor token_value que você copiou depois de criar o access token pessoal do Databricks para a entidade de serviço do Databricks.

Para adicionar essas variáveis personalizadas ao seu projeto GitLab CI/CD, consulte Adicionar uma variável CI/CD a um projeto na documentação do GitLab CI/CD.

Se o seu workspace usa as pastas Git do Databricks e o senhor deseja habilitar o workspace para acessar o GitLab CI/CD, reúna-se:

  • O access token pessoal do Databricks para sua entidade de serviço do Databricks

  • Seu nome de usuário do GitLab CI/CD

Em seguida , adicione as credenciais do provedor Git a um workspace do Databricks.

Adicionar credenciais do provedor Git a um espaço de trabalho Databricks

Esta seção descreve como habilitar o Databricks workspace para acessar um provedor Git para as pastas Git do Databricks. Isso é opcional em cenários de CI/CD. Por exemplo, talvez o senhor queira apenas que o provedor Git acesse o site workspace da Databricks, mas não queira também usar as pastas Git da Databricks no site workspace com o provedor Git. Se sim, pule esta seção.

Antes de começar, reúna as seguintes informações e ferramentas:

  • O access token pessoal do Databricks para sua entidade de serviço do Databricks.

  • O nome de usuário associado ao seu provedor Git.

  • Os access tokens associados ao usuário para seu provedor Git.

  • Databricks CLI versão 0.205 ou acima. Consulte O que é a CLI do Databricks?. Você não pode usar a interface do usuário do Databricks.

  • Um perfil de configuração do Databricks em seu arquivo .databrickscfg, com os campos do perfil definidos corretamente para o host relacionado representando o URL da instância do espaço de trabalho do Databricks, por exemplo https://1234567890123456.7.gcp.databricks.com, e token representando o access token pessoal do Databricks para sua entidade do Databricks de serviço. ( Não utilize o access token pessoal do Databricks para o utilizador do seu workspace .) Consulte Autenticação access token pessoal do Databricks.

Use a CLI do Databricks para executar o seguinte comando:

databricks git-credentials create <git-provider-short-name> --git-username <git-provider-user-name> --personal-access-token <git-provider-access-token> -p <profile-name>
  • Use um dos seguintes para <git-provider-short-name>:

    • Para GitHub, use GitHub.

    • Para pipeline do Azure, use AzureDevOpsServices.

    • Para GitLab CI/CD, use GitLab.

  • Substitua <git-provider-user-name> pelo nome de usuário associado ao seu provedor Git.

  • Substitua <git-provider-access-token> pelos access tokens associados ao usuário para seu provedor Git.

  • Substitua <profile-name> pelo nome do perfil de configuração do Databricks em seu arquivo .databrickscfg .

Dica

Para confirmar que a chamada foi bem-sucedida, você pode executar um dos seguintes comandos da CLI do Databricks e revisar a saída:

databricks git-credentials list -p <profile-name>
databricks git-credentials get <credential-id> -p <profile-name>