Configurar o TLS no Azure Cosmos DB for PostgreSQL
APLICA-SE AO: Azure Cosmos DB for PostgreSQL (da plataforma da extensão de dados Citus para PostgreSQL)
O nó coordenador exige que os aplicativos clientes se conectem com o protocolo TLS (Segurança da camada de transporte). O uso do protocolo TLS entre o servidor de banco de dados e os aplicativos clientes ajuda a manter o sigilo dos dados em trânsito. As configurações de verificação adicionais descritas abaixo também protegem contra ataques "man-in-the-middle".
Impondo conexões do protocolo TLS
Os aplicativos usam uma "cadeia de conexão" para identificar o banco de dados de destino e as configurações da conexão. Clientes diferentes exigem configurações diferentes. Veja a lista de cadeias de conexão usadas pelos clientes mais comuns na seção Cadeias de conexão do seu cluster no portal do Azure.
Os parâmetros do TLS ssl
e sslmode
variam de acordo com os recursos do conector, por exemplo ssl=true
, sslmode=require
ou sslmode=required
.
Verificar se o seu aplicativo ou sua estrutura oferece suporte a conexões TLS
Algumas estruturas de aplicativo não habilitam o TLS por padrão em conexões do PostgreSQL. No entanto, sem uma conexão segura, o aplicativo não pode se conectar a um nó coordenador. Confira a documentação de seu aplicativo para saber como habilitar conexões TSL.
Aplicativos que exigem a verificação de certificado para conectividade TLS
Em alguns casos, os aplicativos exigem um arquivo de certificado local gerado de um arquivo de certificado (.cer) de uma Autoridade de Certificação (CA) confiável para se conectar com segurança. O certificado para se conectar a um servidor do Azure Cosmos DB for PostgreSQL está localizado em https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Baixe o arquivo de certificado e salve-o em seu local preferido.
Observação
Para verificar a autenticidade do certificado, use a ferramenta de linha de comando OpenSSL para verificar a impressão digital SHA-256:
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 abaixo mostra como se conectar ao nó coordenador com o utilitário de linha de comando psql. Use a configuração de cadeia de conexão sslmode=verify-full
para impor a verificação de certificado TLS. Passe o caminho do arquivo de certificado local para o parâmetro sslrootcert
.
Veja abaixo um exemplo da cadeia de conexão do psql:
psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"
Dica
Confirme se o valor passado para sslrootcert
corresponde ao caminho do arquivo para o certificado que você salvou.
Observação
Para a senha, use sua senha de conexão ou o token do Microsoft Entra ID. Para mais informações, consulte opções de autenticação.
Próximas etapas
Aumente ainda mais a segurança com as regras de firewall no Azure Cosmos DB for PostgreSQL.