Partilhar via


Gerir principais de serviço

Este artigo explica como criar e gerenciar entidades de serviço para sua conta e espaços de trabalho do Azure Databricks.

Para obter uma visão geral do modelo de identidade do Azure Databricks, consulte Identidades do Azure Databricks.

Para gerenciar o acesso de entidades de serviço, consulte Autenticação e controle de acesso.

O que é um principal de serviço?

Um principal de serviço é uma identidade que cria no Azure Databricks para utilização com ferramentas, tarefas e aplicações automatizadas. Os principais de serviço dão acesso apenas à API de ferramentas e scripts automatizados aos recursos do Azure Databricks, proporcionando maior segurança do que a utilização de utilizadores ou grupos.

Você pode conceder e restringir o acesso de uma entidade de serviço aos recursos da mesma forma que pode conceder a um usuário do Azure Databricks. Por exemplo, você pode fazer o seguinte:

  • Dê a uma entidade de serviço funções de administrador de conta e administrador de espaço de trabalho.
  • Dê a uma entidade de serviço acesso aos dados, seja no nível da conta usando o Unity Catalog, ou no nível do espaço de trabalho.
  • Adicione uma entidade de serviço a um grupo no nível da conta e do espaço de trabalho, incluindo o grupo do espaço de trabalho admins .

Você também pode conceder permissões a usuários, entidades de serviço e grupos do Azure Databricks para usar uma entidade de serviço. Isso permite que os usuários executem trabalhos como a entidade de serviço, em vez de como sua identidade. Isso evita que os trabalhos falhem se um usuário sair da sua organização ou se um grupo for modificado.

Ao contrário de um utilizador do Azure Databricks, um principal de serviço é uma identidade só de API; não pode ser utilizado para aceder à IU do Azure Databricks.

O Databricks recomenda que você habilite seus espaços de trabalho para federação de identidades. A federação de identidades permite configurar entidades de serviço no console da conta e, em seguida, atribuir-lhes acesso a espaços de trabalho específicos. Isso simplifica a administração e a governança de dados do Azure Databricks.

Importante

O Databricks começou a habilitar novos espaços de trabalho para federação de identidades e Unity Catalog automaticamente em 9 de novembro de 2023, com uma implementação prosseguindo gradualmente entre contas. Se o espaço de trabalho estiver habilitado para federação de identidades por padrão, ele não poderá ser desabilitado. Para obter mais informações, consulte Ativação automática do catálogo Unity.

Entidades de serviço Databricks e Microsoft Entra ID

As entidades de serviço podem ser entidades de serviço gerenciado do Azure Databricks ou entidades de serviço gerenciado do Microsoft Entra ID.

Os principais de serviço geridos pelo Azure Databricks podem autenticar-se no Azure Databricks através da autenticação OAuth do Databricks e tokens de acesso pessoal. Os principais de serviço geridos pelo Microsoft Entra ID podem autenticar-se no Azure Databricks através da autenticação OAuth do Databricks e tokens do Microsoft Entra ID. Para obter mais informações sobre autenticação para entidades de serviço, consulte Gerenciar tokens para uma entidade de serviço.

As entidades de serviço gerenciado do Azure Databricks são gerenciadas diretamente no Azure Databricks. As entidades de serviço gerenciadas do Microsoft Entra ID são gerenciadas no Microsoft Entra ID, o que requer permissões adicionais. O Databricks recomenda que você use entidades de serviço gerenciado do Azure Databricks para automação do Azure Databricks e que use entidades de serviço gerenciado do Microsoft Entra ID nos casos em que você deve autenticar com o Azure Databricks e outros recursos do Azure ao mesmo tempo.

Para criar uma entidade de serviço gerenciada do Azure Databricks, ignore esta seção e continue lendo com Quem pode gerenciar e usar entidades de serviço?.

Para usar entidades de serviço gerenciado do Microsoft Entra ID no Azure Databricks, um usuário administrador deve criar um aplicativo Microsoft Entra ID no Azure. Para criar uma entidade de serviço gerenciada do Microsoft Entra ID, consulte Autenticação da entidade de serviço do MS Entra.

Quem pode gerenciar e usar entidades de serviço?

