Pular para o conteúdo principal

Funções para gerenciar a entidade de serviço

Este artigo descreve como gerenciar funções em uma entidade de serviço em seu site Databricks account.

Uma entidade de serviço é uma identidade que você cria no Databricks para uso com ferramentas, trabalhos e aplicativos automáticos. As entidades de serviço oferecem ferramentas automáticas e scripts de acesso somente por API aos recursos do Databricks, fornecendo maior segurança do que o uso de usuários ou grupos.

O senhor pode conceder aos usuários do Databricks, à entidade de serviço e aos grupos do account acesso para usar uma entidade de serviço. Isso permite que os usuários executem o Job como a entidade de serviço, em vez de como sua identidade. Isso evita que o Job falhe se um usuário sair da organização ou se um grupo for modificado.

Para obter uma visão geral da entidade de serviço, consulte gerenciar entidade de serviço.

entidade de serviço roles

As funções da entidade de serviço são account-level roles. Isso significa que eles só precisam ser definidos uma vez, em seu site account, e se aplicam a todo o espaço de trabalho. Há duas funções que o senhor pode conceder em uma entidade de serviço: entidade de serviço Manager e entidade de serviço User .

  • O Entidade de Serviço Manager permite que o senhor gerencie funções em uma entidade de serviço. O criador de uma entidade de serviço tem a função de Gerente de entidade de serviço na entidade de serviço. Os administradores de conta têm a função de entidade de serviço Manager em todas as entidades de serviço em um account.
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 da entidade de serviço pelo site default. Se o senhor precisar ser um gerente, peça a um administrador do account que lhe conceda a função de entidade de serviço Manager .

  • entidade de serviço User permite que workspace usuários executem o Job como entidade de serviço. O trabalho será executado com a identidade da entidade de serviço, em vez da identidade do proprietário do trabalho. A função de usuário da entidade de serviço também permite que os administradores do workspace criem acesso pessoal tokens em nome da entidade de serviço. A criação de segredos OAuth para uma entidade de serviço requer a função account admin ou workspace admin.
nota

Quando a configuração RestrictWorkspaceAdmins em um workspace é definida como ALLOW ALL, os administradores do workspace podem criar tokens de acesso pessoal em nome de qualquer entidade de serviço em seu workspace. Para impor a função de usuário da entidade de serviço para que os administradores do site workspace criem tokens de acesso pessoal para uma entidade de serviço, consulte Restringir administradores do site workspace.

Os usuários com a função de gerente da entidade de serviço não herdam a função de usuário da entidade de serviço . Se quiser usar a entidade de serviço para executar o trabalho, o senhor precisa atribuir explicitamente a si mesmo a função de usuário de entidade de serviço, mesmo depois de criar a entidade de serviço.

Gerenciar funções de entidade de serviço usando o console account

Os administradores de conta podem gerenciar funções de entidade de serviço usando o console account.

visualizar funções em uma entidade de serviço

  1. Como administrador da conta, faça login no console da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários .
  3. Na entidade de serviço tab, localize e clique no nome.
  4. Clique na guia Permissões .

O senhor pode ver a lista de diretores e as funções que lhes são concedidas na entidade de serviço. Você também pode usar a barra de pesquisa para pesquisar um diretor ou função específica.

Conceder funções em uma entidade de serviço

  1. Como administrador da conta, faça login no console da conta.

  2. Na barra lateral, clique em Gerenciamento de usuários .

  3. Na entidade de serviço tab, localize e clique no nome.

  4. Clique na guia Permissões .

  5. Clique em Conceder acesso .

  6. Procure e selecione o usuário, a entidade de serviço ou o grupo e escolha a função ou funções (entidade de serviço: Gerente ou entidade de serviço: Usuário ) a serem atribuídas.

nota

Os usuários com a função de gerente da entidade de serviço não herdam a função de usuário da entidade de serviço . Se quiser que o usuário use a entidade de serviço para executar o trabalho, será necessário atribuir explicitamente a função de usuário da entidade de serviço .

  1. Clique em Salvar .

Revogar funções em uma entidade de serviço

  1. Como administrador da conta, faça login no console da conta.
  2. Na barra lateral, clique em Gerenciamento de usuários .
  3. Na entidade de serviço tab, localize e clique no nome.
  4. Clique na guia Permissões .
  5. Procure o usuário, a entidade de serviço ou o grupo para editar suas funções.
  6. Na linha com o principal, clique no menu de kebab Menu Kebab e selecione Editar. Como alternativa, selecione Excluir para revogar todas as funções do diretor.
  7. Clique em Editar .
  8. Clique no X ao lado das funções que você deseja revogar.
  9. Clique em Salvar .

Gerenciar funções de entidade de serviço usando a página de configurações de administração workspace

Os administradores do espaço de trabalho podem gerenciar as funções de entidade de serviço para as entidades de serviço nas quais eles têm a função de gerente de entidade de serviço usando a página de configurações do administrador.

visualizar funções em uma entidade de serviço

  1. Como administrador do workspace, faça login no workspace do Databricks.
  2. Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações .
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Entidades de serviço , clique em Gerenciar .
  5. Encontre e clique no nome.
  6. Clique na guia Permissões .

