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.