> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Amazon Elastic Compute Cloud (EC2)

> Conecta Amazon EC2 con Iru Compliance mediante un rol de IAM entre cuentas para recopilar como evidencias el inventario de instancias, los grupos de seguridad y los metadatos de red de VPC.

### Acerca de Amazon Elastic Compute Cloud (EC2)

El conector de **Amazon EC2** recopila el **inventario de instancias**, los **grupos de seguridad**, la **topología de VPC**, los **metadatos de AMI** y otros detalles de **cómputo** relacionados de tu cuenta de AWS para que puedas adjuntarlos a controles en Iru Compliance. Iru llama a las API de AWS usando **`sts:AssumeRole`** en un **rol de IAM que creas** en tu cuenta. El rol confía en la entidad principal de AWS de Iru y exige un **external ID** que te muestra el asistente del conector. El acceso es de **solo lectura**, por lo que Iru no inicia, detiene ni termina instancias a través de esta fuente.

### Cómo funciona

Iru se ejecuta en **la cuenta de AWS de Iru**. Creas un **rol de IAM administrado por el cliente** en **tu** cuenta que:

1. **Confía** en el ARN del rol de Iru (que se muestra en el asistente) solo cuando **`sts:ExternalId`** coincide con el valor que muestra Iru.
2. **Permite** llamadas de solo lectura a EC2 y llamadas auxiliares, normalmente mediante **`AmazonEC2ReadOnlyAccess`**, o una política en línea más restrictiva si tu equipo de seguridad prefiere el mínimo privilegio.

Copias el **ARN** del rol de vuelta en el conector. A continuación, Iru asume ese rol y lee los datos regionales de EC2 (Iru recorre las regiones habilitadas).

| Detalle | Valor |
| - | - |
| **Categoría** | Developer tools |
| **Autenticación** | Rol de IAM entre cuentas (`sts:AssumeRole` + external ID) |

Referencias: [AmazonEC2ReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html), [EC2 IAM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-iam.html).

### Requisitos previos

* Permisos de IAM para **crear roles** y vincular políticas (por ejemplo, **`IAMFullAccess`** o un rol de administración más limitado).
* El **ARN de la entidad principal de Iru** y el **external ID** de la pantalla del conector de **tu** tenant (no los valores de muestra de los ejemplos siguientes, salvo que coincidan con lo que Iru te muestra hoy).

### Conectar Amazon EC2 con Iru

