

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuraciones de seguridad y roles de IAM
<a name="dotnet-migrating-applications-security"></a>

El **eb migrate** comando administra las configuraciones AWS de seguridad mediante funciones de IAM, perfiles de instancia y funciones de servicio. La comprensión de estos componentes garantiza un control de acceso adecuado y el cumplimiento de las normas de seguridad durante la migración.

## Configuración de perfiles de instancia
<a name="dotnet-migrating-applications-security-instance"></a>

Un perfil de instancia sirve de contenedor para un rol de IAM que Elastic Beanstalk asocia a las instancias de EC2 de su entorno. Cuando ejecuta **eb migrate**, puede especificar un perfil de instancia personalizado:

```
PS C:\migrations_workspace> eb migrate --instance-profile "CustomInstanceProfile"
```

Si no especifica un perfil de instancia, **eb migrate** crea un perfil predeterminado con los siguientes permisos:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::elasticbeanstalk-*",
                "arn:aws:s3:::elasticbeanstalk-*/*"
            ]
        }
    ]
}
```

------

## Administración de roles de servicio
<a name="dotnet-migrating-applications-security-service"></a>

Un rol de servicio permite a Elastic Beanstalk administrar los recursos en AWS su nombre. Especifique un rol de servicio personalizado durante la migración con el siguiente comando:

```
PS C:\migrations_workspace> eb migrate --service-role "CustomServiceRole"
```

Si no se especifica, **eb migrate** crea un rol de servicio predeterminado denominado `aws-elasticbeanstalk-service-role` con una política de confianza que permite que Elastic Beanstalk asuma el rol. Este rol de servicio es esencial para que Elastic Beanstalk monitoree el estado del entorno y realice actualizaciones de plataformas administradas. El rol de servicio requiere dos políticas administradas:
+ `AWSElasticBeanstalkEnhancedHealth`: permite que Elastic Beanstalk monitoree el estado de las instancias y del entorno mediante el sistema mejorado de informes de estado.
+ `AWSElasticBeanstalkManagedUpdates`: permite que Elastic Beanstalk realice actualizaciones de plataforma administradas, incluida la actualización de los recursos del entorno cuando hay una nueva versión de la plataforma disponible.

Con estas políticas, el rol de servicio tiene permisos para lo siguiente:
+ Crear y administrar grupos de escalado automático
+ Crear y administrar Equilibradores de carga de aplicación
+ Sube registros a Amazon CloudWatch
+ Administrar instancias de EC2

Para obtener más información sobre los roles de servicio, consulte [Rol de servicio de Elastic Beanstalk](concepts-roles-service.md) en la Guía para desarrolladores de Elastic Beanstalk.

## Configuración del grupo de seguridad
<a name="dotnet-migrating-applications-security-sg"></a>

El comando **eb migrate** configura automáticamente los grupos de seguridad en función de los enlaces de sitios de IIS. Por ejemplo, si el entorno de origen tiene sitios que utilizan los puertos 80, 443 y 8081, se obtiene la siguiente configuración:

```
<site name="Default Web Site">
    <bindings>
        <binding protocol="http" bindingInformation="*:80:" />
        <binding protocol="https" bindingInformation="*:443:" />
    </bindings>
</site>
<site name="InternalAPI">
    <bindings>
        <binding protocol="http" bindingInformation="*:8081:" />
    </bindings>
</site>
```

Durante el proceso de migración se completan las siguientes acciones:
+ Crea un grupo de seguridad del equilibrador de carga que permite el tráfico entrante en los puertos 80 y 443 desde Internet (0.0.0.0/0).
+ Crea un grupo de seguridad de EC2 que permite el tráfico procedente del equilibrador de carga.
+ Configura puertos adicionales (como el 8081) si se especifica `--copy-firewall-config`.

De forma predeterminada, el Equilibrador de carga de aplicación está configurado con acceso público desde Internet. Si necesita personalizar este comportamiento, por ejemplo, restringir el acceso a rangos de IP específicos o usar un equilibrador de carga privado, puede anular la configuración predeterminada de VPC y de los grupos de seguridad mediante el parámetro `--vpc-config`:

```
PS C:\migrations_workspace> eb migrate --vpc-config vpc-config.json
```

Por ejemplo, la siguiente configuración de `vpc-config.json` crea un equilibrador de carga privado en una subred privada:

```
{
    "id": "vpc-12345678",
    "publicip": "false",
    "elbscheme": "internal",
    "ec2subnets": ["subnet-private1", "subnet-private2"],
    "elbsubnets": ["subnet-private1", "subnet-private2"]
}
```

Para obtener más información acerca de las opciones de configuración de VPS, consulte [Configuración de la VPC](dotnet-migrating-applications-network.md#dotnet-migrating-applications-network-vpc).

## Integración de certificados SSL
<a name="dotnet-migrating-applications-security-ssl"></a>

Al migrar sitios con enlaces HTTPS, integre los certificados SSL mediante AWS Certificate Manager (ACM):

```
PS C:\migrations_workspace> eb migrate --ssl-certificates "arn:aws:acm:region:account:certificate/certificate-id"
```

Esta configuración completa las siguientes acciones:
+ Asocia el certificado al Equilibrador de carga de aplicación.
+ Mantiene la finalización HTTPS en el equilibrador de carga.
+ Conserva la comunicación HTTP interna entre el equilibrador de carga y las instancias de EC2.

## Autenticación de Windows
<a name="dotnet-migrating-applications-security-windows"></a>

En el caso de las aplicaciones que utilizan la autenticación de Windows, **eb migrate** conserva la configuración de autenticación en la `web.config` de la aplicación de la siguiente manera:

```
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <windowsAuthentication enabled="true">
                    <providers>
                        <add value="Negotiate" />
                        <add value="NTLM" />
                    </providers>
                </windowsAuthentication>
            </authentication>
        </security>
    </system.webServer>