Para gerenciar entidades de serviço no Azure Databricks, você deve ter uma das seguintes opções: a função de administrador de conta, a função de administrador de espaço de trabalho ou a função de gerente ou usuário em uma entidade de serviço.

  • Os administradores de conta podem adicionar entidades de serviço à conta e atribuir-lhes funções de administrador. Eles também podem atribuir entidades de serviço a espaços de trabalho, desde que esses espaços de trabalho usem federação de identidades.
  • Os administradores de espaço de trabalho podem adicionar entidades de serviço a um espaço de trabalho do Azure Databricks, atribuir-lhes a função de administrador do espaço de trabalho e gerenciar o acesso a objetos e funcionalidades no espaço de trabalho, como a capacidade de criar clusters ou acessar ambientes baseados em persona especificados.
  • Os gerentes de entidade de serviço podem gerenciar funções em uma entidade de serviço. O criador de um principal de serviço torna-se o gestor do principal de serviço. Os administradores de conta são gerentes de entidade de serviço em todas as entidades de serviço em uma conta.

Nota

Se uma entidade de serviço tiver sido criada antes de 13 de junho de 2023, o criador da entidade de serviço não terá a função de gerente de entidade de serviço por padrão. Peça a um administrador de conta que lhe conceda a função de gestor da entidade de serviço.

Os usuários com a função Service Principal Manager não herdam a função Service Principal User . Se quiser usar a entidade de serviço para executar trabalhos, você precisará atribuir explicitamente a si mesmo a função de usuário da entidade de serviço, mesmo depois de criar a entidade de serviço.

  • Os usuários da entidade de serviço podem executar trabalhos como a entidade de serviço. O trabalho é executado usando a identidade da entidade de serviço, em vez da identidade do proprietário do trabalho. Para obter mais informações, consulte Gerenciar identidades, permissões e privilégios para trabalhos do Databricks.

Para obter informações sobre como conceder funções de usuário e gerente da entidade de serviço, consulte Funções para gerenciar entidades de serviço.

Gerir entidades de serviço na sua conta

Os administradores de conta podem adicionar entidades de serviço à sua conta do Azure Databricks usando o console de conta.

Adicionar entidades de serviço à sua conta usando o console da conta

As entidades de serviço podem ser criadas no Azure Databricks ou vinculadas a partir de uma entidade de serviço existente do Microsoft Entra ID. Consulte Databricks e entidades de serviço do Microsoft Entra ID.

  1. Como administrador da conta, inicie sessão na consola da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários.
  3. Na guia Entidades de serviço, clique em Adicionar entidade de serviço.
  4. Em Gerenciamento, escolha Databricks gerenciado ou Microsoft Entra ID gerenciado.
  5. Se você escolheu a ID do Microsoft Entra gerenciada, em ID do aplicativo Microsoft Entra, cole a ID do aplicativo (cliente) para a entidade de serviço.
  6. Insira um nome para a entidade de serviço.
  7. Clique em Adicionar.

Atribuir funções de administrador de conta a uma entidade de serviço

  1. Como administrador da conta, inicie sessão na consola da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários.
  3. Na guia Entidades de serviço, localize e clique no nome de usuário.
  4. Na guia Funções, ative Administrador de conta ou Administrador do Marketplace.

Atribuir uma entidade de serviço a um espaço de trabalho usando o console de conta

Para adicionar usuários a um espaço de trabalho usando o console de conta, o espaço de trabalho deve estar habilitado para federação de identidades. Os administradores de espaço de trabalho também podem atribuir entidades de serviço a espaços de trabalho usando a página de configurações de administração do espaço de trabalho. Para obter detalhes, consulte Adicionar uma entidade de serviço a um espaço de trabalho usando as configurações de administrador do espaço de trabalho.

  1. Como administrador da conta, inicie sessão na consola da conta.
  2. Na barra lateral, clique em Espaços de trabalho.
  3. Clique no nome do espaço de trabalho.
  4. No separador Permissões, clique em Adicionar permissões.
  5. Procure e selecione a entidade de serviço, atribua o nível de permissão (usuário ou administrador do espaço de trabalho) e clique em Salvar.

Remover uma entidade de serviço de um espaço de trabalho usando o console da conta

