Sobre autenticação
Beta
O Lakebase Postgres (beta com escalonamento automático) é a próxima versão do Lakebase, disponível apenas para avaliação. Para cargas de trabalho de produção, utilize a versão de pré-visualização pública do Lakebase. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.
Aprenda como funciona a autenticação em projetos de banco de dados Lakebase. Para obter instruções de conexão passo a passo, consulte Visão geral da conexão.
Visão geral
O Lakebase oferece suporte a dois métodos de autenticação, cada um projetado para diferentes casos de uso:
Autenticação por tokensOAuth : Utiliza identidades Databricks com tokens OAuth com tempo de validade limitado. Ideal para:
- Sessões interativas onde você pode refresh tokens
- fluxo de trabalho integrado ao espaço de trabalho
- Quando você deseja que a autenticação seja gerenciada pelo Databricks
Autenticação nativa de senha do Postgres: Utiliza funções tradicionais do Postgres com senhas. Ideal para:
- Aplicativos que não conseguem refresh as credenciais a cada hora
- Processos de longa duração
- Ferramentas que não suportam rotação de tokens
As identidades do Databricks e as funções do Postgres são sistemas separados, sem sincronização automática. Para permitir que uma identidade do Databricks acesse o banco de dados por meio do Postgres, você deve criar uma função correspondente no Postgres. Consulte Criar e gerenciar funções do Postgres.
Tempo limite de conexão
Todas as conexões com o banco de dados estão sujeitas às seguintes limitações, independentemente do método de autenticação:
- Tempo limite de 24 horas do Parado: Conexões sem atividade por 24 horas são fechadas automaticamente.
- Tempo máximo de conexão: 3 dias. Conexões que estiverem ativas por mais de 3 dias poderão ser encerradas, independentemente da atividade.
Projete seus aplicativos para lidar com timeouts de conexão de forma adequada, implementando lógica de repetição de conexão com configurações de timeout apropriadas.
autenticação por tokensOAuth
A autenticação por tokens OAuth permite que você se conecte usando sua identidade Databricks . Você gera tokens OAuth com tempo de vida limitado na interface do usuário do Lakebase e os utiliza como senha ao se conectar ao Postgres.
A função OAuth do proprietário do projeto é criada automaticamente. Para habilitar a autenticação OAuth para outras identidades do Databricks, você deve criar suas funções do Postgres usando a extensão databricks_auth e SQL. Consulte Criar uma função OAuth para uma identidade de banco de dados usando SQL.
Como funcionam os tokens OAuth
- Tempo de vida dos tokens: tokens OAuth expiram após uma hora.
- Aplicação do prazo de validade: o prazo de validade dos tokens é aplicado somente no momento do login. As conexões abertas permanecem ativas mesmo após a expiração dos tokens.
- Reautenticação: Qualquer consulta ou comando do Postgres falhará se os tokens expirarem.
- refresh de tokens: Para sessões interativas, gere novos tokens na interface do usuário quando necessário.
Requisitos e limitações
- É necessário ter uma função correspondente no Postgres : Sua identidade no Databricks deve ter uma função correspondente no Postgres. A função de proprietário do projeto é criada automaticamente. Para outras identidades do Databricks, crie suas funções usando a extensão databricks_auth.
- Escopo do espaço de trabalho : tokens OAuth têm escopo de workspacee devem pertencer ao mesmo workspace que possui o projeto de banco de dados. A autenticação por tokens entreworkspace não é suportada.
- SSL obrigatório : a autenticação baseada em tokens requer conexões SSL . Todos os clientes devem ser configurados para usar SSL (normalmente sslmode=require).
Obtendo tokens OAuth
Os tokens OAuth podem ser obtidos na interface do usuário do Lakebase. Para obter instruções detalhadas, consulte Conectar com uma função OAuth.
Autenticação de senha do Postgres
A autenticação nativa por senha do Postgres utiliza funções tradicionais do Postgres com senhas. Diferentemente dos tokens OAuth, essas senhas não expiram após uma hora, tornando-as adequadas para aplicativos que não suportam a rotação frequente de credenciais.
Quando usar senhas do Postgres
Use a autenticação por senha do Postgres quando:
- Seu aplicativo ou ferramenta não pode refresh as credenciais a cada hora.
- Você tem processos de longa duração que precisam de credenciais estáveis.
- Sua biblioteca cliente não suporta a rotação de tokens OAuth.
- Você precisa de autenticação de banco de dados tradicional para compatibilidade.
Como funcionam as senhas do Postgres
- Tempo de vida da senha : As senhas não expiram automaticamente.
- Sem integração workspace : a autenticação é gerenciada pelo Postgres, não pela autenticação workspace Databricks
- Gestão manual : As senhas devem ser rotacionadas e distribuídas manualmente aos usuários.
- Os tempos limite de conexão ainda se aplicam : mesmo que as senhas não expirem, as conexões ainda estão sujeitas ao tempo limite de 24 horas do Parado e à duração máxima de conexão de 7 dias.
Considerações de segurança
- Armazenamento de senhas : Armazene senhas com segurança usando variáveis de ambiente ou sistemas de gerenciamento de segredos.
- SSL obrigatório : Todas as conexões devem usar SSL (sslmode=require)
- Distribuição de senhas : Você recebe a senha apenas uma vez, ao criar a função. Guarde-o em local seguro.
Próximos passos
- Visão geral da conexão - Instruções passo a passo para conectar-se com tokens OAuth ou senhas do Postgres
- Gerenciar funções do Postgres - Criar e gerenciar funções do Postgres para acesso ao banco de dados
- Gerenciar permissões - Conceder permissões de banco de dados para funções do Postgres
- Consulte seus dados - Saiba mais sobre as diferentes opções para consultar seu banco de dados.