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.
O SCRAM (Salted Challenge Response Authentication Mechanism) é um protocolo de autenticação mútua baseado em senha. É um esquema de desafio-resposta que adiciona vários níveis de segurança e impede a deteção de senhas em conexões não confiáveis. O SCRAM suporta o armazenamento de senhas no servidor em um formato criptograficamente hashado, o que fornece segurança avançada.
Observação
Para acessar uma instância de servidor flexível do Banco de Dados do Azure para PostgreSQL usando o método SCRAM de autenticação, suas bibliotecas de cliente precisam dar suporte ao SCRAM. Consulte a lista de drivers que suportam SCRAM.
A autenticação SCRAM impõe carga computacional extra aos servidores de aplicativos, que precisam calcular a prova do cliente para cada autenticação. A sobrecarga de desempenho que a SCRAM introduz pode ser atenuada limitando o número de conexões no pool de conexões do seu aplicativo (reduzindo a chattiness em seu aplicativo) ou limitando o número de transações simultâneas que seu cliente permite (transações maiores). É recomendável testar suas cargas de trabalho antes de migrar para a autenticação SCRAM.
Configurar autenticação SCRAM
Altere password_encryption para SCRAM-SHA-256. Atualmente, o Banco de Dados do Azure para PostgreSQL só dá suporte a SCRAM usando SHA-256.
Permita SCRAM-SHA-256 como método de autenticação.
Importante
Você pode optar por impor a autenticação somente SCRAM selecionando apenas o método SCRAM-SHA-256. Ao fazer isso, os usuários com autenticação MD5 podem se conectar mais tempo ao servidor. Portanto, antes de impor o SCRAM, que você tenha MD5 e SCRAM-SHA-256 como métodos de autenticação até atualizar todas as senhas de usuário para SCRAM-SHA-256. Você pode verificar o tipo de autenticação para usuários usando a consulta mencionada na etapa #7.
Salve as alterações. Essas são propriedades dinâmicas e não exigem a reinicialização do servidor.
No seu cliente de servidor flexível do Banco de Dados do Azure para PostgreSQL, conecte-se à instância de servidor flexível do Banco de Dados do Azure para PostgreSQL. Por exemplo
psql "host=myPGServer.postgres.database.azure.com port=5432 dbname=postgres user=myDemoUser password=<password> sslmode=require" psql (12.3 (Ubuntu 12.3-1.pgdg18.04+1), server 12.6) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help.Verifique a encriptação da palavra-passe.
postgres=> show password_encryption; password_encryption --------------------- scram-sha-256 (1 row)Em seguida, você pode atualizar a senha para os usuários.
postgres=> \password myDemoUser Enter new password: Enter it again: postgres=>Você pode verificar os tipos de autenticação do usuário usando
azure_roles_authtype()a função.postgres=> SELECT * from azure_roles_authtype(); rolename | authtype ---------------------------+----------- azuresu | NOLOGIN pg_monitor | NOLOGIN pg_read_all_settings | NOLOGIN pg_read_all_stats | NOLOGIN pg_stat_scan_tables | NOLOGIN pg_read_server_files | NOLOGIN pg_write_server_files | NOLOGIN pg_execute_server_program | NOLOGIN pg_signal_backend | NOLOGIN replication | NOLOGIN myDemoUser | SCRAM-256 azure_pg_admin | NOLOGIN srtest | SCRAM-256 sr_md5 | MD5 (14 rows)Em seguida, você pode se conectar do cliente que suporta a autenticação SCRAM ao seu servidor.
A autenticação SCRAM também é suportada quando conectada ao PgBouncer gerenciado integrado.