

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazioni di sicurezza e ruoli IAM
<a name="dotnet-migrating-applications-security"></a>

Il **eb migrate** comando gestisce le configurazioni AWS di sicurezza tramite ruoli IAM, profili di istanza e ruoli di servizio. La comprensione di questi componenti garantisce il corretto controllo degli accessi e la conformità alla sicurezza durante la migrazione.

## Configurazione del profilo dell'istanza
<a name="dotnet-migrating-applications-security-instance"></a>

Un profilo di istanza funge da contenitore per un ruolo IAM che Elastic Beanstalk collega alle istanze EC2 nel tuo ambiente. Durante l'esecuzione**eb migrate**, puoi specificare un profilo di istanza personalizzato:

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

Se non specifichi un profilo di istanza, **eb migrate** crea un profilo predefinito con queste autorizzazioni:

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

****  

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

------

## Gestione dei ruoli di servizio
<a name="dotnet-migrating-applications-security-service"></a>

Un ruolo di servizio consente a Elastic Beanstalk di gestire le risorse AWS per tuo conto. Specificate un ruolo di servizio personalizzato durante la migrazione con il seguente comando:

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

Se non specificato, **eb migrate** crea un ruolo di servizio predefinito denominato `aws-elasticbeanstalk-service-role` con una policy di fiducia che consente a Elastic Beanstalk di assumere il ruolo. Questo ruolo di servizio è essenziale per Elastic Beanstalk per monitorare lo stato dell'ambiente ed eseguire aggiornamenti gestiti della piattaforma. Il ruolo di servizio richiede due politiche gestite:
+ `AWSElasticBeanstalkEnhancedHealth`- Consente a Elastic Beanstalk di monitorare lo stato dell'istanza e dell'ambiente utilizzando il sistema di reporting sanitario avanzato
+ `AWSElasticBeanstalkManagedUpdates`- Consente a Elastic Beanstalk di eseguire aggiornamenti gestiti della piattaforma, incluso l'aggiornamento delle risorse dell'ambiente quando è disponibile una nuova versione della piattaforma

Con queste politiche, il ruolo di servizio dispone delle autorizzazioni per:
+ Crea e gestisci gruppi di Auto Scaling
+ Crea e gestisci Application Load Balancer
+ Carica i log su Amazon CloudWatch
+ Gestisci le istanze EC2

Per ulteriori informazioni sui ruoli di servizio, consulta [Ruolo di servizio Elastic Beanstalk](concepts-roles-service.md) la Elastic Beanstalk Developer Guide.

## Configurazione del gruppo di sicurezza
<a name="dotnet-migrating-applications-security-sg"></a>

Il **eb migrate** comando configura automaticamente i gruppi di sicurezza in base alle associazioni del sito IIS. Ad esempio, se l'ambiente di origine ha siti che utilizzano le porte 80, 443 e 8081, i seguenti risultati di configurazione:

```
<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>
```

Il processo di migrazione completa le seguenti azioni:
+ Crea un gruppo di sicurezza con sistema di bilanciamento del carico che consente il traffico in entrata sulle porte 80 e 443 da Internet (0.0.0.0/0)
+ Crea un gruppo di sicurezza EC2 che consente il traffico proveniente dal sistema di bilanciamento del carico
+ Configura porte aggiuntive (come 8081) se specificato `--copy-firewall-config`

Per impostazione predefinita, l'Application Load Balancer è configurato con accesso pubblico da Internet. Se è necessario personalizzare questo comportamento, ad esempio limitando l'accesso a intervalli IP specifici o utilizzando un sistema di bilanciamento del carico privato, è possibile sovrascrivere la configurazione predefinita del VPC e del gruppo di sicurezza utilizzando il parametro: `--vpc-config`

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

Ad esempio, la seguente `vpc-config.json` configurazione crea un sistema di bilanciamento del carico privato in una sottorete privata:

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

