Uso de la autenticación de IAM para el punto final de Amazon RDS en AWS DMS - AWSDatabase Migration Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la autenticación de IAM para el punto final de Amazon RDS en AWS DMS

AWSLa autenticación de bases de datos Identity and Access Management (IAM) proporciona una seguridad mejorada para sus bases de datos de Amazon RDS al administrar el acceso a las bases de datos mediante credenciales de IAM. AWS En lugar de utilizar las contraseñas de bases de datos tradicionales, la autenticación de IAM genera tokens de autenticación de corta duración, válidos durante 15 minutos, con credenciales de AWS. Este enfoque mejora considerablemente la seguridad al eliminar la necesidad de almacenar las contraseñas de las bases de datos en el código de la aplicación, reducir el riesgo de exposición de las credenciales y proporcionar una administración de acceso centralizada mediante la IAM. También simplifica la administración del acceso al aprovechar las funciones y políticas de AWS IAM existentes, lo que le permite controlar el acceso a las bases de datos mediante el mismo marco de IAM que utiliza para otros servicios. AWS

AWS DMSahora admite la autenticación de IAM para instancias de replicación que ejecutan la versión 3.6.1 o posterior de DMS cuando se conectan a puntos de conexión MySQL, PostgreSQL, Aurora PostgreSQL, Aurora MySQL o MariaDB en Amazon RDS. Al crear un nuevo punto de conexión para estos motores, puede seleccionar la autenticación de IAM y especificar un rol de IAM en lugar de proporcionar las credenciales de la base de datos. Esta integración mejora la seguridad al eliminar la necesidad de administrar y almacenar las contraseñas de las bases de datos para las tareas de migración.

Configuración de la autenticación de IAM para el punto final de Amazon RDS en AWS DMS

Al crear un punto de conexión, puede configurar la autenticación de IAM para su base de datos de Amazon RDS. Para configurar la autenticación de IAM, haga lo siguiente:

  1. Asegúrese de que Amazon RDS y el usuario de la base de datos tengan habilitada la autenticación de IAM. Para obtener más información, consulte Activación y desactivación de la autenticación de bases de datos de IAM en la Guía del usuario de Amazon Relational Database Service.

  2. Vaya a la consola de IAM y cree un rol de IAM con las siguientes políticas:

    Política

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": "*" } ] }

    Política de confianza:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. Durante la configuración del punto de conexión en la consola de AWS DMS, vaya a la sección Acceder a la base de datos de punto de conexión y seleccione Autenticación de IAM.

  4. En el menú desplegable Rol de IAM para la autenticación de bases de datos de RDS, seleccione el rol de IAM con los permisos adecuados para acceder a la base de datos.

    Para obtener más información, consulte Creación de puntos de conexión de origen y de destino.

  1. Asegúrese de que Amazon RDS y el usuario de la base de datos tengan habilitada la autenticación de IAM. Para obtener más información, consulte Activación y desactivación de la autenticación de bases de datos de IAM en la Guía del usuario de Amazon Relational Database Service.

  2. Navegue hasta la AWS CLI, cree una función de IAM y permita que DMS la asuma:

    Política:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "rds-db:connect" ], "Resource": "*" } ] }

    Política de confianza:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "dms.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  3. Ejecute el siguiente comando para importar el certificado y descargar el archivo PEM. Para obtener más información, consulte Descarga de agrupaciones de certificados para Amazon RDS en la Guía del usuario de Amazon Relational Database Service.

    aws dms import-certificate --certificate-identifier rdsglobal --certificate-pem file://~/global-bundle.pem
  4. Ejecute los siguientes comandos para crear el punto de conexión de IAM.

    • Para los puntos finales de PostgreSQL/Aurora PostgreSQL (sslmodecuando está establecido en--certificate-arn, no es required necesario marcar):

      aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <postgres/aurora-postgres> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <required/verify-ca/verify-full> --postgre-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <if sslmode is verify-ca/verify full use cert arn generated in step 3, otherwise this parameter is not required>
    • Para los puntos de conexión de MySQL, MariaDB o Aurora MySQL, haga lo siguiente:

      aws dms create-endpoint --endpoint-identifier <endpoint-name> --endpoint-type <source/target> --engine-name <mysql/mariadb/aurora> --username <db username with iam auth privileges> --server-name <db server name> --port <port number> --ssl-mode <verify-ca/verify-full> --my-sql-settings "{\"ServiceAccessRoleArn\": \"role arn created from step 2 providing permissions for iam authentication\", \"AuthenticationMethod\": \"iam\", \"DatabaseName\": \"database name\"}" --certificate-arn <cert arn from previously imported cert in step 3>
  5. Ejecute una conexión de prueba con la instancia de replicación que desee para crear la asociación de puntos de conexión de la instancia y comprobar que todo está configurado correctamente:

    aws dms test-connection --replication-instance-arn <replication instance arn> --endpoint-arn <endpoint arn from previously created endpoint in step 4>
    nota

    Al utilizar la autenticación de IAM, la instancia de replicación proporcionada en test-connection debe estar en la versión 3.6.1 o posterior. AWS DMS

Limitaciones

AWS DMSpresenta las siguientes limitaciones al utilizar la autenticación de IAM con el punto de conexión de Amazon RDS:

  • Actualmente, las instancias de Amazon RDS PostgreSQL y Amazon Aurora PostgreSQL no admiten conexiones CDC con la autenticación de IAM. Para obtener más información, consulte Restricciones a la autenticación de bases de datos de IAM en la Guía del usuario de Amazon Relational Database Service.