Creación de un secreto y rol de IAM para utilizar consultas federadas
En los pasos siguientes se muestra cómo crear un secreto y un rol de IAM para utilizarlos con las consultas federadas.
Requisitos previos
Asegúrese de cumplir los siguientes requisitos previos a fin de crear un secreto y un rol de IAM para utilizarlos con consultas federadas:
una instancia de base de datos de RDS PostgreSQL, Aurora PostgreSQL, RDS MySQL o Aurora MySQL que cuente con autenticación de nombre de usuario y contraseña
un clúster de Amazon Redshift con una versión de mantenimiento del clúster que admita las consultas federadas.
Para crear un secreto (nombre de usuario y contraseña) con AWS Secrets Manager
Inicie sesión en la consola de Secrets Manager con la cuenta dueña de la instancia del clúster de RDS o Aurora DB.
Elija Almacenar un secreto nuevo.
Elija el mosaico Credentials for RDS database (Credenciales para la base de datos RDS). En User name (Nombre de usuario) y Contraseña (Password), introduzca valores para la instancia. Confirme o elija un valor para Encryption key (Clave de cifrado). A continuación, elija la base de datos de RDS a la que obtendrá acceso su secreto.
nota
Se recomienda utilizar la clave de cifrado predeterminada (
DefaultEncryptionKey
). Si utiliza una clave de cifrado personalizada, el rol de IAM que se utiliza para tener acceso al secreto debe añadirse como usuario clave.Escriba un nombre para el secreto, continúe con los pasos de creación con las opciones predeterminadas y elija Store (Guardar).
Consulte su secreto y anote el valor de Secret ARN (ARN de secreto) que creó para identificar el secreto.
Para crear una directiva de seguridad mediante el secreto
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. Cree una política con JSON similar a la siguiente.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:
us-west-2
:123456789012
:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }Para recuperar el secreto, tiene que enumerar y leer las acciones. Se recomienda restringir el recurso al secreto específico que ha creado. Para ello, utilice el nombre de recurso de Amazon (ARN) del secreto para limitar el recurso. También puede especificar los permisos y recursos mediante el editor visual en la consola de IAM.
Asigne un nombre a la política y termine de crearla.
-
Vaya a IAM roles (Roles de IAM).
Cree un rol de IAM para Redshift - Customizable (Redshift - Personalizable).
Asocie la política de IAM que acaba de crear a un rol de IAM existente o cree uno nuevo y asóciele la política.
En la pestaña Trust relationships (Relaciones de confianza) de su rol de IAM, confirme que el rol contiene la entidad de confianza
redshift.amazonaws.com
.Anote el valor de Role ARN (ARN de rol) que ha creado. Este ARN tiene acceso al secreto.
Para adjuntar el rol de IAM al clúster de Amazon Redshift
Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/
. En el menú de navegación, elija Clusters (Clústeres). Se enumeran los clústeres de su cuenta en la región de AWS actual.
Seleccione el nombre del clúster en la lista para ver más detalles sobre un clúster.
-
En Actions (Acciones), seleccione Manage IAM roles (Administrar funciones de IAM). Aparecerá la página Manage IAM roles (Administrar los roles de IAM).
Añada su rol de IAM al clúster.