Configurar TLS no Azure Cosmos DB para PostgreSQL
APLICA-SE A: Azure Cosmos DB para PostgreSQL (alimentado pela extensão de banco de dados Citus para PostgreSQL)
O nó coordenador requer que os aplicativos cliente se conectem com o Transport Layer Security (TLS). A imposição de TLS entre o servidor de banco de dados e os aplicativos cliente ajuda a manter os dados confidenciais em trânsito. As configurações de verificação adicionais descritas abaixo também protegem contra ataques "man-in-the-middle".
Impondo conexões TLS
Os aplicativos usam uma "cadeia de conexão" para identificar o banco de dados de destino e as configurações de uma conexão. Clientes diferentes requerem configurações diferentes. Para ver uma lista de cadeias de conexão usadas por clientes comuns, consulte a seção Cadeias de Conexão do cluster no portal do Azure.
Os parâmetros ssl
TLS e sslmode
variam com base nas capacidades do conector, por exemplo ssl=true
ou sslmode=require
sslmode=required
.
Certifique-se de que seu aplicativo ou estrutura ofereça suporte a conexões TLS
Algumas estruturas de aplicativos não habilitam o TLS por padrão para conexões PostgreSQL. No entanto, sem uma conexão segura, um aplicativo não pode se conectar ao nó coordenador. Consulte a documentação do seu aplicativo para saber como habilitar conexões TLS.
Aplicativos que exigem verificação de certificado para conectividade TLS
Em alguns casos, os aplicativos exigem um arquivo de certificado local gerado a partir de um arquivo de certificado (.cer) de Autoridade de Certificação (CA) confiável para se conectar com segurança. O certificado para se conectar a um Azure Cosmos DB para PostgreSQL está localizado em https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Transfira o ficheiro de certificado e guarde-o na sua localização preferida.
Nota
Para verificar a autenticidade do certificado, você pode verificar sua impressão digital SHA-256 usando a ferramenta de linha de comando OpenSSL:
openssl x509 -in DigiCertGlobalRootG2.crt.pem -noout -sha256 -fingerprint
# should output:
# CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F
Conecte-se usando psql
O exemplo a seguir mostra como se conectar ao nó coordenador usando o utilitário de linha de comando psql. Use a configuração da cadeia de conexão para impor a sslmode=verify-full
verificação de certificado TLS. Passe o caminho do arquivo de certificado local para o sslrootcert
parâmetro.
Abaixo está um exemplo da cadeia de conexão psql:
psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"
Gorjeta
Confirme que o valor transmitido a sslrootcert
corresponde ao caminho do ficheiro para o certificado que guardou.
Nota
Para a senha, use sua senha de conexão ou token de ID do Microsoft Entra. Para obter mais informações, consulte Opções de autenticação.
Próximos passos
Aumente ainda mais a segurança com as regras de Firewall no Azure Cosmos DB para PostgreSQL.