Para remover entidades de serviço de um espaço de trabalho usando o console de conta, o espaço de trabalho deve estar habilitado para federação de identidades. Quando uma entidade de serviço é removida de um espaço de trabalho, a entidade de serviço não pode mais acessar o espaço de trabalho, no entanto, as permissões são mantidas na entidade de serviço. Se a entidade de serviço for adicionada posteriormente de volta ao espaço de trabalho, ela recuperará suas permissões anteriores.

  1. Como administrador de conta, inicie sessão na consola da conta
  2. Na barra lateral, clique em Espaços de trabalho.
  3. Clique no nome do espaço de trabalho.
  4. Na guia Permissões, localize a entidade de serviço.
  5. Clique no Menu de kebab menu kebab na extremidade direita da linha principal do serviço e selecione Remover.
  6. Na caixa de diálogo de confirmação, clique em Remover.

Desativar uma entidade de serviço na sua conta do Azure Databricks

Os administradores de conta podem desativar entidades de serviço em uma conta do Azure Databricks. Uma entidade de serviço desativada não pode se autenticar na conta ou nos espaços de trabalho do Azure Databricks. No entanto, todas as permissões e objetos de espaço de trabalho da entidade de serviço permanecem inalterados. Quando uma entidade de serviço é desativada, o seguinte é verdadeiro:

  • A entidade de serviço não pode autenticar-se na conta ou em qualquer um dos seus espaços de trabalho a partir de qualquer método.
  • Aplicativos ou scripts que usam os tokens gerados pela entidade de serviço não podem mais acessar a API do Databricks. Os tokens permanecem, mas não podem ser usados para autenticar enquanto uma entidade de serviço é desativada.
  • Os clusters pertencentes à entidade de serviço permanecem em execução.
  • Os trabalhos agendados criados pela entidade de serviço falham, a menos que sejam atribuídos a um novo proprietário.

Quando uma entidade de serviço é reativada, ela pode fazer logon no Azure Databricks com as mesmas permissões. O Databricks recomenda desativar entidades de serviço da conta em vez de removê-las porque remover uma entidade de serviço é uma ação destrutiva. O status de uma entidade de serviço desativada é rotulado como Inativo no console da conta. Você também pode desativar uma entidade de serviço de um espaço de trabalho específico. Consulte Desativar uma entidade de serviço no seu espaço de trabalho do Azure Databricks.

Não é possível desativar uma entidade de serviço usando o console da conta. Em vez disso, use a API de Entidades de Serviço de Conta.

Por exemplo:

curl --netrc -X PATCH \
https://${DATABRICKS_HOST}/api/2.1/accounts/{account_id}/scim/v2/ServicePrincipals/{id} \
--header 'Content-type: application/scim+json' \
--data @update-sp.json \
| jq .

update-sp.json:

{
  "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ],
  "Operations": [
    {
      "op": "replace",
      "path": "active",
      "value": [
        {
          "value": "false"
        }
      ]
    }
  ]
}

Remover entidades de serviço da sua conta do Azure Databricks

Os administradores de conta podem excluir entidades de serviço de uma conta do Azure Databricks. Os administradores do espaço de trabalho não podem. Quando você exclui uma entidade de serviço da conta, essa entidade também é removida de seus espaços de trabalho.

Importante

Quando você remove uma entidade de serviço da conta, essa entidade de serviço também é removida de seus espaços de trabalho, independentemente de a federação de identidades ter sido habilitada ou não. Recomendamos que você se abstenha de excluir entidades de serviço no nível da conta, a menos que queira que elas percam o acesso a todos os espaços de trabalho da conta. Esteja ciente das seguintes consequências da exclusão de entidades de serviço:

  • Aplicativos ou scripts que usam os tokens gerados pela entidade de serviço não podem mais acessar APIs do Databricks
  • Os trabalhos pertencentes à entidade de serviço falham
  • Clusters pertencentes à parada da entidade de serviço
  • Consultas ou painéis criados pela entidade de serviço e compartilhados usando a credencial Executar como Proprietário precisam ser atribuídos a um novo proprietário para evitar que o compartilhamento falhe