O senhor pode ver a lista de diretores e as funções que lhes são concedidas na entidade de serviço. Você também pode usar a barra de pesquisa para pesquisar um diretor ou função específica.

Conceder funções em uma entidade de serviço

O senhor deve ter a função Gerente de entidade de serviço em uma entidade de serviço para poder conceder funções.

  1. Como administrador do workspace, faça login no workspace do Databricks.

  2. Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações .

  3. Clique na guia Identidade e acesso .

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

  5. Encontre e clique no nome.

  6. Clique na guia Permissões .

  7. Clique em Conceder acesso .

  8. Procure e selecione o usuário, a entidade de serviço ou o grupo e escolha a função ou funções (entidade de serviço: Gerente ou entidade de serviço: Usuário ) a serem atribuídas.

nota

As funções podem ser concedidas a qualquer usuário, entidade de serviço ou grupo de nível account, mesmo que não seja membro do workspace. As funções não podem ser concedidas a grupos workspace-local.

Os usuários com a função de gerente da entidade de serviço não herdam a função de usuário da entidade de serviço . Se quiser que o usuário use a entidade de serviço para executar o trabalho, será necessário atribuir explicitamente a função de usuário da entidade de serviço .

  1. Clique em Salvar .

Revogar funções em uma entidade de serviço

O senhor deve ter a função de gerente de entidade de serviço em uma entidade de serviço para poder revogar funções.

  1. Como administrador do workspace, faça login no workspace do Databricks.
  2. Clique no seu nome de usuário na barra superior do workspace do Databricks e selecione Configurações .
  3. Clique na guia Identidade e acesso .
  4. Ao lado de Entidades de serviço , clique em Gerenciar .
  5. Encontre e clique no nome.
  6. Clique na guia Permissões .
  7. Procure o usuário, a entidade de serviço ou o grupo para editar suas funções.
  8. Na linha com o principal, clique no menu de kebab Menu Kebab e selecione Editar. Como alternativa, selecione Excluir para revogar todas as funções do diretor.
  9. Clique em Editar .
  10. Clique no X ao lado das funções que você deseja revogar.
  11. Clique em Salvar .

Gerenciar funções de entidade de serviço usando o site Databricks CLI

O senhor deve ter a função de gerente de entidade de serviço para gerenciar funções em uma entidade de serviço. O senhor pode usar a CLI do Databricks para gerenciar as funções. Para obter informações sobre a instalação e a autenticação no site Databricks CLI, consulte O que é o site Databricks CLI?

O senhor também pode gerenciar as funções da entidade de serviço usando o controle de acesso à conta API. A conta Access Control API é compatível com o Databricks account e o espaço de trabalho.

Os administradores de conta chamam o API em account.cloud.databricks.com ({account-domain}/api/2.0/preview/accounts/{account_id}/access-control).

Os usuários com a função Entidade de Serviço Manager que não são administradores do account chamam o API no domínio workspace ({workspace-domain}/api/2.0/preview/accounts/access-control/).

Conceder funções em uma entidade de serviço usando a CLI do Databricks

A conta Access Control API e CLI usa um campo etag para garantir a consistência. Para conceder ou revogar funções de entidade de serviço por meio do site API, primeiro emita um comando de conjunto de regras GET e receba um etag como resposta. Em seguida, você pode aplicar as alterações localmente e, finalmente, emitir um conjunto de regras PUT com o etag.

Por exemplo, emita um conjunto de regras GET na entidade de serviço à qual o senhor deseja conceder acesso executando o seguinte comando:

Bash
databricks account access-control get-rule-set accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default <etag>

Substituir:

  • <account-id> com a ID account.
  • <application-id> com o ID do aplicativo da entidade de serviço.
  • <etag> com “”

Resposta de exemplo:

Bash
{
"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 ao decidir sobre o estado final das regras e, em seguida, atualizar o conjunto de regras usando a etag. Para conceder a entidade de serviço: User role para o usuário user2@example.com, execute o seguinte:

Bash
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 a ID account.
  • <application-id> com o ID do aplicativo da entidade de serviço.
  • <etag> com a etag que você copiou da última resposta.

Resposta de exemplo:

Bash
{
"etag":"<new-etag>",
"grant_rules": [
{
"principals": [
"users/user2@example.com"
],
"role":"roles/servicePrincipal.user"
}
],
"name":"accounts/<account-id>/servicePrincipals/<application-id>/ruleSets/default"
}
important

Como esse é um método PUT, todas as funções existentes são sobrescritas. Para manter as funções existentes, você deve adicioná-las à matriz grant_roles.

Liste a entidade de serviço que o senhor pode usar

Usando o espaço de trabalho entidade de serviço API, é possível listar a entidade de serviço na qual o senhor tem a função de usuário, filtrando em servicePrincipal/use.

Para listar a entidade de serviço na qual o senhor tem a função de usuário da entidade de serviço , execute o seguinte comando:

Bash
databricks service-principals list -p WORKSPACE --filter "permission eq 'servicePrincipal/use'"

O senhor também pode listar a entidade de serviço usando o espaço de trabalho entidade de serviço API.