Monitorar e revogar tokens de acesso pessoal
Para se autenticar na API REST do Azure Databricks, um usuário pode criar um PAT (token de acesso pessoal) e usá-lo em sua solicitação de API REST. Um usuário também pode criar uma entidade de serviço e usá-la com um token de acesso pessoal para chamar APIs REST do Azure Databricks em suas ferramentas de CI/CD e automação. Este artigo explica como os administradores do Azure Databricks podem gerenciar tokens de acesso pessoal em seu workspace. Para criar um token de acesso pessoal, confira Autenticação de token de acesso pessoal do Azure Databricks.
Usar OAuth em vez de tokens de acesso pessoal
O Databricks recomenda que você use tokens de acesso OAuth em vez de PATs para maior segurança e conveniência. O Databricks continua a dar suporte a PATs, mas devido ao maior risco de segurança, sugere-se que você audite o uso atual do PAT da sua conta e migre seus usuários e entidades de serviço para tokens de acesso OAuth. Para criar um token de acesso OAuth (em vez de um PAT) para usar com uma entidade de serviço na automação, consulte Autenticar o acesso ao Azure Databricks com uma entidade de serviço usando OAuth (OAuth M2M).
O Databricks recomenda que você minimize sua exposição de token de acesso pessoal com as seguintes etapas:
- Defina um tempo de vida curto para todos os novos tokens criados em seus workspaces. O tempo de vida deve ser inferior a 90 dias.
- Colabore com os administradores e usuários do workspace do Azure Databricks para alternar para esses tokens com tempos de vida mais curtos.
- Revogue todos os tokens de longa duração para reduzir o risco de uso indevido desses tokens mais antigos ao longo do tempo. O Databricks revoga automaticamente os tokens de acesso pessoal que não são usados há 90 dias ou mais.
Para avaliar o uso de PATs pela sua própria organização e planejar uma migração de PATs para tokens de acesso OAuth, consulte Avaliar o uso de token de acesso pessoal em sua conta do Databricks.
Requisitos
- Você deve ser um administrador de workspace do Azure Databricks para desabilitar tokens de acesso pessoal para um workspace, monitorar e revogar tokens, controlar quais usuários não administradores podem criar tokens e usar tokens e definir um tempo de vida máximo para novos tokens.
- Seu workspace do Azure Databricks precisa estar no plano Premium.
Habilitar ou desabilitar a autenticação de token de acesso pessoal para o workspace
A autenticação de token de acesso pessoal é habilitada por padrão para workspaces do Azure Databricks criados em 2018 ou depois. Você pode alterar essa configuração na página de configurações do workspace.
Quando tokens de acesso pessoal são desabilitados para um workspace, os tokens de acesso pessoal não podem ser usados para autenticar no Azure Databricks e usuários do workspace e entidades de serviço não podem criar novos tokens. Nenhum token é excluído quando você desabilita a autenticação de token de acesso pessoal para um workspace. Se os tokens forem habilitados novamente mais tarde, todos os tokens não expirados estarão disponíveis para uso.
Se você quiser desabilitar o acesso de token para um subconjunto de usuários, poderá manter a autenticação de token de acesso pessoal habilitada para o workspace e definir permissões refinadas para usuários e grupos. Consulte Controlar quem pode criar e usar tokens de acesso pessoal.
Aviso
As integrações do Partner Connect e do parceiro exigem que os tokens de acesso pessoal sejam habilitados em um workspace.
Para desabilitar a capacidade de criar e usar tokens de acesso pessoal para o workspace:
Vá para a página de configurações.
Clique na guia Avançado.
Clique na alternância Tokens de acesso pessoal.
Clique em Confirmar.
Essa alteração pode levar alguns segundos para entrar em vigor.
Você também pode usar a API de configuração do espaço de trabalho para desabilitar tokens de acesso pessoal para o espaço de trabalho.
Controlar quem pode criar e usar tokens de acesso pessoal
Os administradores do workspace podem definir permissões em tokens de acesso pessoal para controlar quais usuários, entidades de serviço e grupos podem criar e usar tokens. Para obter detalhes sobre como configurar permissões de token de acesso pessoal, consulte Gerenciar permissões de token de acesso pessoal.
Definir o tempo de vida máximo de novos tokens de acesso pessoal
Você pode gerenciar a vida útil máxima de novos tokens em seu espaço de trabalho usando a CLI do Databricks ou a API de configuração do Workspace. Esse limite se aplica somente a novos tokens.
Observação
O Databricks revoga automaticamente tokens de acesso pessoal não utilizados por 90 dias ou mais. O Databricks não revogará tokens com tempos de vida superiores a 90 dias, desde que os tokens sejam usados ativamente.
Como prática recomendada de segurança, a Databricks recomenda o uso de tokens OAuth em vez de PATs. Se você estiver fazendo a transição da autenticação de PATs para OAuth, o Databricks recomenda o uso de tokens de curta duração para maior segurança.
Definir maxTokenLifetimeDays
como o tempo de vida máximo do token de novos tokens em dias, como um inteiro. Se você defini-lo como zero, os novos tokens terão permissão para não ter nenhum limite de tempo de vida. Por exemplo:
CLI do Databricks
databricks workspace-conf set-status --json '{
"maxTokenLifetimeDays": "90"
}'
API de configuração do Workspace
curl -n -X PATCH "https://<databricks-instance>/api/2.0/workspace-conf" \
-d '{
"maxTokenLifetimeDays": "90"
}'
Para usar o provedor Terraform do Databricks para gerenciar a vida útil máxima para novos tokens em um espaço de trabalho, confira o Recurso databricks_workspace_conf.
Monitorar e revogar tokens
Esta seção descreve como usar a CLI do Databricks para gerenciar tokens existentes no espaço de trabalho. Você também pode usar a API de Gerenciamento de Tokens. O Databricks revoga automaticamente os tokens de acesso pessoal que não são usados há 90 dias ou mais.
Obter tokens para o workspace
Para obter os tokens do espaço de trabalho:
Python
from databricks.sdk import WorkspaceClient
w = WorkspaceClient()
spark.createDataFrame([token.as_dict() for token in w.token_management.list()]).createOrReplaceTempView('tokens')
display(spark.sql('select * from tokens order by creation_time'))
Bash
# Filter results by a user by using the `created-by-id` (to filter by the user ID) or `created-by-username` flags.
databricks token-management list
Excluir (revogar) um token
Para excluir um token, substitua TOKEN_ID pela ID do token a ser excluído:
databricks token-management delete TOKEN_ID