Quando uma entidade de serviço do Microsoft Entra ID é removida de uma conta, a entidade de serviço não pode mais acessar a conta ou seus espaços de trabalho, no entanto, as permissões são mantidas na entidade de serviço. Se a entidade de serviço for adicionada posteriormente de volta à conta, ela recuperará suas permissões anteriores.

Para remover uma entidade de serviço usando o console da conta, faça o seguinte:

  1. Como administrador da conta, inicie sessão na consola da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários.
  3. Na guia Entidades de serviço, localize e clique no nome de usuário.
  4. Na guia Informações principais, cliqueMenu de kebab no menu kebab no canto superior direito e selecione Excluir.
  5. Na caixa de diálogo de confirmação, clique em Confirmar exclusão.

Gerenciar entidades de serviço em seu espaço de trabalho

Os administradores de espaço de trabalho podem gerenciar entidades de serviço em seus espaços de trabalho usando a página de configurações de administração do espaço de trabalho.

Adicionar uma entidade de serviço a um espaço de trabalho usando as configurações de administrador do espaço de trabalho

As entidades de serviço podem ser criadas no Azure Databricks ou vinculadas a partir de uma entidade de serviço existente do Microsoft Entra ID. Consulte Databricks e entidades de serviço do Microsoft Entra ID.

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.

  2. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Definições.

  3. Clique na guia Identidade e acesso .

  4. Ao lado de Entidades de serviço, clique em Gerenciar.

  5. Clique em Adicionar entidade de serviço.

  6. Selecione uma entidade de serviço existente para atribuir ao espaço de trabalho ou clique em Adicionar novo para criar um novo.

    Para adicionar uma nova entidade de serviço, escolha Databricks gerenciado ou Microsoft Entra ID gerenciado. Se você escolher Microsoft Entra ID gerenciado, cole o ID do aplicativo (cliente) para a entidade de serviço e insira um nome para exibição.

  7. Clique em Adicionar.

Nota

Se o espaço de trabalho não estiver habilitado para federação de identidades, você não poderá atribuir entidades de serviço de conta existentes ao espaço de trabalho.

Atribuir a função de administrador do espaço de trabalho a uma entidade de serviço usando a página de configurações de administrador do espaço de trabalho

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.
  2. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Definições.
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Grupos, clique em Gerenciar.
  5. Selecione o grupo de admins sistemas.
  6. Clique em Adicionar membros.
  7. Selecione a entidade de serviço e clique em Confirmar.

Para remover a função de administrador do espaço de trabalho de uma entidade de serviço, remova a entidade de serviço do grupo de administradores.

Desativar uma entidade de serviço no seu espaço de trabalho do Azure Databricks

Os administradores de espaço de trabalho podem desativar entidades de serviço em um espaço de trabalho do Azure Databricks. Uma entidade de serviço desativada não pode acessar o espaço de trabalho das APIs do Azure Databricks, no entanto, todas as permissões e objetos de espaço de trabalho da entidade de serviço permanecem inalterados. Quando uma entidade de serviço é desativada:

  • A entidade de serviço não pode autenticar nos espaços de trabalho a partir de qualquer método.
  • O status da entidade de serviço é exibido como Inativo na página de configuração de administrador do espaço de trabalho.
  • Aplicativos ou scripts que usam os tokens gerados pela entidade de serviço não podem mais acessar a API do Databricks. Os tokens permanecem, mas não podem ser usados para autenticar enquanto uma entidade de serviço é desativada.
  • Os clusters pertencentes à entidade de serviço permanecem em execução.
  • Os trabalhos agendados criados pela entidade de serviço devem ser atribuídos a um novo proprietário para evitar que falhem.

Quando uma entidade de serviço é reativada, ela pode se autenticar no espaço de trabalho com as mesmas permissões. O Databricks recomenda desativar entidades de serviço em vez de removê-las porque remover uma entidade de serviço é uma ação destrutiva.

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.
  2. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Definições.
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Entidades de serviço, clique em Gerenciar.
  5. Selecione a entidade de serviço que deseja desativar.
  6. Em Estado, desmarque Ativo.

Para definir uma entidade de serviço como ativa, execute as mesmas etapas, mas marque a caixa de seleção.

Remover uma entidade de serviço de um espaço de trabalho usando a página de configurações de administração do espaço de trabalho

