Compartilhar via


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.

Próximas etapas

Aumente ainda mais a segurança com as regras de firewall no Azure Cosmos DB for PostgreSQL.