Configuración de certificados SSL/TLS para conexiones de Aurora DSQL
Aurora DSQL requiere que todas las conexiones utilicen el cifrado de seguridad de la capa de transporte (TLS). Para establecer conexiones seguras, el sistema cliente debe confiar en la Autoridad de certificación raíz de Amazon (Amazon Root CA 1). Este certificado viene preinstalado en muchos sistemas operativos. Esta sección proporciona instrucciones para verificar el certificado de Amazon Root CA 1 preinstalado en varios sistemas operativos y le guía a través del proceso de instalación manual del certificado si aún no está presente.
Recomendamos utilizar la versión 17 de PostgreSQL.
importante
Para los entornos de producción, recomendamos utilizar el modo de SSL verify-full
para garantizar el máximo nivel de seguridad de la conexión. Este modo verifica que el certificado del servidor esté firmado por una autoridad de certificación de confianza y que el nombre de host del servidor coincida con el certificado.
Verificación de certificados preinstalados
En la mayoría de los sistemas operativos, Amazon Root CA 1 ya viene preinstalado. Para validarlo, puede seguir los pasos que se indican a continuación.
Linux (RedHat/CentOS/Fedora)
Ejecute el siguiente comando en el terminal:
trust list | grep "Amazon Root CA 1"
Si el certificado está instalado, verá el siguiente resultado:
label: Amazon Root CA 1
macOS
-
Abra la búsqueda Spotlight (Comando + Espacio)
-
Búsqueda de Keychain Access
-
Selección de System Roots en System Keychains
-
Búsqueda de Amazon Root CA 1 en la lista de certificados
Windows
nota
Debido a un problema conocido con el cliente psql de Windows, el uso de certificados raíz del sistema (sslrootcert=system
) puede devolver el siguiente error: SSL error: unregistered scheme
. Puede seguir Conexión desde Windows como forma alternativa de conectarse al clúster mediante SSL.
Si Amazon Root CA 1 no está instalado en el sistema operativo, siga los pasos que se indican a continuación.
Instalación de certificados
Si el certificado Amazon Root CA 1
no está preinstalado en el sistema operativo, tendrá que instalarlo de forma manual para establecer conexiones seguras con el clúster de Aurora DSQL.
Instalación de certificados de Linux
Siga estos pasos para instalar el certificado de entidad de certificación de Amazon Root en sistemas de Linux.
-
Descargue el certificado raíz:
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Copie el certificado en el almacén de confianza:
sudo cp ./AmazonRootCA1.pem /etc/pki/ca-trust/source/anchors/
-
Actualice el almacén de confianza de la entidad de certificación:
sudo update-ca-trust
-
Verificar la instalación:
trust list | grep "Amazon Root CA 1"
Instalación de certificado de macOS
Estos pasos de instalación del certificado son opcionales. Instalación de certificados de Linux también funciona para macOS.
-
Descargue el certificado raíz:
wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
-
Agregue el certificado al llavero del sistema:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain AmazonRootCA1.pem
-
Verificar la instalación:
security find-certificate -a -c "Amazon Root CA 1" -p /Library/Keychains/System.keychain
Conexión con verificación SSL/TLS
Antes de configurar los certificados SSL/TLS para conexiones seguras al clúster de Aurora DSQL, asegúrese de cumplir los siguientes requisitos previos.
-
Se ha instalado la versión 17 de PostgreSQL
-
La AWS CLI se ha configurado con las credenciales apropiadas
-
Información del punto de conexión del clúster de Aurora DSQL
Conexión desde Linux
-
Genere y configure el token de autenticación:
export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--hostnameyour-cluster-endpoint
) -
Conéctese mediante certificados del sistema (si están preinstalados):
PGSSLROOTCERT=system \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
-
O bien, conéctese mediante un certificado descargado:
PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
nota
Para obtener más información sobre la configuración de PGSSLMODE, consulte sslmode
Conexión desde macOS
-
Genere y configure el token de autenticación:
export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--hostnameyour-cluster-endpoint
) -
Conéctese mediante certificados del sistema (si están preinstalados):
PGSSLROOTCERT=system \ PGSSLMODE=verify-full \ psql --dbname postgres \ --username admin \ --host
your-cluster-endpoint
-
O bien, descargue el certificado raíz y guárdelo como
root.pem
(si el certificado no está preinstalado)PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql —dbname postgres \ --username admin \ --host your_cluster_endpoint
-
Conexión mediante psql:
PGSSLROOTCERT=/full/path/to/root.pem \ PGSSLMODE=verify-full \ psql —dbname postgres \ --username admin \ --host your_cluster_endpoint
Conexión desde Windows
Uso del símbolo del sistema
-
Generación del token de autenticación:
aws dsql generate-db-connect-admin-auth-token ^ --region=
your-cluster-region
^ --expires-in=3600 ^ --hostname=your-cluster-endpoint
-
Establezca la variables de entorno de contraseña:
set "PGPASSWORD=
token-from-above
" -
Establezca la configuración de SSL:
set PGSSLROOTCERT=C:\full\path\to\root.pem set PGSSLMODE=verify-full
-
Conexión a la base de datos:
"C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres ^ --username admin ^ --host
your-cluster-endpoint
Con PowerShell
-
Genere y configure el token de autenticación:
$env:PGPASSWORD = (aws dsql generate-db-connect-admin-auth-token --region=
your-cluster-region
--expires-in=3600 --hostname=your-cluster-endpoint
) -
Establezca la configuración de SSL:
$env:PGSSLROOTCERT='C:\full\path\to\root.pem' $env:PGSSLMODE='verify-full'
-
Conexión a la base de datos:
"C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres ` --username admin ` --host
your-cluster-endpoint