A remoção de uma entidade de serviço de um espaço de trabalho não remove a entidade de serviço da conta. Para remover uma entidade de serviço da sua conta, consulte Remover entidades de serviço da sua conta do Azure Databricks.

Quando uma entidade de serviço é removida de um espaço de trabalho, a entidade de serviço não pode mais acessar o espaço de trabalho, no entanto, as permissões são mantidas na entidade de serviço. Se a entidade de serviço for adicionada posteriormente a um espaço de trabalho, ela recuperará suas permissões anteriores.

  1. Como administrador do espaço de trabalho, faça logon no espaço de trabalho do Azure Databricks.
  2. Clique no seu nome de utilizador na barra superior da área de trabalho do Azure Databricks e selecione Definições.
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Entidades de serviço, clique em Gerenciar.
  5. Selecione a entidade de serviço.
  6. No canto superior direito, clique em Excluir.
  7. Clique em Excluir para confirmar.

Gerenciar entidades de serviço usando a API

Os administradores de conta e os administradores de espaço de trabalho podem gerenciar entidades de serviço na conta e nos espaços de trabalho do Azure Databricks usando APIs do Databricks. Para gerenciar funções em uma entidade de serviço usando a API, consulte Gerenciar funções de entidade de serviço usando a CLI do Databricks.

Gerenciar entidades de serviço na conta usando a API

Os administradores podem adicionar e gerenciar entidades de serviço na conta do Azure Databricks usando a API de Entidades de Serviço de Conta. Administradores de conta e administradores de espaço de trabalho invocam a API usando uma URL de ponto de extremidade diferente:

  • Os administradores de conta usam {account-domain}/api/2.1/accounts/{account_id}/scim/v2/o .
  • Os administradores do espaço de trabalho usam {workspace-domain}/api/2.0/account/scim/v2/o .

Para obter detalhes, consulte a API de entidades de serviço de conta.

Gerenciar entidades de serviço no espaço de trabalho usando a API

Os administradores de contas e espaços de trabalho podem usar a API de Atribuição de Espaço de Trabalho para atribuir entidades de serviço a espaços de trabalho habilitados para federação de identidades. A API de Atribuição de Espaço de Trabalho tem suporte por meio da conta e dos espaços de trabalho do Azure Databricks.

  • Os administradores de conta usam {account-domain}/api/2.0/accounts/{account_id}/workspaces/{workspace_id}/permissionassignmentso .
  • Os administradores do espaço de trabalho usam {workspace-domain}/api/2.0/preview/permissionassignments/principals/{principal_id}o .

Consulte API de atribuição de espaço de trabalho.

Se seu espaço de trabalho não estiver habilitado para federação de identidades, um administrador de espaço de trabalho poderá usar as APIs no nível do espaço de trabalho para atribuir entidades de serviço aos seus espaços de trabalho. Consulte API de entidades de serviço de espaço de trabalho.

Gerenciar tokens para uma entidade de serviço

As entidades de serviço podem se autenticar em APIs no Azure Databricks usando tokens OAuth do Azure Databricks ou tokens de acesso pessoal do Azure Databricks, da seguinte maneira:

  • Os tokens OAuth do Azure Databricks podem ser usados para autenticar APIs no nível da conta e no nível do espaço de trabalho do Azure Databricks.
    • Os tokens OAuth do Azure Databricks criados no nível da conta do Azure Databricks podem ser usados para autenticar APIs no nível da conta e no nível do espaço de trabalho do Azure Databricks.
    • Os tokens OAuth do Azure Databricks criados no nível do espaço de trabalho do Azure Databricks podem ser usados para autenticar apenas APIs no nível do espaço de trabalho do Azure Databricks.
  • Os tokens de acesso pessoal do Azure Databricks podem ser usados para autenticar apenas APIs no nível do espaço de trabalho do Azure Databricks.

Gerenciar autenticação OAuth do Databricks para uma entidade de serviço

Para autenticar em APIs REST do Databricks no nível da conta e no nível do espaço de trabalho, os administradores de conta podem usar tokens OAuth do Azure Databricks para entidades de serviço. Você pode solicitar um token OAuth usando a ID do cliente e um segredo do cliente para a entidade de serviço. Para obter mais informações, consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).

Consulte também