<Tabs>
  <Tab title="Iru Compliance">
    <Note>
      Empieza aquí: abre el asistente de la fuente y revisa la **política de confianza** (y anota el **external ID**). Cuando estés listo para crear el rol en AWS, cambia a la pestaña [**AWS**](#aws) y sigue [**Crear el rol de IAM**](#create-the-iam-role). Cuando tengas el **Role ARN**, vuelve a la pestaña [**Iru Compliance**](#iru-compliance) y completa [**Enviar el ARN del rol en Iru**](#submit-the-role-arn-in-iru) a continuación.
    </Note>

    #### Obtener la política de confianza de Iru

    <Steps>
      <Step title="Abrir Sources">
        En Iru Compliance, en la barra de navegación izquierda, expande **Cumplimiento** y selecciona **Fuentes**.

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="Navegación izquierda: Compliance expandido, Sources seleccionado" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="Activar AWS Elastic Compute Cloud (EC2)">
        Busca **AWS Elastic Compute Cloud (EC2)** (usa **Categoría** o **Buscar por nombre o descripción**). En esa tarjeta, activa el **interruptor**. Deja abierta la pestaña del asistente **Iru está solicitando acceso a servicios externos**.
      </Step>

      <Step title="Revisar el JSON de la política de confianza">
        El asistente solicita un ARN de rol y muestra la **política de confianza** que debe usar tu rol de IAM (**Principal** y **sts:ExternalId**). A continuación se muestra un **ejemplo** de la estructura; **copia el JSON real de tu asistente** para que la cuenta, el ARN de la entidad principal y el external ID coincidan exactamente.

        ```json copy=false lines theme={null}
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Principal": {
                "AWS": "arn:aws:iam::753695775620:role/IruConnect"
              },
              "Condition": {
                "StringEquals": {
                  "sts:ExternalId": "YOUR_EXTERNAL_ID"
                }
              },
              "Action": "sts:AssumeRole"
            }
          ]
        }
        ```
      </Step>

      <Step title="Cambiar a AWS para crear el rol">
        Mantén abierta la pestaña del asistente de Iru como referencia y, a continuación, cambia a la pestaña [**AWS**](#aws) y sigue [**Crear el rol de IAM**](#create-the-iam-role).
      </Step>
    </Steps>

    #### Enviar el ARN del rol en Iru

    <Note>
      Termina primero la pestaña [**AWS**](#aws) (hasta [**Crear el rol de IAM**](#create-the-iam-role)) para tener el **Role ARN** del nuevo rol.
    </Note>

    <Steps>
      <Step title="Pegar el ARN del rol de IAM">
        Vuelve a la pestaña del asistente de Iru. Pega el **Role ARN** en el campo **Role ARN**.
      </Step>

      <Step title="Finalizar la conexión">
        Selecciona **Submit Role**. Cuando la conexión se realiza correctamente, el asistente muestra **Conexión configurada**.
      </Step>

      <Step title="Confirmar que la fuente está activa">
        Cierra la pestaña del navegador **Iru está solicitando acceso a servicios externos** y, a continuación, vuelve a **Cumplimiento** → **Fuentes** y confirma que la tarjeta de **EC2** está **Activo**.
      </Step>
    </Steps>
  </Tab>

  <Tab title="AWS">
    <Note>
      Completa [**Obtener la política de confianza de Iru**](#get-the-trust-policy-from-iru) en la pestaña [**Iru Compliance**](#iru-compliance) antes de crear este rol. Usa el **external ID** y la política de confianza del asistente real cuando configures **Trusted entity**.
    </Note>

    #### Crear el rol de IAM

    <Steps>
      <Step title="Iniciar el flujo Create role">
        Inicia sesión en la cuenta de AWS propietaria de tu carga de trabajo de EC2. Abre **IAM** → **Roles** → **Create role**.
      </Step>

      <Step title="Configurar la entidad de confianza">
        Elige **AWS account** → **Another AWS account**. Introduce el ID de la cuenta de AWS de Iru (**`753695775620`**, salvo que el asistente muestre un valor diferente). Habilita **Require external ID** y pega el **external ID** del asistente de Iru.
      </Step>

      <Step title="Vincular los permisos de lectura de EC2">
        En **Permisos**, vincula **`AmazonEC2ReadOnlyAccess`**.

        Si tu equipo de seguridad **no** usa la política administrada, vincula en su lugar una **política en línea** con el JSON siguiente. El JSON es un **ejemplo** de alternativa de mínimo privilegio; restringe o amplía las acciones después de la revisión de tu equipo.

        ```json lines theme={null}
        {
          "Version": "2012-10-17",
          "Statement": [
            {
              "Effect": "Allow",
              "Action": [
                "ec2:Describe*",
                "ec2:Get*",
                "elasticloadbalancing:Describe*",
                "cloudwatch:ListMetrics",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:Describe*",
                "autoscaling:Describe*"
              ],
              "Resource": "*"
            }
          ]
        }
        ```
      </Step>

      <Step title="Asignar un nombre al rol y copiar su ARN">
        Finaliza el asistente y asigna un nombre al rol (por ejemplo, **`IruEC2ReadOnly`**). Abre el nuevo rol y copia el **Role ARN** de la parte superior de la página de resumen. Vuelve a la pestaña [**Iru Compliance**](#iru-compliance) y completa [**Enviar el ARN del rol en Iru**](#submit-the-role-arn-in-iru).
      </Step>

      <Step title="Verificar la política de confianza">
        Abre la pestaña **Trust relationships** del rol y confirma que el JSON coincide con lo que mostró Iru. Los errores tipográficos en el external ID son la causa más habitual de **`AccessDenied`** en **`AssumeRole`**.
      </Step>
    </Steps>

    <Note>
      Continúa en la pestaña [**Iru Compliance**](#iru-compliance) para pegar el **Role ARN** y finalizar el asistente ([**Enviar el ARN del rol en Iru**](#submit-the-role-arn-in-iru)).
    </Note>
  </Tab>
</Tabs>

### Solución de problemas

<AccordionGroup>
  <Accordion title="No se abre nada al activar la fuente">
    Revisa la configuración del **bloqueador de ventanas emergentes** para el sitio de Iru e inténtalo de nuevo.
  </Accordion>

  <Accordion title="AccessDenied en AssumeRole">
    Verifica que el **external ID** y la **entidad principal** de la política de confianza coinciden carácter por carácter con el asistente de Iru.
  </Accordion>

  <Accordion title="Inventario vacío">
    Confirma que el rol reside en la **misma cuenta** que tus instancias y que existen instancias en las regiones que esperas.
  </Accordion>

  <Accordion title="Faltan datos de grupos de seguridad o VPC">
    Asegúrate de tener cobertura de `ec2:Describe*` (la política administrada ya los incluye). Las políticas personalizadas necesitan las acciones `Describe*` correspondientes.
  </Accordion>
</AccordionGroup>

### Consideraciones

<CardGroup cols={2}>
  <Card title="Las API de EC2 son regionales: la primera sincronización puede tardar más…" icon="circle-info">
    Las API de EC2 son **regionales**, por lo que la primera sincronización puede tardar más si hay muchas regiones.
  </Card>

  <Card title="AmazonEC2ReadOnlyAccess también cubre ELB y…" icon="shield">
    `AmazonEC2ReadOnlyAccess` también cubre las lecturas relacionadas de **ELB** y **Auto Scaling** para obtener una visión más completa.
  </Card>

  <Card title="Esta integración nunca modifica las instancias: solo…" icon="server">
    Esta integración nunca modifica las instancias; solo las **describe**.
  </Card>
</CardGroup>

### Artículos relacionados

<CardGroup cols={2}>
  <Card title="Gestión de fuentes" icon="plug" href="/es/compliance/sources-management">
    Explora y gestiona todas las fuentes de Compliance.
  </Card>

  <Card title="Primeros pasos con Compliance" icon="rocket" href="/es/compliance/getting-started-with-compliance">
    Marcos, acciones y **Artefactos**.
  </Card>

  <Card title="Descripción general de Iru" icon="layer-group" href="/es/iru/platform-overview/iru-overview">
    Cómo encajan Endpoint, Compliance e Identity.
  </Card>

  <Card title="Gestión de artefactos" icon="folder-open" href="/es/compliance/artifacts-management">
    Carga, revisa y organiza las evidencias de fuentes y acciones.
  </Card>
</CardGroup>
