es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cruzar la canalización de código de cuenta cruzada con origen S3 en una cuenta diferente.

Tengo 2 cuentas de AWS:
1. Cuenta A: Codepipeline
2. Cuenta B: S3 que contiene un archivo comprimido (zip)

El requisito es tal que el codepipeline en la cuenta A necesitará el archivo zip de S3 como etapa de origen de la cuenta B.
Además, el codepipeline deberá detectar cambios en la ruta de S3 cada vez que haya un nuevo archivo zip e invocar el pipeline.

¿Alguien puede ayudarme con los roles de cuentas cruzadas y los pasos requeridos en el proceso anterior, por favor?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución

    Para permitir que el CodePipeline en la Cuenta A acceda al bucket de S3 en la Cuenta B, debemos configurar un rol IAM entre cuentas y otorgar permisos al bucket de S3 en la Cuenta B.

    Paso 1: Crear un rol IAM en la Cuenta B

    1. Inicia sesión en la Consola de Administración de AWS de la Cuenta B.
    2. Ve a IAM y haz clic en “Roles” en el panel de navegación izquierdo.
    3. Haz clic en el botón “Crear rol”.
    4. Selecciona “Otra cuenta de AWS” como la entidad de confianza e ingresa el ID de cuenta de la Cuenta A.
    5. Selecciona la política “Permite a los usuarios de IAM de una cuenta de AWS externa acceder a esta cuenta”.
    6. Asocia una política que permita el acceso de lectura al bucket de S3 que contiene el archivo zip.

    Paso 2: Crear un evento de S3 en la Cuenta B

    1. En la consola de S3 de la Cuenta B, crea un evento de S3 en el bucket que contiene el archivo zip.
    2. Configura el evento para que desencadene una notificación SNS o un evento de EventBridge cada vez que se agregue un nuevo archivo zip al bucket.

    Paso 3: Modificar el CodePipeline en la Cuenta A

    1. En la consola de CodePipeline de la Cuenta A, haz clic en “Editar” en el pipeline que deseas modificar.
    2. En la etapa de origen, selecciona “Amazon S3” como el proveedor de origen y elige el bucket de S3 en la Cuenta B que contiene el archivo zip.
    3. Selecciona “Crear un nuevo rol de servicio” para “Nombre del rol” en la sección “Configuraciones avanzadas”.
    4. Selecciona “Cruce de cuentas” como el “Tipo de rol”.
    5. Ingresa el ARN del rol que creaste en el Paso 1 para “ID externo”.
    6. Finaliza la configuración del pipeline.

    Ahora, el CodePipeline en la Cuenta A se activará cada vez que haya un nuevo archivo zip en el bucket de S3 en la Cuenta B. El rol IAM entre cuentas garantiza que el pipeline tenga acceso de lectura al bucket de S3. Si configuras un evento de S3 en este bucket, se generará una notificación o evento en la Cuenta A, que luego puede iniciar el pipeline.

Comments are closed.