Configurar certificados SSL/TLS para conexões do Aurora DSQL
O Aurora DSQL requer que todas as conexões usem a criptografia Transport Layer Security (TLS). Para estabelecer conexões seguras, seu sistema cliente deve confiar na Amazon Root Certificate Authority (Amazon Root CA 1). Esse certificado vem pré-instalado em vários sistemas operacionais. Esta seção oferece instruções para verificar o certificado da Amazon Root CA 1 pré-instalado em vários sistemas operacionais e orienta você pelo processo de instalação manual do certificado, caso ele ainda não esteja instalado.
Recomendamos usar o PostgreSQL versão 17.
Importante
Para ambientes de produção, recomendamos usar o modo SSL verify-full
para garantir o mais alto nível de segurança de conexão. Esse modo verifica se o certificado do servidor está assinado por uma autoridade de certificação confiável e se o nome do host do servidor corresponde ao certificado.
Verificar certificados pré-instalados
Na maioria dos sistemas operacionais, o Amazon Root CA 1 já vem pré-instalado. Para confirmar, você pode seguir as etapas abaixo.
Linux (RedHat/CentOS/Fedora)
Execute os seguintes comandos no terminal:
trust list | grep "Amazon Root CA 1"
Se o certificado estiver instalado, você verá a seguinte saída:
label: Amazon Root CA 1
macOS
-
Abra o campo de pesquisa do Spotlight (comando + espaço).
-
Pesquise Keychain Access.
-
Selecione System Roots em System Keychains.
-
Pesquise Amazon Root CA 1 na lista de certificados.
Windows
nota
Devido a um problema conhecido com o cliente psql do Windows, o uso de certificados raiz do sistema (sslrootcert=system
) pode retornar o seguinte erro: SSL error: unregistered scheme
. Você pode seguir a seção Conectar-se pelo Windows como alternativa para se conectar ao seu cluster usando SSL.
Se o Amazon Root CA 1 não estiver instalado em seu sistema operacional, siga as etapas abaixo.
Instalar certificados
Se o certificado Amazon Root CA 1
não estiver pré-instalado em seu sistema operacional, você precisará instalá-lo manualmente para estabelecer conexões seguras com seu cluster do Aurora DSQL.
Instalação do certificado no Linux
Siga estas etapas para instalar o certificado Amazon Root CA em sistemas Linux.
-
Baixe o certificado raiz:
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Copie o certificado para um armazenamento confiável.
sudo cp ./AmazonRootCA1.pem /etc/pki/ca-trust/source/anchors/
-
Atualize o armazenamento confiável da CA:
sudo update-ca-trust
-
Verifique a instalação:
trust list | grep "Amazon Root CA 1"
Instalação do certificado no macOS
Estas etapas de instalação do certificado são opcionais. A Instalação do certificado no Linux também funciona para macOS.
-
Baixe o certificado raiz:
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Adicione o certificado a System keychain:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain AmazonRootCA1.pem
-
Verifique a instalação:
security find-certificate -a -c "Amazon Root CA 1" -p /Library/Keychains/System.keychain
Conectar-se com verificação SSL/TLS
Antes de configurar certificados SSL/TLS para conexões seguras com o cluster do Aurora DSQL, verifique se você atende aos pré-requisitos abaixo.
-
PostgreSQL versão 17 instalado
-
AWS CLI configurada com as credenciais apropriadas
-
Informações do endpoint do cluster do Aurora DSQL
Conectar-se pelo Linux
-
Gere e defina o token de autenticação:
export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--hostnameyour-cluster-endpoint
) -
Conecte-se usando certificados do sistema (se pré-instalados):
PGSSLROOTCERT=system \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
-
Ou conecte-se usando um certificado baixado:
PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
nota
Para ter mais informações sobre as configurações do PGSSLMODE, consulte sslmode
Conectar-se pelo macOS
-
Gere e defina o token de autenticação:
export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--hostnameyour-cluster-endpoint
) -
Conecte-se usando certificados do sistema (se pré-instalados):
PGSSLROOTCERT=system \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
-
Ou baixe o certificado raiz e salve-o como
root.pem
(se ele não estiver pré-instalado).PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql —dbname postgres \ --username admin \ --host your_cluster_endpoint
-
Conectar-se usando o psql:
PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql —dbname postgres \ --username admin \ --host your_cluster_endpoint
Conectar-se pelo Windows
Por meio do prompt de comando
-
Gere um token de autenticação:
aws dsql generate-db-connect-admin-auth-token ^ --region=
your-cluster-region
^ --expires-in=3600 ^ --hostname=your-cluster-endpoint
-
Defina a variável de ambiente de senha:
set "PGPASSWORD=
token-from-above
" -
Defina a configuração do SSL:
set PGSSLROOTCERT=C:\full\path\to\root.pem set PGSSLMODE=verify-full
-
Conecte-se ao banco de dados:
"C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres ^ --username admin ^ --host
your-cluster-endpoint
Usando o PowerShell
-
Gere e defina o token de autenticação:
$env:PGPASSWORD = (aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--expires-in=3600 --hostname=your-cluster-endpoint
) -
Defina a configuração do SSL:
$env:PGSSLROOTCERT='C:\full\path\to\root.pem' $env:PGSSLMODE='verify-full'
-
Conecte-se ao banco de dados:
"C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres ` --username admin ` --host
your-cluster-endpoint