Per ulteriori informazioni sulle opzioni di configurazione del VPC, vedere. [Configurazione VPC](dotnet-migrating-applications-network.md#dotnet-migrating-applications-network-vpc)

## Integrazione del certificato SSL
<a name="dotnet-migrating-applications-security-ssl"></a>

Durante la migrazione di siti con collegamenti HTTPS, integra i certificati SSL tramite (ACM): AWS Certificate Manager 

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

Questa configurazione completa le seguenti azioni:
+ Associa il certificato all'Application Load Balancer
+ Mantiene la terminazione HTTPS sul sistema di bilanciamento del carico
+ Conserva la comunicazione HTTP interna tra il load balancer e le istanze EC2

## Autenticazione Windows
<a name="dotnet-migrating-applications-security-windows"></a>

Per le applicazioni che utilizzano l'autenticazione di Windows, **eb migrate** conserva le impostazioni di autenticazione nell'applicazione `web.config` come segue:

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

**Importante**  
Il **eb migrate** comando non copia i profili utente o gli account dall'ambiente di origine alle istanze Elastic Beanstalk di destinazione. Tutti gli account o i gruppi utente personalizzati che hai creato sul server di origine dovranno essere ricreati nell'ambiente di destinazione dopo la migrazione.

Gli account `IUSR` e i gruppi predefiniti di Windows`IIS_IUSRS`, nonché tutti gli altri account e gruppi predefiniti, sono inclusi per impostazione predefinita nelle istanze di Windows Server di destinazione. Per ulteriori informazioni sugli account e i gruppi IIS [incorporati, vedere Comprendere gli account utente e di gruppo incorporati in IIS](https://learn.microsoft.com/en-us/iis/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis) nella documentazione Microsoft.

Se l'applicazione si basa su account utente Windows personalizzati o sull'integrazione con Active Directory, sarà necessario configurare questi aspetti separatamente dopo il completamento della migrazione.

## Best practice e risoluzione dei problemi
<a name="dotnet-migrating-applications-security-best"></a>

### Gestione del ruolo
<a name="dotnet-migrating-applications-security-best-role"></a>

Implementa le best practice AWS IAM nella gestione dei ruoli per i tuoi ambienti Elastic Beanstalk:

Creazione e gestione dei ruoli  
+ Crea ruoli utilizzando politiche AWS gestite, ove possibile
+ Segui le [best practice di sicurezza IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
+ Utilizza il [AWS Policy Generator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) per politiche personalizzate
+ Implementa [i limiti di autorizzazione](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html) per una maggiore sicurezza

Monitoraggio e controllo  
Abilita AWS CloudTrail il monitoraggio dell'utilizzo dei ruoli:  
+ Segui la [guida AWS CloudTrail per l'utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ Configura l'integrazione CloudWatch dei registri per il monitoraggio in tempo reale
+ Imposta avvisi per chiamate API non autorizzate

Processo di revisione regolare  
Stabilisci un ciclo di revisione trimestrale per svolgere le seguenti attività:  
+ [Verifica le autorizzazioni non utilizzate utilizzando IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html)
+ Rimuovi le autorizzazioni obsolete
+ Aggiorna i ruoli in base ai principi del privilegio minimo

### Gestione dei certificati
<a name="dotnet-migrating-applications-security-best-cert"></a>

Implementa queste pratiche per SSL/TLS i certificati nei tuoi ambienti Elastic Beanstalk:

Ciclo di vita dei certificati  
+ Utilizzo per la gestione [AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)dei certificati
+ Abilita il [rinnovo automatico](https://docs.aws.amazon.com/acm/latest/userguide/check-certificate-renewal-status.html) per i certificati emessi da ACM
+ [Imposta le notifiche di scadenza](https://docs.aws.amazon.com/acm/latest/userguide/notifications-for-ACM.html)

Standard di sicurezza  
+ Usa TLS 1.2 o versione successiva
+ Segui le [politiche AWS di sicurezza](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies) per i listener HTTPS
+ Implementa HTTP Strict Transport Security (HSTS) se necessario

### Gestione dei gruppi di sicurezza
<a name="dotnet-migrating-applications-security-best-sg"></a>

Implementa queste best practice per i gruppi di sicurezza:

Gestione delle regole  
+ Documenta tutti i requisiti di porta personalizzati
+ Usa i [log di flusso VPC per monitorare il traffico](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)
+ Utilizza le [regole di riferimento del gruppo di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) anziché gli intervalli IP, ove possibile

Controllo regolare  
Stabilisci revisioni mensili per svolgere le seguenti attività:  
+ Identifica e rimuovi le regole non utilizzate
+ Convalida source/destination i requisiti
+ Verifica la presenza di regole sovrapposte

### Registrazione di log e monitoraggio
<a name="dotnet-migrating-applications-security-best-logging"></a>

Per un monitoraggio efficace della sicurezza, configura i seguenti registri:

Registri degli eventi di Windows sulle istanze 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 Integrazione dei registri  
Configura CloudWatch Logs agent per lo streaming dei registri degli eventi di Windows CloudWatch per il monitoraggio e gli avvisi centralizzati.

Per problemi persistenti, raccogli questi registri e contatta Supporto AWS le seguenti informazioni:
+ ID ambiente
+ ID di distribuzione (se applicabile)
+ Messaggi di errore pertinenti
+ Cronologia delle modifiche alla sicurezza