Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como gerir papéis nos principais de serviço na sua conta Azure Databricks.
Um principal de serviço é uma identidade que cria no Azure Databricks para utilização com ferramentas, trabalhos e aplicações automatizados. Os service principals fornecem às ferramentas e scripts automatizados acesso somente por API aos recursos do Azure Databricks, proporcionando maior segurança do que o uso de utilizadores ou grupos.
Pode conceder acesso a utilizadores do Azure Databricks, principais de serviço e grupos de conta para usar um principal de serviço. Isso permite que os usuários executem trabalhos como o principal 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.
Para obter uma visão geral das entidades de serviço, consulte Entidades de serviço.
Funções principais do serviço
As funções principais 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 se podem conceder num principal de serviço: Service Principal Manager e Service Principal User.
- O Service Principal Manager permite que você gerencie funções em uma entidade de serviço. O criador de uma entidade de serviço tem a função de Gerente da Entidade de Serviço na entidade de serviço. Os administradores de conta têm a função Service Principal Manager em todas as entidades de serviço de 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 Service Principal Manager por padrão. Se precisar ser gestor, peça a um administrador de conta que lhe conceda a função de Gestor Principal de Serviço.
- Service Principal User permite que os utilizadores do espaço de trabalho executem trabalhos como o Service Principal. 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 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.
Nota
Os papéis do 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. Estes papéis abrangem apenas a conta do Azure Databricks.
Gerir roles de Service Principal usando o console da conta
Os administradores de conta podem gerir funções de principais de serviço usando o console da conta.
Exibir funções numa entidade de serviço
- Como administrador da conta, inicie sessão na consola da conta.
- Na barra lateral, clique em Gerenciamento de usuários.
- Em Service principals, localize e clique no nome.
- Clique no separador Permissões .
Você pode ver a lista de principais e as funções que lhes são concedidas no principal de serviço. Você também pode usar a barra de pesquisa para pesquisar uma entidade ou função específica.
Conceder funções numa principal de serviço
Como administrador da conta, inicie sessão na consola da conta.
Na barra lateral, clique em Gerenciamento de usuários.
Em Service principals, localize e clique no nome.
Clique no separador Permissões .
Clique em Conceder acesso.
Procure e selecione o utilizador, entidade de serviço ou grupo e escolha a função ou funções (Entidade de serviço: Gestor ou Entidade de serviço: Utilizador) a atribuir.
Nota
Os usuários com a função Service Principal Manager não herdam a função Service Principal User . Se desejar que o utilizador utilize a entidade de serviço para executar tarefas, será necessário atribuir explicitamente a função de Utilizador da Entidade de Serviço.
Clique em Guardar.
Revogar funções em uma entidade de serviço
- Como administrador da conta, inicie sessão na consola da conta.
- Na barra lateral, clique em Gerenciamento de usuários.
- Em Service principals, localize e clique no nome.
- Clique no separador Permissões .
- Procure o utilizador, a entidade de serviço ou o grupo para editar as suas funções.
- Na linha do principal, clique no
e, em seguida, selecione Editar. Como alternativa, selecione Excluir para revogar todos os papéis da entidade principal.
- Clique em Editar.
- Clique no X ao lado das funções que você deseja revogar.
- Clique em Guardar.
Gerenciar funções de entidade de serviço usando a página de configurações de administrador do espaço de trabalho
Os administradores de espaço de trabalho podem gerenciar funções de entidades de serviço para entidades de serviço nas quais eles têm a função Gerenciador da Entidade de Serviço usando a página de configurações de administrador.
Exibir funções numa entidade de serviço
- Como administrador de espaço de trabalho, inicie sessão no espaço de trabalho do Azure Databricks.
- Clique no seu nome de utilizador na barra superior do espaço de trabalho Azure Databricks e selecione Settings.
- Clique na guia Identidade e acesso .
- Ao lado de Entidades de serviço, clique em Gerir.
- Localize e clique no nome.
- Clique no separador Permissões .
Você pode ver a lista de principais e as funções que lhes são concedidas no principal de serviço. Você também pode usar a barra de pesquisa para pesquisar uma entidade ou função específica.
Conceder funções numa principal de serviço
Você deve ter a função Service Principal Manager em uma entidade de serviço para conceder funções.
Como administrador de espaço de trabalho, inicie sessão no espaço de trabalho do Azure Databricks.
Clique no seu nome de utilizador na barra superior do espaço de trabalho Azure Databricks e selecione Settings.
Clique na guia Identidade e acesso .
Ao lado de Entidades de serviço, clique em Gerir.
Localize e clique no nome.
Clique no separador Permissões .
Clique em Conceder acesso.
Procure e selecione o utilizador, entidade de serviço ou grupo e escolha a função ou funções (Entidade de serviço: Gestor ou Entidade de serviço: Utilizador) a atribuir.
Nota
As funções podem ser concedidas a qualquer usuário, entidade de serviço ou grupo no nível da conta, mesmo que eles não sejam membros do espaço de trabalho. As funções não podem ser concedidas a grupos locais de espaço de trabalho.
Os usuários com a função Service Principal Manager não herdam a função Service Principal User . Se desejar que o utilizador utilize a entidade de serviço para executar tarefas, será necessário atribuir explicitamente a função de Utilizador da Entidade de Serviço.
Clique em Guardar.
Revogar funções em uma entidade de serviço
Você deve ter a função Service Principal Manager em uma entidade de serviço para revogar funções.
- Como administrador de espaço de trabalho, inicie sessão no espaço de trabalho do Azure Databricks.
- Clique no seu nome de utilizador na barra superior do espaço de trabalho Azure Databricks e selecione Settings.
- Clique na guia Identidade e acesso .
- Ao lado de Entidades de serviço, clique em Gerir.
- Localize e clique no nome.
- Clique no separador Permissões .
- Procure o utilizador, a entidade de serviço ou o grupo para editar as suas funções.
- Na linha do principal, clique no
e, em seguida, selecione Editar. Como alternativa, selecione Excluir para revogar todos os papéis da entidade principal.
- Clique em Editar.
- Clique no X ao lado das funções que você deseja revogar.
- Clique em Guardar.
Gerenciar funções de entidade de serviço usando a CLI do Databricks
Você deve ter a função Service Principal Manager para gerir funções num service principal. Você pode usar a CLI do Databricks para gerenciar funções. Para informações sobre a instalação e autenticação da CLI Databricks, consulte a CLI Databricks.
Também pode gerir funções de principal de serviços usando a API de Controlo de Acesso Accounts. A API de Controlo de Acesso de Contas é suportada através da conta do Azure Databricks e dos seus espaços de trabalho.
Os administradores de 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 Service Principal Manager que não são administradores de conta chamam a API no domínio do espaço de trabalho ({workspace-domain}/api/2.0/preview/accounts/access-control/).
Conceder funções em uma entidade de serviço usando a CLI do Databricks
A API de Controlo de Acesso de Contas e a CLI utilizam um campo etag para garantir a consistência. Para conceder ou revogar perfis de entidade de serviço através da API, primeiro emita um comando para definir o conjunto de regras GET e receba um etag em resposta. Em seguida, você pode aplicar as alterações localmente e, finalmente, emitir um conjunto de regras PUT com o etag.
Por exemplo, configure um conjunto de regras GET na entidade de serviço à qual pretende conceder acesso, executando o seguinte comando:
databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>
Substituir:
-
<account-id>com o identificador da conta. -
<application-id>com o ID da aplicação principal 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 etag campo 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 o etag. Para conceder a função Service principal: User 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>"
}
}'
Substituir:
-
<account-id>com o identificador da conta. -
<application-id>com o ID da aplicação principal da entidade de 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 PUT método, todas as funções existentes são substituídas. Para manter quaisquer funções existentes, você deve adicioná-las à grant_roles matriz.
Listar os principais de serviço que pode usar
Usando a API de Entidades de Serviço de Espaço de Trabalho, você pode listar as entidades de serviço nas quais você tem a função de usuário filtrando 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 o Workspace Service Principals API.