Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como gerenciar papéis em entidades de serviço na sua conta do Azure Databricks.
Uma entidade de serviço é uma identidade que você cria em Azure Databricks para uso com ferramentas, trabalhos e aplicativos automatizados. As entidades de serviço oferecem acesso exclusivo por API a ferramentas e scripts automatizados aos recursos do Azure Databricks, proporcionando mais segurança do que o uso de contas de usuário ou grupos.
Você pode conceder acesso a usuários do Azure Databricks, entidades de serviço e grupos de contas para usar uma entidade de serviço. Isso permite que os usuários executem trabalhos como principal de serviço, em vez de sua identidade. Isso evita que os trabalhos falhem se um usuário sair da sua organização ou se um grupo for modificado.
Para obter uma visão geral das entidades de serviço, consulte as entidades de serviço.
Funções do service principal
As funções do principal de serviço são funções no nível da conta. Isso significa que eles só precisam ser definidos uma vez em sua conta e aplicados em todos os espaços de trabalho. Há duas funções que podem ser concedidas a uma entidade de serviço: Gerente da Entidade de Serviço e Usuário da Entidade de Serviço.
- O Gerente de Principal de Serviço permite que você gerencie funções em um principal de serviço. O criador de uma entidade de serviço tem a função Gerente de entidade de serviço na entidade de serviço. Os administradores de conta têm a função Gerente de entidade de serviço em todas as entidades de serviço em uma conta.
Observação
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 Gerente de entidade de serviço por padrão. Se você precisar ser um gerente, peça a um administrador de conta para atribuir a função de Service Principal Manager a você.
- O usuário da entidade de serviço permite que os usuários do workspace executem trabalhos como a entidade de serviço. O trabalho será executado com a identidade do principal de serviço, em vez da identidade do proprietário do trabalho.
Os usuários com a função Gerente de entidade de serviço não herdam a função Usuário da entidade de serviço. Se você deseja usar o principal de serviço para executar tarefas, você precisará atribuir-se explicitamente a função de usuário do principal de serviço, mesmo após criar o principal de serviço.
Observação
As funções de principal de serviço do Azure Databricks não se sobrepõem às funções do Azure ou às funções do Microsoft Entra ID. Essas funções abrangem apenas a conta Azure Databricks.
Gerenciar funções da entidade de serviço usando o console da conta
Os administradores da conta podem gerenciar funções de entidades de serviço usando o console da conta.
Exibir funções em um principal de serviço
- Como administrador de conta, faça logon no console da conta.
- Na barra lateral, clique em Gerenciamento de usuários .
- Na guia Principais de Serviço, encontre e clique no nome.
- Clique na guia Permissões.
Você pode ver a lista de principais e as funções que lhes são concedidas no principal do serviço. Você também pode usar a barra de pesquisa para pesquisar por um usuário ou função específica.
Conceder funções em um principal de serviço
Como administrador de conta, faça logon no console da conta.
Na barra lateral, clique em Gerenciamento de usuários .
Na guia Principais de Serviço, encontre e clique no nome.
Clique na guia Permissões.
Clique em Conceder acesso.
Pesquise e selecione o usuário, a entidade de serviço ou o grupo e escolha a função ou as funções (Entidade de serviço: Gerente ou Entidade de serviço: Usuário) a serem atribuídas.
Observação
Os usuários com a função Gerente de entidade de serviço não herdam a função Usuário da entidade de serviço. Se você quiser que o usuário use a entidade de serviço para executar trabalhos, será necessário atribuir explicitamente a função Usuário da entidade de serviço.
Clique em Save (Salvar).
Revogar funções em uma entidade de serviço
- Como administrador de conta, faça logon no console da conta.
- Na barra lateral, clique em Gerenciamento de usuários .
- Na guia Entidades de Serviço, localize e clique no nome da entidade de serviço.
- Clique na guia Permissões.
- Pesquise o usuário, a entidade de serviço ou o grupo para editar suas funções.
- Na linha com o principal, clique no
Em seguida, selecione Editar. Como alternativa, selecione Excluir para revogar todas as funções do principal.
- Clique em Editar.
- Clique no X ao lado das funções que você deseja revogar.
- Clique em Save (Salvar).
Gerenciar funções da entidade de serviço usando a página de configurações de administração do espaço de trabalho
Os administradores do workspace podem gerenciar funções de principais de serviço para os principais de serviço nos quais eles têm a função Gerente de Principal de Serviço usando a página de configurações do administrador.
Exibir funções em uma entidade de serviço
- Como administrador do workspace, faça login no workspace do Azure Databricks.
- Clique no nome de usuário na barra superior do workspace Azure Databricks e selecione Settings.
- Clique na guia Identidade e acesso.
- Ao lado de Entidades de serviço, clique em Gerenciar.
- Localize e clique no nome.
- Clique na guia Permissões.
Você pode ver a lista de principais de segurança e os papéis que são atribuídos a eles na entidade de serviço. Você também pode usar a barra de pesquisa para procurar por um principal ou função específica.
Conceder funções em uma entidade de serviço
Você deve ter a função Gerente da entidade de serviço em uma entidade de serviço para conceder funções.
Como administrador do workspace, faça login no workspace do Azure Databricks.
Clique no nome de usuário na barra superior do workspace Azure Databricks e selecione Settings.
Clique na guia Identidade e acesso.
Ao lado de Entidades de serviço, clique em Gerenciar.
Localize e clique no nome.
Clique na guia Permissões.
Clique em Conceder acesso.
Pesquise e selecione o usuário, a entidade de serviço ou o grupo e escolha a função ou as funções (Entidade de serviço: Gerente ou Entidade de serviço: Usuário) a serem atribuídas.
Observação
As funções podem ser concedidas a qualquer usuário, entidade de serviço ou grupo no nível da conta, mesmo que não sejam membros do workspace. As funções não podem ser concedidas a grupos locais do espaço de trabalho.
Os usuários com a função Gerente de entidade de serviço não herdam a função Usuário da entidade de serviço. Se você quiser que o usuário use a entidade de serviço para executar trabalhos, será necessário atribuir explicitamente a função Usuário da entidade de serviço.
Clique em Save (Salvar).
Revogar funções em uma entidade de serviço
Você deve ter a função Gerente da entidade de serviço em uma entidade de serviço para revogar funções.
- Como administrador do workspace, faça login no workspace Azure Databricks.
- Clique no nome de usuário na barra superior do workspace Azure Databricks e selecione Settings.
- Clique na guia Identidade e acesso.
- Ao lado de Entidades de serviço, clique em Gerenciar.
- Localize e clique no nome.
- Clique na guia Permissões.
- Pesquise o usuário, a entidade de serviço ou o grupo para editar suas funções.
- Na linha com o principal, clique no
Em seguida, selecione Editar. Como alternativa, selecione Excluir para revogar todas as funções do principal.
- Clique em Editar.
- Clique no X ao lado das funções que você deseja revogar.
- Clique em Save (Salvar).
Gerenciar funções de entidade de serviço usando a CLI do Databricks
Você precisa ter a função de Administrador de Principal do Serviço para gerenciar funções de um principal do serviço. Você pode usar a CLI do Databricks para gerenciar funções. Para obter informações sobre como instalar e autenticar na CLI do Databricks, consulte a CLI do Databricks.
Você também pode gerenciar funções de entidade de serviço usando a Accounts Controle de Acesso API. A API de Controle de Acesso de Contas é suportada através da conta Azure Databricks e dos workspaces.
Os administradores da conta chamam a API em accounts.azuredatabricks.net ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).
Os usuários com a função Gerente de entidade de serviço que não são administradores de conta chamam a API no domínio do workspace ({workspace-domain}/api/2.0/preview/accounts/access-control/).
Atribuir funções em uma entidade de serviço usando a CLI do Databricks
A API de Controle de Acesso de Contas e a CLI usam um campo etag para garantir a consistência. Para conceder ou revogar funções da entidade de serviço por meio da API, primeiro, emita um comando de conjunto de regras GET e receba um etag como resposta. Em seguida, você pode aplicar alterações localmente e, por fim, emitir um conjunto de regras PUT com o etag.
Por exemplo, emita um conjunto de regras GET na entidade de serviço à qual você deseja conceder acesso executando o seguinte comando:
databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>
Substitua:
-
<account-id>com a ID da conta. -
<application-id>com a ID do aplicativo da entidade de serviço. -
<etag>com “”
Resposta de exemplo:
{
"etag":"<etag>",
"grant_rules": [
{
"principals": [
"users/user@example.com"
],
"role":"roles/servicePrincipal.manager"
},
{
"principals": [
"users/user@example.com"
],
"role":"roles/servicePrincipal.user"
}
],
"name":"<name>"
}
Copie o campo etag do corpo da resposta para uso posterior.
Em seguida, você pode fazer atualizações localmente quando decidir sobre o estado final das regras e, em seguida, atualizar o conjunto de regras usando a etag. Para conceder a função Entidade de serviço: Usuário ao usuário user2@example.com, execute o seguinte:
databricks account access-control update-rule-set --json '{
"name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
"rule_set": {
"name": "accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default",
"grant_rules": [
{
"role": "roles/servicePrincipal.user",
"principals": ["users/user2@example.com"]
}
],
"etag": "<etag>"
}
}'
Substitua:
-
<account-id>com o ID da conta. -
<application-id>com a ID da aplicação principal do serviço. -
<etag>com o etag que você copiou da última resposta.
Resposta de exemplo:
{
"etag":"<new-etag>",
"grant_rules": [
{
"principals": [
"users/user2@example.com"
],
"role":"roles/servicePrincipal.user"
}
],
"name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}
Importante
Como esse é um método PUT, todas as funções existentes são substituídas. Para manter os papéis existentes, você deve adicioná-los à matriz grant_roles.
Liste os principais de serviço que você pode usar
Usando a API de Entidades de Serviço do Workspace, você pode listar as entidades de serviço nas quais você tem a função de usuário filtrando em servicePrincipal/use.
Para listar as entidades de serviço nas quais você tem a função Usuário da Entidade de Serviço, execute o seguinte comando:
databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"
Você também pode listar entidades de serviço usando a API de Entidades de Serviço do Workspace.