</configuration>
```

**importante**  
El comando **eb migrate** no copia perfiles o cuentas de usuario del entorno de origen a las instancias de Elastic Beanstalk de destino. Todas las cuentas de usuario o grupos personalizados que haya creado en el servidor de origen deberán volver a crearse en el entorno de destino tras la migración.

Las cuentas como `IUSR` y los grupos como `IIS_IUSRS`, integrados con Windows, además del resto de las cuentas y los grupos integrados, se incluyen de forma predeterminada en las instancias de Windows Server de destino. Para obtener más información acerca de las cuentas y los grupos de IIS integrados, consulte [Comprensión de las cuentas de usuario y de grupo integradas en IIS](https://learn.microsoft.com/en-us/iis/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis) en la documentación de Microsoft.

Si la aplicación se basa en cuentas de usuario de Windows personalizadas o en la integración con Active Directory, tendrá que configurar estos aspectos por separado una vez finalizada la migración.

## Prácticas recomendadas y solución de problemas
<a name="dotnet-migrating-applications-security-best"></a>

### Administración de roles
<a name="dotnet-migrating-applications-security-best-role"></a>

Implemente las mejores prácticas de AWS IAM al gestionar las funciones de sus entornos de Elastic Beanstalk:

Creación y administración de roles  
+ Siempre que sea posible, cree roles mediante políticas administradas AWS 
+ Siga las [prácticas recomendadas de seguridad para IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html).
+ Utilice el [generador de políticas de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) para crear políticas personalizadas.
+ Implemente [límites de permisos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) para mayor seguridad.

Monitoreo y auditoría  
Habilite AWS CloudTrail para monitorear el uso de los roles:  
+ Siga la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ Configure la integración CloudWatch de los registros para la supervisión en tiempo real
+ Configure alertas para llamadas a la API no autorizadas.

Proceso de revisión regular  
Establezca un ciclo de revisión trimestral para realizar las siguientes tareas:  
+ Auditar los permisos no utilizados mediante [Analizador de acceso de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html)
+ Eliminar permisos obsoletos
+ Actualizar los roles según los principios de privilegios mínimos

### Administración de certificados
<a name="dotnet-migrating-applications-security-best-cert"></a>

Implemente estas prácticas para SSL/TLS los certificados en sus entornos de Elastic Beanstalk:

Ciclo del certificado  
+ Utilice [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) para la administración de certificados.
+ Habilite la [renovación automática](https://docs.aws.amazon.com/acm/latest/userguide/check-certificate-renewal-status.html) de los certificados emitidos por ACM.
+ Configure las [notificaciones de caducidad](https://docs.aws.amazon.com/acm/latest/userguide/notifications-for-ACM.html).

Estándares de seguridad  
+ Utilice TLS 1.2 o una versión posterior
+ Siga las [políticas de seguridad de AWS](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) para los oyentes de HTTPS.
+ De ser necesario, implemente HTTP Strict Transport Security (HSTS).

### Administración de los grupos de seguridad.
<a name="dotnet-migrating-applications-security-best-sg"></a>

Implemente estas prácticas recomendadas para grupos de seguridad:

Administración de reglas  
+ Documente todos los requisitos de puertos personalizados.
+ Utilice los [registros de flujo de VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) para monitorear el tráfico.
+ Siempre que sea posible, utilice [reglas de referencia de grupos de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) en lugar de rangos de IP.

Auditoría regular  
Establezca revisiones mensuales para realizar las siguientes tareas:  
+ Identificar y eliminar las reglas no utilizadas
+ Valide los requisitos source/destination 
+ Comprobar si hay reglas superpuestas

### Registro y supervisión
<a name="dotnet-migrating-applications-security-best-logging"></a>

Para un monitoreo de seguridad eficaz, configure los siguientes registros:

Registros de eventos de Windows en instancias de EC2  

```
# Review Security event log
PS C:\migrations_workspace> Get-EventLog -LogName Security -Newest 50

# Check Application event log
PS C:\migrations_workspace> Get-EventLog -LogName Application -Source "IIS*"
```

CloudWatch Integración de registros  
Configure el agente de CloudWatch registros para que transmita los registros de eventos de Windows a CloudWatch fin de centralizar la supervisión y las alertas.

En caso de problemas persistentes, recopile estos registros y póngase en contacto AWS Support con la siguiente información:
+ ID del entorno
+ ID de implementación (si corresponde)
+ Mensajes de error relevantes
+ Cronología de los cambios de seguridad