Asociación de un rol de IAM con un clúster de base de datos Amazon Aurora MySQL
Para permitir a los usuarios de una base de datos en un clúster de base de datos de Amazon Aurora acceder a otros servicios de AWS, debe asociar el rol de IAM que creó en Creación de un rol de IAM que permita a Amazon Aurora acceder a los servicios de AWS con ese clúster de base de datos. También puedehacer que AWS cree un nuevo rol de IAM asociando el servicio directamente.
nota
No se puede asociar un rol de IAM a un clúster de base de datos de Aurora Serverless v1. Para obtener más información, consulte Uso de Amazon Aurora Serverless v1.
Se puede asociar un rol de IAM a un clúster de base de datos de Aurora Serverless v2.
Para asociar un rol de IAM con un clúster de base de datos es necesario hacer dos cosas:
-
Añadir el rol a la lista de roles asociados del clúster de base de datos con la consola de RDS, el comando add-role-to-db-cluster de la AWS CLI o la operación AddRoleToDBCluster de la API de RDS.
Puede añadir un máximo de cinco roles de IAM por cada clúster de base de datos Aurora.
-
Establecer el ARN del rol de IAM asociado en el parámetro a nivel de clúster para el servicio de AWS de que se trate.
En la tabla siguiente se indican los nombres de los parámetros a nivel de clúster para los roles de IAM empleados en el acceso a otros servicios de AWS.
Parámetro de nivel de clúster Descripción aws_default_lambda_role
Se utiliza al invocar una función de Lambda desde el clúster de base de datos.
aws_default_logs_role
Este parámetro ya no es necesario para exportar datos de registros desde el clúster de base de datos a Amazon CloudWatch Logs. Aurora MySQL utiliza ahora un rol vinculado al servicio para los permisos necesarios. Para obtener más información acerca de los roles vinculados a servicios, consulte Uso de roles vinculados a servicios de Amazon Aurora.
aws_default_s3_role
Se utiliza al invocar la instrucción
LOAD DATA FROM S3
,LOAD XML FROM S3
oSELECT INTO OUTFILE S3
desde el clúster de base de datos.En la versión 2 de Aurora MySQL, el rol de IAM especificado en este parámetro se usa cuando no se especifica un rol de IAM para
aurora_load_from_s3_role
oaurora_select_into_s3_role
en la instrucción correspondiente.En la versión 3 de Aurora MySQL, siempre se utiliza el rol de IAM especificado para este parámetro.
aurora_load_from_s3_role
Se utiliza al invocar la instrucción
LOAD DATA FROM S3
oLOAD XML FROM S3
desde el clúster de base de datos. Si no se especifica un rol de IAM para este parámetro, se utiliza el rol de IAM especificado en el parámetroaws_default_s3_role
.En la versión 3 de Aurora MySQL, este parámetro no está disponible.
aurora_select_into_s3_role
Se utiliza al invocar la instrucción
SELECT INTO OUTFILE S3
desde el clúster de base de datos. Si no se especifica un rol de IAM para este parámetro, se utiliza el rol de IAM especificado en el parámetroaws_default_s3_role
.En la versión 3 de Aurora MySQL, este parámetro no está disponible.
Para asociar un rol de IAM que permita al clúster de Amazon RDS comunicarse con otros servicios de AWS en su nombre, siga estos pasos.
Para asociar un rol de IAM a un clúster de base de datos Aurora con la consola
-
Abra la consola de RDS en https://console.aws.amazon.com/rds/
. -
Seleccione Databases (Bases de datos).
-
Elija el nombre del clúster de base de datos de Aurora al que desea asociar un rol de IAM para mostrar sus detalles.
-
En la pestaña Connectivity & security (Conectividad y seguridad), en la sección Manage IAM roles (Administrar roles de IAM), realice una de las siguientes acciones:
-
Select IAM roles to add to this cluster (Seleccionar roles de IAM que desea agregar a este clúster) (predeterminado)
-
Select a service to connect to this cluster (Seleccionar un servicio para conectarse a este clúster)
-
-
Para usar un rol de IAM existente, selecciónelo en el menú y, a continuación, seleccione Add role (Añadir rol).
Si se agrega el rol correctamente, su estado se muestra como
Pending
, luego comoAvailable
. -
Para conectar un servicio directamente:
-
Elija Select a service to connect to this cluster (Seleccionar un servicio para conectarse a este clúster).
-
Elija el servicio en el menú y, a continuación, seleccione Connect service (Conectar servicio).
-
Para Connect cluster to
Service Name
(Conectar clúster a nombre de servicio), introduzca el Nombre de recurso de Amazon (ARN) que se utilizará para conectarse al servicio y, a continuación, seleccione Connect service (Conectar servicio).
AWS crea un nuevo rol de IAM para conectarse al servicio. Su estado se muestra como
Pending
, luego comoAvailable
. -
-
(Opcional) Para dejar de asociar un rol de IAM a un clúster de base de datos y retirarle el permiso correspondiente, elija el rol y luego Delete (Eliminar).
Establezca el parámetro de nivel de clúster para cada rol de IAM asociado.
-
En la consola de RDS, elija Parameter groups (Grupos de parámetros) en el panel de navegación.
-
Si ya está usando un grupo de parámetros de base de datos personalizado, puede seleccionarlo para usarlo en lugar de crear uno nuevo. Si utiliza el grupo de parámetros de clúster de base de datos predeterminado, cree un nuevo grupo de parámetros de clúster de base de datos como se describe en los pasos siguientes:
-
Elija Create parameter group.
-
En Familia de grupo de parámetros, elija
aurora-mysql8.0
para un clúster de base de datos compatible con Aurora MySQL 8.0 oaurora-mysql5.7
para un clúster de base de datos compatible con Aurora MySQL 5.7. -
En Type (Tipo), elija DB Cluster Parameter Group (Grupo de parámetros de clúster de base de datos).
-
Para Nombre de grupo, escriba el nombre del nuevo grupo de parámetros de clúster de base de datos.
-
En Descripción, escriba una descripción del nuevo grupo de parámetros de clúster de base de datos.
-
Seleccione Create (Crear).
-
-
En la página Parameter groups (Grupos de parámetros), seleccione su grupo de parámetros de clúster de base de datos y elija Edit (Editar) en Parameter group actions (Acciones de grupos de parámetros).
-
Establezca los parámetros a nivel de clúster adecuados en los valores de ARN de rol de IAM correspondientes.
Por ejemplo, puede establecer solo en el parámetro
aws_default_s3_role
el valorarn:aws:iam::123456789012:role/AllowS3Access
. -
Elija Save changes (Guardar cambios).
-
Para cambiar el grupo de parámetros del clúster de base de datos para su clúster de base de datos, realice los siguientes pasos:
-
Elija Databases (Bases de datos) y, a continuación, seleccione el clúster de base de datos de Aurora.
-
Elija Modify.
-
Desplácese hasta Database options (Opciones de base de datos) y establezca en DB cluster parameter group (Grupo de parámetros de clúster de base de datos) el grupo de parámetros de clúster de base de datos.
-
Elija Continue.
-
Verifique los cambios y elija Apply immediately (Aplicar inmediatamente).
-
Elija Modify Cluster (Modificar clúster).
-
Elija Databases (Bases de datos) y, a continuación, seleccione la instancia principal del clúster de base de datos.
-
Para Actions (Acciones), elija Reboot (Reiniciar).
Una vez reiniciada la instancia, el rol de IAM se asocia al clúster de base de datos.
Para obtener más información acerca de los grupos de parámetros de clúster, consulte Parámetros de configuración de Aurora MySQL.
-
Para asociar un rol de IAM a un clúster de base de datos con la AWS CLI
-
Ejecute el comando
add-role-to-db-cluster
desde la AWS CLI para añadir los ARN de los roles de IAM al clúster de base de datos, como se muestra a continuación.PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraS3Role PROMPT> aws rds add-role-to-db-cluster --db-cluster-identifier my-cluster --role-arn arn:aws:iam::123456789012:role/AllowAuroraLambdaRole
-
Si utiliza el grupo de parámetros de clúster de base de datos predeterminado, cree un nuevo grupo de parámetros de clúster de base de datos. Si ya está usando un grupo de parámetros de base de datos personalizado, puede usarlo en lugar de crear uno nuevo.
Para crear un nuevo grupo de parámetros de clúster de base de datos, ejecute el comando
create-db-cluster-parameter-group
desde la AWS CLI, como se muestra a continuación.PROMPT> aws rds create-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --db-parameter-group-family aurora5.7 --description "Allow access to Amazon S3 and AWS Lambda"
En el caso de un clúster de base de datos compatible con Aurora MySQL 5.7, especifique
aurora-mysql5.7
para--db-parameter-group-family
. En el caso de un clúster de base de datos compatible con Aurora MySQL 8.0, especifiqueaurora-mysql8.0
para--db-parameter-group-family
. -
Configure el parámetro o parámetros adecuados a nivel de clúster y los valores de ARN de rol de IAM correspondientes dentro del grupo de parámetros de clúster de base de datos, como se muestra a continuación.
PROMPT> aws rds modify-db-cluster-parameter-group --db-cluster-parameter-group-name AllowAWSAccess \ --parameters "ParameterName=aws_default_s3_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraS3Role,method=pending-reboot" \ --parameters "ParameterName=aws_default_lambda_role,ParameterValue=arn:aws:iam::123456789012:role/AllowAuroraLambdaRole,method=pending-reboot"
-
Modifique el clúster de base de datos de modo que use el nuevo grupo de parámetros de clúster de base de datos y, a continuación, reinicie el clúster, como se muestra a continuación.
PROMPT> aws rds modify-db-cluster --db-cluster-identifier my-cluster --db-cluster-parameter-group-name AllowAWSAccess PROMPT> aws rds reboot-db-instance --db-instance-identifier my-cluster-primary
Una vez reiniciada la instancia, los roles de IAM están asociados al clúster de base de datos.
Para obtener más información acerca de los grupos de parámetros de clúster, consulte Parámetros de configuración de Aurora MySQL.