Configuración de la autenticación de IAM para Proxy de RDS - Amazon Relational Database Service

Configuración de la autenticación de IAM para Proxy de RDS

Para configurar la autenticación de AWS Identity and Access Management (IAM) para Proxy de RDS en Amazon RDS, cree y configure una política de IAM que conceda los permisos necesarios. Proxy de RDS utiliza AWS Secrets Manager para administrar las credenciales de la base de datos de forma segura, lo que permite a las aplicaciones autenticarse a través del proxy sin procesar directamente las credenciales.

En este tema se proporcionan los pasos para configurar la autenticación de IAM para Proxy de RDS, incluida la creación de la política de IAM necesaria y la asociación a un rol de IAM.

sugerencia

Este procedimiento solo es necesario si desea crear un rol de IAM propio. De lo contrario, RDS puede crear automáticamente el rol requerido cuando configure el proxy, por lo que puede omitir estos pasos.

Requisitos previos

Antes de configurar la autenticación de IAM para Proxy de RDS, asegúrese de que tiene lo siguiente:

Creación de una política de IAM para acceder a Secrets Manager

Para permitir que Proxy de RDS recupere las credenciales de la base de datos de Secrets Manager, cree un rol de IAM con una política que conceda los permisos necesarios.

Creación de un rol que acceda a los secretos que desea utilizar con el proxy
  1. Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Cree una política de permisos para el rol. Para conocer los pasos generales, consulte Creación de políticas de IAM (consola).

    Pegue esta política en el editor JSON y realice los siguientes cambios:

    • Sustituya su propio ID de cuenta.

    • Sustituya us-east-2 por la región donde residirá el proxy.

    • Sustituya los nombres secretos por los que ha creado. Para obtener más información, consulte Especificación de claves de KMS en instrucciones de política de IAM.

    • Sustituya el ID de clave de KMS por el que utilizó para cifrar los secretos de Secrets Manager, ya sea la clave predeterminada o una clave propia.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  3. Cree el rol y asocie la política de permisos a este. Para conocer los pasos generales, consulte Creación de un rol para delegar permisos a un servicio de AWS.

    En Tipo de entidad de confianza, elija Servicio de AWS. En Caso de uso, seleccione RDS y elija RDS: agregar rol a la base de datos para el caso de uso.

  4. En Políticas de permisos, elija la política que creó.

  5. En Seleccionar entidades de confianza, introduzca la siguiente política de confianza para el rol:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rds.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Para crear el rol mediante la AWS CLI, envíe la siguiente solicitud:

aws iam create-role \ --role-name my_role_name \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'

A continuación, asocie la política al rol:

aws iam put-role-policy \ --role-name my_role_name \ --policy-name secret_reader_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }'

Una vez configurados el rol de IAM y los permisos, puede crear un proxy y asociarlo a este rol. Esto permite al proxy recuperar de forma segura las credenciales de la base de datos de AWS Secrets Manager y habilitar la autenticación de IAM para las aplicaciones. Para obtener instrucciones, consulte Creación de un RDS Proxy.