Paso 1: Crear usuario y rol IAM de AWS
Debe crear un usuario y rol IAM que Kameleoon utilizará para acceder a su cluster de Redshift. Puede crearlos en la AWS Management Console o en la AWS CLI. Proporcionamos comandos de ejemplo para la AWS CLI.1. Crear un usuario IAM
Utilice el siguiente comando para crear un usuario IAM dedicado para Kameleoon:aws iam create-user --user-name kameleoon_user
A continuación, genere una clave de acceso para el kameleoon_user:
aws iam create-access-key --user-name kameleoon_user
Asegúrese de conservar los campos AccessKeyId y SecretAccessKey que se encuentran en el JSON devuelto por este comando, ya que se le pedirá que los proporcione a Kameleoon al realizar la configuración en la interfaz de usuario de Kameleoon.
2. Crear un rol IAM
Cree un rol que Kameleoon pueda asumir, permitiéndole interactuar con su cluster de Redshift. Utilice el siguiente comando para crear el rol con una política de confianza JSON inline:{account_id} por su ID de cuenta de AWS.
Cuando se utiliza Redshift como fuente, s3.amazonaws.com puede omitirse. Cuando se utiliza Provisioned, redshift-serverless.amazonaws.com puede omitirse.
Para Amazon Redshift como destino: conceder derechos de acceso S3 Redshift a un rol IAM
Cree y asocie un rol S3 para permitir a Kameleoon interactuar con el bucket S3 de su elección y copiar datos de S3 a Redshift.{s3_bucket_name}, {aws_region} y {account_id} por sus datos.
Alternativamente, utilice las políticas existentes AmazonS3FullAccess y AmazonRedshiftFullAccess.
Paso 2: Otorgar permisos al rol de Kameleoon
Conceda los permisos necesarios al rol IAM asociado a Kameleoon para permitir la interacción con su base de datos de Redshift. Los permisos deben concederse a nivel de usuario SQL mediante comandos SQL. El usuario SQL por defecto creado para un rol IAM se llamaIAMR:{role_name}, por lo que, si el rol que utiliza se llama kameleoon_role, ejecutará estos comandos para el usuario SQL IAMR:kameleoon_role.
Para Amazon Redshift como fuente
1. Conceder acceso a un esquema existente
Proporcione al rol IAM de Kameleoon acceso al esquema y tablas relevantes en su base de datos de Redshift. Por ejemplo, si quiere que Kameleoon ingiera datos de su tabla “users” en el esquemaschema_containing_data, ejecute los siguientes comandos SQL:
2. Crear el esquema de configuración de Kameleoon
Cree un nuevo esquema para las configuraciones de Kameleoon y conceda los permisos necesarios:3. Conceder permisos DML en el esquema de configuración de Kameleoon
Conceda al rol de Kameleoon permisos para insertar, actualizar y eliminar datos en el esquemakameleoon_configuration:
4. Establecer privilegios por defecto para futuras tablas
Asegúrese de que cualquier tabla futura creada en el esquemakameleoon_configuration conceda automáticamente los permisos necesarios al rol de Kameleoon:
Para Amazon Redshift como destino
1. Crear el esquema de eventos de Kameleoon
Cree un nuevo esquema para los eventos de Kameleoon y conceda los permisos necesarios:2. Conceder permisos DML en el esquema de eventos de Kameleoon
Conceda al rol de Kameleoon permisos para insertar, actualizar y eliminar datos en el esquemakameleoon_events:
3. Establecer privilegios por defecto para futuras tablas
Asegúrese de que cualquier tabla futura creada en el esquemakameleoon_events conceda automáticamente los permisos necesarios al rol de Kameleoon:
Paso 3: Habilitar y configurar la integración en la interfaz de usuario de Kameleoon
Vaya a la página Integrations en su cuenta de Kameleoon y busque Amazon Redshift en la lista.

- AWS Account ID: el identificador numérico único de su cuenta de Amazon Web Services.
- AWS Role name: el nombre del rol IAM de AWS que creó para Kameleoon según las instrucciones de las secciones anteriores.
- AWS Access key ID y Secret access key ID: estos dos campos se proporcionan al crear las credenciales para el rol de AWS. Si utilizó la interfaz de línea de comandos de AWS para crear esta clave como se describe en el paso uno de este artículo, estos dos valores se proporcionaron en la respuesta JSON a ese comando.
Paso 4: Configurar el security group para Redshift
Para permitir que Kameleoon se conecte a su cluster de Redshift, autorice las consultas desde las direcciones IP de Kameleoon en su security group. Esto puede hacerse en la consola de AWS:- Identificar el security group: el security group asociado a su cluster de Redshift se puede ver en el panel de Redshift, y puede acceder a la página de configuración de este security group desde allí. Si está utilizando Redshift Serverless, busque el Security Group de su Workgroup.
- Añadir reglas de entrada
- Vaya a la pestaña Inbound Rules.
- Haga clic en Edit inbound rules > Add rule.
- Establezca los siguientes parámetros:
- Type: Custom TCP rule
- Port range: 5439 (puerto por defecto de Redshift)
- Source: Custom (añada las direcciones IP de Kameleoon mostradas en la sección de integración de Redshift de la interfaz de usuario de Kameleoon)
Paso 5: Abrir el VPC del Workgroup a conexiones externas
Asegúrese de que el VPC asociado a su cluster de Redshift esté configurado para permitir conexiones externas. Por simplicidad, puede hacer el VPC accesible públicamente y confiar únicamente en la configuración del Security Group. Un enfoque más seguro es ajustar la network Access Control List de su subred VPC. Para hacerlo, modifique la configuración del VPC en su consola de AWS del siguiente modo:- Acceder a la configuración del VPC: Vaya al panel VPC en la AWS Management Console.
- Modificar Network ACLs:
- Vaya a la sección Network ACLs.
- Localice la ACL asociada a su VPC.
- Modifique las reglas de entrada y salida para permitir el tráfico desde las direcciones IP de Kameleoon en el puerto 5439.
- Actualizar las route tables: Asegúrese de que las route tables asociadas a su VPC estén correctamente configuradas para enrutar el tráfico a su cluster de Redshift.