

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à.

# Sicurezza in Amazon EC2
<a name="ec2-security"></a>

La sicurezza del cloud AWS è la massima priorità. In qualità di AWS cliente, puoi beneficiare di un data center e di un'architettura di rete progettati per soddisfare i requisiti delle organizzazioni più sensibili alla sicurezza.

La sicurezza è una responsabilità condivisa tra AWS te e te. Il [modello di responsabilità condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/) descrive questo modello come sicurezza del cloud e sicurezza nel cloud:
+ **Sicurezza del cloud**: AWS è responsabile della protezione dell'infrastruttura che gestisce AWS i servizi nel AWS cloud. AWS ti fornisce anche servizi che puoi utilizzare in modo sicuro. I revisori esterni testano e verificano regolarmente l'efficacia della nostra sicurezza nell'ambito dei [AWS Programmi di AWS conformità dei Programmi di conformità](https://aws.amazon.com/compliance/programs/) dei di . Per ulteriori informazioni sui programmi di conformità applicabili ad Amazon EC2, consulta [AWS Services in Scope by Compliance Program ](https://aws.amazon.com/compliance/services-in-scope/) Program.
+ **Sicurezza nel cloud** - La tua responsabilità include le seguenti aree.
  + Controllo dell'accesso di rete alle istanze, ad esempio mediante la configurazione del VPC e dei gruppi di sicurezza. Per ulteriori informazioni, consulta [Controllo del traffico di rete](infrastructure-security.md#control-network-traffic).
  + Gestione delle credenziali utilizzate per connettersi alle istanze.
  + Gestione del sistema operativo guest e del software distribuiti nel sistema operativo guest, inclusi aggiornamenti e patch di sicurezza. Per ulteriori informazioni, consulta [Gestione degli aggiornamenti per le istanze Amazon EC2](update-management.md).
  + Configurazione dei ruoli IAM collegati all'istanza e le autorizzazioni associate a tali ruoli. Per ulteriori informazioni, consulta [Ruoli IAM per Amazon EC2](iam-roles-for-amazon-ec2.md).

Questa documentazione consente di comprendere come applicare il modello di responsabilità condivisa quando si usa Amazon EC2. Viene illustrato come configurare Amazon EC2 per soddisfare gli obiettivi di sicurezza e conformità. Scopri anche come utilizzare altri AWS servizi che ti aiutano a monitorare e proteggere le tue risorse Amazon EC2.

**Topics**
+ [Protezione dei dati](data-protection.md)
+ [Sicurezza dell'infrastruttura](infrastructure-security.md)
+ [Resilienza](disaster-recovery-resiliency.md)
+ [Convalida della conformità](compliance-validation.md)
+ [Identity and Access Management](security-iam.md)
+ [Gestione degli aggiornamenti](update-management.md)
+ [Procedure ottimali relative alle istanze Windows](ec2-windows-security-best-practices.md)
+ [Key pairs (Coppie di chiavi)](ec2-key-pairs.md)
+ [Gruppi di sicurezza](ec2-security-groups.md)
+ [NitroTPM](nitrotpm.md)
+ [Attestazione dell’istanza EC2](nitrotpm-attestation.md)
+ [

# Credential Guard per istanze Windows
](credential-guard.md)
+ [AWS PrivateLink](interface-vpc-endpoints.md)

# Protezione dei dati in Amazon EC2
<a name="data-protection"></a>

Il modello di [responsabilità AWS condivisa modello](https://aws.amazon.com/compliance/shared-responsibility-model/) di si applica alla protezione dei dati in Amazon Elastic Compute Cloud. Come descritto in questo modello, AWS è responsabile della protezione dell'infrastruttura globale che gestisce tutti i Cloud AWS. L’utente è responsabile del controllo dei contenuti ospitati su questa infrastruttura. L’utente è inoltre responsabile della configurazione della protezione e delle attività di gestione per i Servizi AWS utilizzati. Per maggiori informazioni sulla privacy dei dati, consulta le [Domande frequenti sulla privacy dei dati](https://aws.amazon.com/compliance/data-privacy-faq/). Per informazioni sulla protezione dei dati in Europa, consulta il post del blog relativo al [AWS Modello di responsabilità condivisa e GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) nel *AWS Blog sulla sicurezza*.

Ai fini della protezione dei dati, consigliamo di proteggere Account AWS le credenziali e configurare i singoli utenti con AWS IAM Identity Center or AWS Identity and Access Management (IAM). In tal modo, a ogni utente verranno assegnate solo le autorizzazioni necessarie per svolgere i suoi compiti. Suggeriamo, inoltre, di proteggere i dati nei seguenti modi:
+ Utilizza l’autenticazione a più fattori (MFA) con ogni account.
+  SSL/TLS Da utilizzare per comunicare con AWS le risorse. È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Configura l'API e la registrazione delle attività degli utenti con AWS CloudTrail. Per informazioni sull'utilizzo dei CloudTrail percorsi per acquisire AWS le attività, consulta [Lavorare con i CloudTrail percorsi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html) nella *Guida per l'AWS CloudTrail utente*.
+ Utilizza soluzioni di AWS crittografia, insieme a tutti i controlli di sicurezza predefiniti all'interno Servizi AWS.
+ Utilizza i servizi di sicurezza gestiti avanzati, come Amazon Macie, che aiutano a individuare e proteggere i dati sensibili archiviati in Amazon S3.
+ Se hai bisogno di moduli crittografici convalidati FIPS 140-3 per accedere AWS tramite un'interfaccia a riga di comando o un'API, usa un endpoint FIPS. Per ulteriori informazioni sugli endpoint FIPS disponibili, consulta il [Federal Information Processing Standard (FIPS) 140-3](https://aws.amazon.com/compliance/fips/).

Ti consigliamo di non inserire mai informazioni riservate o sensibili, ad esempio gli indirizzi e-mail dei clienti, nei tag o nei campi di testo in formato libero, ad esempio nel campo **Nome**. Ciò include quando lavori con Amazon EC2 o altro Servizi AWS utilizzando la console, l'API o. AWS CLI AWS SDKs I dati inseriti nei tag o nei campi di testo in formato libero utilizzati per i nomi possono essere utilizzati per i la fatturazione o i log di diagnostica. Quando si fornisce un URL a un server esterno, suggeriamo vivamente di non includere informazioni sulle credenziali nell’URL per convalidare la richiesta al server.

**Topics**
+ [

## Sicurezza dei dati di Amazon EBS
](#ebs-data-security)
+ [

## Crittografia dei dati a riposo
](#encryption-rest)
+ [

## Crittografia dei dati in transito
](#encryption-transit)

## Sicurezza dei dati di Amazon EBS
<a name="ebs-data-security"></a>

I volumi di Amazon EBS sono presentati come dispositivi a blocchi non elaborati e non formattati. Sono dispositivi logici creati sull'infrastruttura EBS e il servizio Amazon EBS garantisce che siano logicamente vuoti (ovvero che i blocchi non elaborati vengano azzerati o contengano dati crittograficamente pseudocasuali) prima di qualsiasi utilizzo o riutilizzo da parte di un cliente.

Se disponi di procedure che richiedono la cancellazione di tutti i dati usando un metodo specifico, dopo o prima dell'utilizzo (o in entrambi i casi), come quelli indicati in modo dettagliato in **DoD 5220.22-M** (National Industrial Security Program Operating Manual, Manuale operativo del programma nazionale di sicurezza industriale) o **NIST 800-88** (Guidelines for Media Sanitization, Linee guida per la sanificazione dei supporti), hai la possibilità di eseguire questa operazione su Amazon EBS. Tale attività a livello di blocco si rifletterà sui supporti di archiviazione sottostanti all'interno del servizio Amazon EBS.

## Crittografia dei dati a riposo
<a name="encryption-rest"></a>

**Volumi EBS**  
La crittografia Amazon EBS è una soluzione di crittografia per i volumi e gli snapshot EBS che utilizza AWS KMS keys. Per ulteriori informazioni, consulta [Crittografia Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) nella *Guida per l'utente di Amazon EBS*.

[Istanze Windows] Puoi inoltre utilizzare le autorizzazioni Microsoft EFS e NTFS per la crittografia a livello di cartella e file.

**Volumi di archivio dell'istanza**  
I dati sui volumi dell' NVMe Instance Store vengono crittografati utilizzando un codice XTS-AES-256, implementato su un modulo hardware sull'istanza. Le chiavi utilizzate per crittografare i dati scritti su dispositivi di storage collegati localmente NVMe sono per cliente e per volume. Le chiavi sono generate e risiedono solo all'interno del modulo hardware, che è inaccessibile al personale AWS . Quando l'istanza viene arrestata o terminata, le chiavi crittografiche vengono distrutte e non possono essere ripristinate. Non è possibile disattivare questa cifratura e non è possibile fornire una propria chiave crittografica.

I dati sui volumi di archivio istanza HDD nelle istanze H1, D3 e D3en vengono crittografati utilizzando XTS-AES-256 e chiavi monouso.

Quando arresti, sospendi o termini un'istanza, ogni blocco di archiviazione nel volume dell'archivio istanza viene ripristinato. Pertanto, non è possibile accedere ai dati attraverso l'instance store di un'altra istanza.

**Memoria**

La crittografia della memoria è abilitata nelle seguenti istanze:
+ Le istanze con processori AWS Graviton2 o versioni successive supportano la crittografia della memoria sempre attiva. AWS Le chiavi di crittografia vengono generate in modo sicuro all'interno del sistema host, non lasciano il sistema host e vengono distrutte quando l'host viene riavviato o spento. Per ulteriori informazioni, consulta la pagina [Processori AWS Graviton](https://aws.amazon.com/ec2/graviton/).
+ Istanze con processori scalabili Intel Xeon di terza generazione (Ice Lake), come le istanze M6i, e processori scalabili Intel Xeon di quarta generazione (Sapphire Rapids), come le istanze M7i. Questi processori supportano la crittografia della memoria sempre attiva utilizzando Intel Total Memory Encryption (TME).
+ Istanze con processori AMD EPYC di terza generazione (Milan), come le istanze M6a, e processori AMD EPYC di quarta generazione (Genoa), come le istanze M7a. Questi processori supportano la crittografia della memoria sempre attiva utilizzando AMD Secure Memory Encryption (SME).
+ AMD Secure Encrypted Virtualization-Secure Nested Paging (SEV-SNP) è supportato per alcuni tipi di istanze basate su AMD. Per ulteriori informazioni, consulta [Trova tipi di EC2 istanze che supportano AMD SEV-SNP](snp-find-instance-types.md).

## Crittografia dei dati in transito
<a name="encryption-transit"></a>

**Crittografia a livello fisico**  
Tutti i dati che fluiscono tra le AWS regioni sulla rete AWS globale vengono automaticamente crittografati a livello fisico prima di lasciare le strutture protette. AWS Tutto il traffico intercorrente AZs è crittografato. Ulteriori livelli di crittografia, inclusi quelli elencati in questa sezione, possono fornire ulteriore protezione.

**Crittografia fornita da peering di Amazon VPC e peering fra regioni Transit Gateway**  
Tutto il traffico tra regioni che utilizza il peering Amazon VPC e Transit Gateway viene automaticamente crittografato in massa quando esce da una regione. Un ulteriore livello di crittografia viene fornito automaticamente a livello fisico per tutto il traffico prima che lasci le strutture AWS protette, come indicato in precedenza in questa sezione.

**Crittografia tra istanze**  
AWS fornisce una connettività sicura e privata tra istanze EC2 di tutti i tipi. Inoltre, alcuni tipi di istanza utilizzano le funzionalità di offload dell'hardware Nitro System sottostante per crittografare automaticamente il traffico in transito tra le istanze. Questa crittografia utilizza algoritmi AEAD (Authenticated Encryption with Associated Data), con crittografia a 256 bit. Non vi è alcun impatto sulle prestazioni della rete. Per supportare questa crittografia aggiuntiva del traffico in transito tra istanze, è necessario soddisfare i seguenti requisiti:
+ Le istanze utilizzano i seguenti tipi di istanza:
  + **Uso generale**: M5dn, M5n, M5zn, M6a, M6i, M6iD, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-Flex, M8a, M8Azn, M8g, M8Gd, M8gn, M8i, M8id, M8i-Flex, MAC M4, MAC M4 Pro
  + **Elaborazione ottimizzata:** C5n, C6a, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8GB, C8gd, C8gn, C8i, C8id, C8i-flex
  + **Memoria ottimizzata:** R5dn, R5n, R6a, R6i, R6iD, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iZ, R8a, R8g, R8GB, R8gd, R8gn, R8i, R8iFlex, U-3TB1, -6tB1, U-9TB1, U-12TB1, U-18TB1, U-24TB1, U7i-6TB, U7i-8TB, U7i-12TB, U7in-16TB, U7in-24 TB, U7in-32 TB, U7inH-32 TB, X2IDN, X2IEZn, X8G, x8AEDZ, x8AEDZ, xX8AEDZ, xX8i
  + **Ottimizzate per l’archiviazione:** D3, D3en, I3en, I4g, I4i, I7i, I7ie, I8g, I8ge, Im4gn, Is4gen
  + **Elaborazione accelerata:** DL1 DL2q,, F2, G4ad, G4dn, G5, G6, G6e, G6f, Gr6, GR6f, G7e, Inf1, Inf2, P3dn, P4d, P4de, P5, P5e, P5en, P6-B200, P6-B300, P6e-GB200, Trn1, TRN1n, Trn2, Trn2U, VT1
  + **Elaborazione ad alte prestazioni:** HPC6a, HPC6iD, HPC7a, HPC7g, HPC8a
+ Le istanze si trovano nella stessa regione.
+ Le istanze si trovano nello stesso VPC o VPCs peered e il traffico non passa attraverso un dispositivo o un servizio di rete virtuale, come un sistema di bilanciamento del carico o un gateway di transito.

Un ulteriore livello di crittografia viene fornito automaticamente a livello fisico per tutto il traffico prima che lasci le strutture AWS protette, come indicato in precedenza in questa sezione.

**Per visualizzare i tipi di istanze che crittografano il traffico in transito tra le istanze, utilizza AWS CLI**  
Utilizza il seguente comando [ della describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html).

```
aws ec2 describe-instance-types \
    --filters Name=network-info.encryption-in-transit-supported,Values=true \
    --query "InstanceTypes[*].[InstanceType]" \
    --output text | sort
```

**Crittografia da e verso AWS Outposts**  
Un Outpost crea connessioni di rete speciali chiamate collegamenti di *servizio alla sua regione di AWS origine e, facoltativamente, connettività privata a una sottorete VPC specificata dall'utente*. Tutto il traffico su tali connessioni è completamente crittografato. Per ulteriori informazioni, consulta [Connettività tramite collegamenti per servizio](https://docs.aws.amazon.com/outposts/latest/userguide/region-connectivity.html#service-links) e [Crittografia in transito](https://docs.aws.amazon.com/outposts/latest/userguide/data-protection.html#encryption-transit) nella *Guida per l'utente di AWS Outposts *.

**Crittografia dell'accesso remoto**  
I protocolli SSH e RDP forniscono canali di comunicazione sicuri per l'accesso remoto alle istanze, sia direttamente che tramite EC2 Instance Connect. L'accesso remoto alle istanze tramite AWS Systems Manager Session Manager o Run Command è crittografato utilizzando TLS 1.2 e le richieste di creazione di una connessione vengono firmate utilizzando [SigV4](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html), autenticate e autorizzate da. [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)

È responsabilità dell'utente utilizzare un protocollo di crittografia quale Transport Layer Security (TLS) per eseguire la crittografia dei dati sensibili in transito tra i client e le istanze Amazon EC2.

(Istanze Windows) Assicurati di consentire solo connessioni crittografate tra istanze EC2 e gli endpoint API AWS o altri servizi di rete remota sensibili. È possibile applicare questa operazione tramite un gruppo di sicurezza in uscita o regole di [Windows Firewall](https://learn.microsoft.com/en-us/windows/security/operating-system-security/network-security/windows-firewall/).

# Sicurezza dell'infrastruttura in Amazon EC2
<a name="infrastructure-security"></a>

In quanto servizio gestito, Amazon Elastic Compute Cloud è protetto dalla sicurezza di rete AWS globale. Per informazioni sui servizi di AWS sicurezza e su come AWS protegge l'infrastruttura, consulta [AWS Cloud Security](https://aws.amazon.com/security/). Per progettare il tuo AWS ambiente utilizzando le migliori pratiche per la sicurezza dell'infrastruttura, vedi [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in *Security Pillar AWS Well‐Architected* Framework.

Utilizzi chiamate API AWS pubblicate per accedere ad Amazon EC2 attraverso la rete. I client devono supportare quanto segue:
+ Transport Layer Security (TLS). È richiesto TLS 1.2 ed è consigliato TLS 1.3.
+ Suite di cifratura con Perfect Forward Secrecy (PFS), ad esempio Ephemeral Diffie-Hellman (DHE) o Elliptic Curve Ephemeral Diffie-Hellman (ECDHE). La maggior parte dei sistemi moderni, come Java 7 e versioni successive, supporta tali modalità.

Per ulteriori informazioni, vedere [Infrastructure Protection](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/infrastructure-protection.html) in the *Security Pillar — AWS Well-Architected* Framework.

## Isolamento della rete
<a name="network-isolation"></a>

Un cloud privato virtuale (VPC) è una rete virtuale nella propria area logicamente isolata nel cloud. AWS Utilizzalo separatamente VPCs per isolare l'infrastruttura in base al carico di lavoro o all'entità organizzativa.

Una sottorete è un intervallo di indirizzi IP in un VPC. Quando avvii un'istanza, questa operazione viene eseguita in una sottorete nel VPC. Utilizza sottoreti per isolare i livelli dell'applicazione (ad esempio, web, applicazione e database) all'interno di un singolo VPC. Utilizza sottoreti private per le istanze se non devono essere accessibili direttamente da Internet.

Per chiamare l'API di Amazon EC2 dal tuo VPC utilizzando indirizzi IP privati, utilizza AWS PrivateLink. Per ulteriori informazioni, consulta [Accesso ad Amazon EC2 utilizzando un endpoint VPC di interfaccia](interface-vpc-endpoints.md).

## Isolamento su host fisici
<a name="physical-isolation"></a>

Istanze EC2 differenti sullo stesso host fisico sono tra loro isolate come se si trovassero su host fisici separati. L'hypervisor isola CPU e memoria e le istanze vengono fornite su dischi virtualizzati anziché accedere a dispositivi vergini non formattati.

Quando si interrompe o termina un'istanza, la memoria ad essa allocata viene annullata (impostata su zero) dall'hypervisor prima che venga allocata a una nuova istanza e ogni blocco di archiviazione viene ripristinato. Questo garantisce che i dati non vengano involontariamente esposti a un'altra istanza.

Gli indirizzi MAC di rete vengono assegnati dinamicamente alle istanze dall'infrastruttura di rete. AWS Gli indirizzi IP vengono assegnati dinamicamente a istanze dall'infrastruttura di rete AWS o assegnati da un amministratore EC2 tramite richiese API autenticate. La AWS rete consente alle istanze di inviare traffico solo dagli indirizzi MAC e IP loro assegnati. In caso contrario, il traffico viene interrotto.

Per impostazione predefinita, un'istanza non può ricevere traffico che non è specificatamente indirizzato ad essa. Se devi eseguire servizi di traduzione degli indirizzi di rete (NAT), routing o firewall sull'istanza, puoi disabilitare il source/destination controllo dell'interfaccia di rete.

## Controllo del traffico di rete
<a name="control-network-traffic"></a>

Valuta le opzioni seguenti per il controllo del traffico di rete alle istanze EC2:
+ Limita l'accesso alle istanze mediante [gruppi di sicurezza](ec2-security-groups.md). Configura regole che consentano il traffico di rete minimo richiesto. Ad esempio, è possibile consentire il traffico solo dagli intervalli di indirizzi per la rete aziendale o solo per protocolli specifici, come HTTPS. Per le istanze Windows, consenti il traffico di gestione Windows e connessioni minime in uscita.
+ Sfrutta i gruppi di sicurezza come meccanismo principale per controllare l'accesso della rete alle istanze Amazon EC2. Se necessario, usa la rete con ACLs parsimonia per fornire un controllo di rete a grana grossolana e senza stato. I gruppi di sicurezza sono più versatili ACLs della rete grazie alla loro capacità di eseguire il filtraggio dei pacchetti con informazioni sullo stato e di creare regole che fanno riferimento ad altri gruppi di sicurezza. Tuttavia, la rete ACLs può essere efficace come controllo secondario per negare uno specifico sottoinsieme di traffico o fornire protezioni di sottorete di alto livello. Inoltre, poiché la rete ACLs si applica a un'intera sottorete, può essere utilizzata defense-in-depth nel caso in cui un'istanza venga avviata involontariamente senza un gruppo di sicurezza corretto.
+ [Istanze Windows] Gestisci centralmente le impostazioni di Windows Firewall con Group Policy Objects (GPO) per migliorare ulteriormente i controlli di rete. I clienti utilizzano spesso Windows Firewall per un'ulteriore visibilità sul traffico di rete e per integrare i filtri dei gruppi di sicurezza, creando regole avanzate per impedire l'accesso alla rete ad applicazioni specifiche o per filtrare il traffico da un sottoinsieme di indirizzi IP. Ad esempio, Windows Firewall può limitare l'accesso all'indirizzo IP del servizio di metadati EC2 a specifici utenti o applicazioni. In alternativa, un servizio pubblico potrebbe utilizzare gruppi di sicurezza per limitare il traffico a porte specifiche e Windows Firewall per mantenere un elenco di indirizzi IP bloccati in modo esplicito.
+ Utilizza sottoreti private per le istanze se non devono essere accessibili direttamente da Internet. Utilizza un host bastione o gateway NAT per l'accesso Internet da un'istanza in una sottorete privata.
+ [Istanze Windows] Utilizza protocolli di amministrazione sicuri come l'incapsulamento RDP over. SSL/TLS. The Remote Desktop Gateway Quick Start provides best practices for deploying remote desktop gateway, including configuring RDP to use SSL/TLS
+ [Istanze Windows] Usa Active Directory o Directory Service per controllare e monitorare in modo rigoroso e centralizzato l'accesso interattivo di utenti e gruppi alle istanze di Windows ed evita le autorizzazioni degli utenti locali. Evita inoltre di utilizzare gli amministratori di dominio e crea account basati sui ruoli più granulari e specifici dell'applicazione. Just Enough Administration (JEA) consente di gestire le modifiche alle istanze di Windows senza accesso interattivo o amministratore. Inoltre, JEA consente alle organizzazioni di bloccare l'accesso amministrativo al sottoinsieme di comandi Windows PowerShell necessari per l'amministrazione delle istanze. Per ulteriori informazioni, consulta la sezione su "Gestione dell'accesso a livello di sistema operativo a Amazon EC2" nel whitepaper [Best practice di sicurezza AWS](https://d1.awsstatic.com/whitepapers/Security/AWS_Security_Best_Practices.pdf).
+ [Istanze Windows] Gli amministratori di sistema devono utilizzare account Windows con accesso limitato per eseguire attività quotidiane e aumentare i diritti di accesso solo quando necessario per eseguire specifiche modifiche alla configurazione. Inoltre, accedi solo alle istanze di Windows direttamente quando è assolutamente necessario. Sfrutta invece sistemi di gestione della configurazione centralizzati come EC2 Run Command, Systems Center Configuration Manager (SCCM), Windows PowerShell DSC o Amazon EC2 Systems Manager (SSM) per inviare modifiche ai server Windows.
+ Configura le tabelle di routing della sottorete di Amazon VPC con le route di rete minime richieste. Ad esempio, inserisci solo istanze Amazon EC2 che richiedono l’accesso diretto a Internet nelle sottoreti con route a un gateway Internet e le istanze Amazon EC2 che richiedono l’accesso diretto solo alle reti interne in sottoreti con route a un gateway privato virtuale.
+ Prendi in considerazione l'utilizzo di gruppi di sicurezza aggiuntivi per controllare e verificare il traffico di gestione delle istanze Amazon EC2 separatamente dal normale traffico delle applicazioni. Questo approccio consente ai clienti di implementare criteri IAM speciali per il controllo delle modifiche, semplificando l'audit delle modifiche apportate alle regole dei gruppi di sicurezza o agli script di verifica automatica delle regole. L'utilizzo di più interfacce di rete fornisce inoltre opzioni aggiuntive per il controllo del traffico di rete, inclusa la possibilità di creare policy di instradamento basate su host o sfruttare diverse regole di instradamento delle sottoreti VPC basate sulla sottorete assegnata dell'interfaccia di rete.
+ Usa AWS Virtual Private Network o Direct Connect per stabilire connessioni private dalle tue reti remote alle tue. VPCs Per ulteriori informazioni, consulta Opzioni di [connettività Network-to-Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html).
+ Utilizza [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) per monitorare il traffico che raggiunge le istanze.
+ Utilizzate [GuardDuty Malware Protection](https://docs.aws.amazon.com/guardduty/latest/ug/malware-protection.html) per identificare sulle vostre istanze comportamenti sospetti indicativi della presenza di software dannoso che potrebbero compromettere il carico di lavoro, riutilizzare le risorse per usi illeciti e ottenere l'accesso non autorizzato ai dati.
+ Usa [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html) per identificare e rispondere a potenziali minacce alle tue istanze. Per ulteriori informazioni, consulta [Come funziona il monitoraggio del runtime con le istanze Amazon EC2](https://docs.aws.amazon.com/guardduty/latest/ug/how-runtime-monitoring-works-ec2.html).
+ Utilizza [AWS Security Hub CSPM](https://docs.aws.amazon.com/securityhub/latest/userguide/), [Reachability Analyzer](https://docs.aws.amazon.com/vpc/latest/reachability/) o [Strumento di analisi degli accessi alla rete](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/) per verificare l’accessibilità indesiderata alla rete dalle istanze.
+ Utilizza [Connessione all'istanza EC2](connect-linux-inst-eic.md) per connetterti alle istanze utilizzando Secure Shell (SSH) senza la necessità di condividere e gestire chiavi SSH.
+ Utilizza [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html) per accedere alle istanze in remoto anziché aprire porte SSH o RDP in entrata e gestire coppie di chiavi.
+ Utilizza [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) per automatizzare attività amministrative comuni che non dovranno così connettersi alle istanze.
+ [Istanze Windows] Molti ruoli del sistema operativo Windows e le applicazioni aziendali Microsoft offrono anche funzionalità avanzate come le restrizioni dell'intervallo di indirizzi IP in IIS, i criteri di TCP/IP filtro in Microsoft SQL Server e i criteri di filtro delle connessioni in Microsoft Exchange. La funzionalità di restrizione di rete all'interno del livello dell'applicazione può fornire ulteriori livelli di difesa per i server applicazioni aziendali critici.

Amazon VPC supporta controlli di sicurezza di rete aggiuntivi, come gateway, server proxy e opzioni di monitoraggio della rete. Per ulteriori informazioni, consulta [Controllo del traffico di rete](https://docs.aws.amazon.com/vpc/latest/userguide/infrastructure-security.html#control-network-traffic) nella *Guida per l'utente di Amazon VPC*.

# Resilienza in Amazon EC2
<a name="disaster-recovery-resiliency"></a>

L'infrastruttura AWS globale è costruita attorno a AWS regioni e zone di disponibilità. Le regioni forniscono più zone di disponibilità fisicamente separate e isolate, connesse tramite reti altamente ridondanti, a bassa latenza e throughput elevato. Con le zone di disponibilità, è possibile progettare e gestire applicazioni e database che eseguono il failover automatico tra zone di disponibilità senza interruzioni. Le zone di disponibilità sono più disponibili, tolleranti ai guasti e scalabili rispetto alle infrastrutture a data center singolo o multiplo.

Se occorre replicare i dati o le applicazioni su distanze geografiche più ampie, utilizza AWS Local Zones. Una zona AWS locale è un'estensione di una AWS regione situata in prossimità geografica degli utenti. Le zone locali hanno le loro connessioni a Internet e supportano Direct Connect. Come tutte le AWS Regioni, le AWS Local Zones sono completamente isolate dalle altre AWS Zone.

Se è necessario replicare i dati o le applicazioni in una zona AWS locale, si AWS consiglia di utilizzare una delle seguenti zone come zona di failover:
+ Un'altra Local Zone
+ Zona di disponibilità nella regione che non è la zona padre. È possibile utilizzare il [describe-availability-zones](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-availability-zones.html)comando per visualizzare la zona principale.

Per ulteriori informazioni su AWS regioni e zone di disponibilità, vedere [AWS Global Infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/).

Oltre all'infrastruttura AWS globale, Amazon EC2 offre le seguenti funzionalità per supportare la resilienza dei dati:
+ Copia AMIs tra regioni
+ Copia di snapshot EBS tra regioni
+ Automazione supportata da EBS AMIs con Amazon Data Lifecycle Manager
+ Automazione degli snapshot EBS mediante Amazon Data Lifecycle Manager
+ Mantenimento dell'integrità e della disponibilità del parco istanze mediante Amazon EC2 Auto Scaling
+ Distribuzione del traffico in entrata tra più istanze in una singola zona di disponibilità o in più zone di disponibilità mediante Elastic Load Balancing.

# Convalida della conformità per Amazon EC2
<a name="compliance-validation"></a>

Per sapere se un Servizio AWS programma rientra nell'ambito di specifici programmi di conformità, consulta Servizi AWS la sezione [Scope by Compliance Program Servizi AWS](https://aws.amazon.com/compliance/services-in-scope/) e scegli il programma di conformità che ti interessa. Per informazioni generali, consulta Programmi di [AWS conformità Programmi](https://aws.amazon.com/compliance/programs/) di di .

È possibile scaricare report di audit di terze parti utilizzando AWS Artifact. Per ulteriori informazioni, consulta [Scaricamento dei report in AWS Artifact](https://docs.aws.amazon.com/artifact/latest/ug/downloading-documents.html) .

La vostra responsabilità di conformità durante l'utilizzo Servizi AWS è determinata dalla sensibilità dei dati, dagli obiettivi di conformità dell'azienda e dalle leggi e dai regolamenti applicabili. Per ulteriori informazioni sulla responsabilità di conformità durante l'utilizzo Servizi AWS, consulta [AWS la documentazione sulla sicurezza](https://docs.aws.amazon.com/security/).

# Identity and Access Management per Amazon EC2
<a name="security-iam"></a>

AWS Identity and Access Management (IAM) è un programma Servizio AWS che aiuta un amministratore a controllare in modo sicuro l'accesso alle AWS risorse. Gli amministratori IAM controllano chi può essere *autenticato* (accesso effettuato) e *autorizzato* (dispone di autorizzazioni) per utilizzare le risorse Amazon EC2. IAM è un software Servizio AWS che puoi utilizzare senza costi aggiuntivi.

Le tue credenziali di sicurezza ti identificano ai servizi in AWS e ti garantiscono l'accesso a AWS risorse, come le risorse Amazon EC2. Puoi utilizzare le caratteristiche di Amazon EC2 e IAM per consentire ad altri utenti, servizi e applicazioni di utilizzare le risorse Amazon EC2 senza condividere le credenziali di sicurezza. Puoi utilizzare IAM per controllare il modo in cui gli altri utenti utilizzano le risorse della tua Account AWS e puoi utilizzare i gruppi di sicurezza per controllare l'accesso alle tue istanze Amazon EC2. Puoi decidere di consentire l'uso completo o limitato delle risorse Amazon EC2.

Se sei uno sviluppatore, puoi utilizzare i ruoli IAM per gestire le credenziali di sicurezza necessarie alle applicazioni eseguite sulle tue istanze EC2. Dopo aver associato un ruolo IAM all'istanza, le applicazioni in esecuzione sull'istanza possono recuperare le credenziali dal servizio di metadati di istanza (IMDS).

*Per le migliori pratiche per proteggere le tue AWS risorse utilizzando IAM, consulta le [migliori pratiche di sicurezza in IAM nella IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) User Guide.*

**Topics**
+ [

# Policy basate sull'identità per Amazon EC2
](iam-policies-for-amazon-ec2.md)
+ [

# Policy di esempio da utilizzare all'API Amazon EC2
](ExamplePolicies_EC2.md)
+ [

# Policy di esempio per controllare l'accesso alla console Amazon EC2
](iam-policies-ec2-console.md)
+ [

# AWS politiche gestite per Amazon EC2
](security-iam-awsmanpol.md)
+ [

# Ruoli IAM per Amazon EC2
](iam-roles-for-amazon-ec2.md)

# Policy basate sull'identità per Amazon EC2
<a name="iam-policies-for-amazon-ec2"></a>

Per impostazione predefinita, gli utenti non sono autorizzati a creare o modificare le risorse Amazon EC2 o a eseguire attività tramite l'API Amazon EC2, la console Amazon EC2 o la CLI. Per permettere agli utenti di creare o modificare le risorse ed eseguire le attività, devi creare policy IAM che concedano agli utenti l'autorizzazione a utilizzare specifiche risorse e operazioni API e quindi collegare tali policy agli utenti, gruppi o ruoli IAM che richiedono tali autorizzazioni.

Quando si collega una policy a un utente, un gruppo di utenti o un ruolo, viene concessa o rifiutata agli utenti l'autorizzazione per eseguire attività specificate sulle risorse specificate. Per ulteriori informazioni generali sulle policy IAM, consulta la sezione relativa a [Policy e autorizzazioni in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) nella *Guida per l'utente IAM*. Per ulteriori informazioni sulla gestione e creazione di policy IAM, consulta la sezione relativa alla [gestione delle policy IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html).

Una policy IAM deve concedere o rifiutare le autorizzazioni necessarie per l'utilizzo di una o più operazioni Amazon EC2. Deve inoltre specificare le risorse che possono essere utilizzate con l'operazione, vale a dire tutte le risorse oppure, in alcuni casi, risorse specifiche. La policy può anche includere condizioni applicabili alla risorsa.

Per iniziare, puoi verificare se le politiche AWS gestite per Amazon EC2 soddisfano le tue esigenze. Altrimenti, puoi creare delle policy personalizzate. Per ulteriori informazioni, consulta [AWS politiche gestite per Amazon EC2](security-iam-awsmanpol.md).

**Topics**
+ [

## Sintassi delle policy
](#policy-syntax)
+ [

## Operazioni per Amazon EC2
](#UsingWithEC2_Actions)
+ [

## Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2
](#ec2-supported-iam-actions-resources)
+ [

## Nome della risorsa Amazon (ARN) per Amazon EC2
](#EC2_ARN_Format)
+ [

## Chiavi di condizione per Amazon EC2
](#amazon-ec2-keys)
+ [

## Controllare l'accesso mediante l'accesso basato sugli attributi
](#control-access-with-tags)
+ [

## Concedere autorizzazioni a utenti, gruppi e ruoli
](#granting-iam-permissions)
+ [

## Verificare che gli utenti dispongano delle autorizzazioni necessarie
](#check-required-permissions)

## Sintassi delle policy
<a name="policy-syntax"></a>

Una policy IAM è un documento JSON costituito da una o più dichiarazioni. Ogni dichiarazione è strutturata come segue.

```
{
  "Statement":[{
    "Effect":"effect",
    "Action":"action",
    "Resource":"arn",
    "Condition":{
      "condition":{
        "key":"value"
        }
      }
    }
  ]
}
```

Una dichiarazione è costituita da diversi elementi:
+ **Effetto**: l'elemento *effect* può essere `Allow` o `Deny`. Per impostazione predefinita, gli utenti non dispongono dell'autorizzazione per l'utilizzo di risorse e operazioni API, pertanto tutte le richieste vengono rifiutate. Un permesso esplicito sostituisce l'impostazione predefinita. Un rifiuto esplicito sovrascrive tutti i consensi.
+ **Action** (Operazione): l'elemento *action* corrisponde all'operazione API specifica per la quale si concede o si nega l'autorizzazione. Per informazioni su come specificare l'elemento *action*, consulta [Operazioni per Amazon EC2](#UsingWithEC2_Actions). 
+ **Resource** (Risorsa): la risorsa che viene modificata dall'operazione. Alcune operazioni API di Amazon EC2 ti permettono di includere nella policy risorse specifiche che possono essere create o modificate dall'operazione. Specifica una risorsa utilizzando un nome della risorsa Amazon (ARN) o il carattere jolly (\$1) per indicare che l'istruzione si applica a tutte le risorse. Per ulteriori informazioni, consulta [Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2](#ec2-supported-iam-actions-resources). 
+ **Condition**: le condizioni sono facoltative. Possono essere utilizzate per controllare quando è in vigore una policy. Per ulteriori informazioni su come specificare le condizioni per Amazon EC2, consulta [Chiavi di condizione per Amazon EC2](#amazon-ec2-keys).

Per ulteriori informazioni su requisiti per le policy, consulta [Riferimento alle policy JSON IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) nella *Guida per l'utente IAM*. Per alcuni esempi di istruzioni di policy IAM per Amazon EC2, consulta [Policy di esempio da utilizzare all'API Amazon EC2](ExamplePolicies_EC2.md). 

## Operazioni per Amazon EC2
<a name="UsingWithEC2_Actions"></a>

In una dichiarazione di policy IAM, è possibile specificare qualsiasi operazione API per qualsiasi servizio che supporta IAM. Per Amazon EC2, utilizza il seguente prefisso con il nome dell'operazione API: `ec2:`. Ad esempio: `ec2:RunInstances` ed `ec2:CreateImage`.

Per specificare più operazioni in una sola dichiarazione, separa ciascuna di esse con una virgola come mostrato di seguito:

```
"Action": ["ec2:action1", "ec2:action2"]
```

Puoi anche specificare più operazioni tramite caratteri jolly. Ad esempio, puoi specificare tutte le operazioni il cui nome inizia con la parola "Describe" (Descrivi) come segue:

```
"Action": "ec2:Describe*"
```

**Nota**  
Attualmente, le operazioni API Amazon EC2 Describe\$1 non supportano autorizzazioni a livello di risorsa. Per ulteriori informazioni sulle autorizzazioni a livello di risorsa per Amazon EC2, consulta [Policy basate sull'identità per Amazon EC2](#iam-policies-for-amazon-ec2).

Per specificare tutte le operazioni API Amazon EC2, utilizza il carattere jolly \$1 come mostrato di seguito:

```
"Action": "ec2:*"
```

Per visualizzare un elenco di operazioni di Amazon EC2, consulta [Operazioni definite da Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-actions-as-permissions) nella *Service Authorization Reference*.

## Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2
<a name="ec2-supported-iam-actions-resources"></a>

Il concetto di *autorizzazioni a livello di risorsa* indica la possibilità di specificare le risorse su cui gli utenti sono autorizzati a eseguire operazioni. Amazon EC2 supporta parzialmente le autorizzazioni a livello di risorsa. Ciò significa che per determinate operazioni di Amazon EC2, puoi controllare se gli utenti sono autorizzati a utilizzare tali operazioni in base a condizioni che devono essere soddisfatte o a specifiche risorse che gli utenti sono autorizzati a utilizzare. Ad esempio, puoi concedere agli utenti le autorizzazioni per avviare le istanze, ma solo di un determinato tipo e solo utilizzando un AMI specifico.

Per specificare una risorsa nella dichiarazione della policy IAM, si utilizza il suo nome della risorsa Amazon (ARN). Per ulteriori informazioni su come specificare il valore ARN, consulta [Nome della risorsa Amazon (ARN) per Amazon EC2](#EC2_ARN_Format). Se un'azione API non supporta l'azione individuale ARNs, è necessario utilizzare un carattere jolly (\$1) per specificare che tutte le risorse possono essere influenzate dall'azione. 

Per visualizzare le tabelle che identificano quali azioni dell'API di Amazon EC2 supportano le autorizzazioni a livello di risorsa ARNs e le chiavi di condizione che puoi utilizzare in una policy, consulta [Azioni, risorse e chiavi di condizione](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html) per Amazon EC2.

Occorre ricordare che è possibile applicare autorizzazioni a livello di risorsa basate su tag nelle policy IAM utilizzate per la maggior parte delle operazioni API Amazon EC2. In questo modo è possibile controllare meglio le risorse che un utente può creare, modificare o utilizzare. Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md). 

## Nome della risorsa Amazon (ARN) per Amazon EC2
<a name="EC2_ARN_Format"></a>

Ogni dichiarazione di policy IAM si applica alle risorse specificate utilizzando le loro. ARNs 

Un ARN presenta la seguente sintassi generale:

```
arn:aws:[service]:[region]:[account-id]:resourceType/resourcePath
```

*service*  
Il servizio (ad esempio `ec2`).

*Regione*  
La regione per la risorsa (ad esempio `us-east-1`).

*account-id*  
L'ID AWS dell'account, senza trattini (ad esempio,`123456789012`).

*resourceType*  
Il tipo di risorsa (ad esempio `instance`).

*resourcePath*  
Un percorso che identifica la risorsa. Nei percorsi puoi utilizzare il carattere jolly \$1.

Ad esempio, nella tua dichiarazione puoi specificare una determinata istanza (`i-1234567890abcdef0`) utilizzando il relativo ARN come segue: 

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
```

Puoi specificare tutte le istanze appartenenti a un determinato account utilizzando il carattere jolly \$1 come segue:

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:instance/*"
```

Puoi anche specificare tutte le risorse Amazon EC2 appartenenti a un determinato account utilizzando il carattere jolly \$1 come segue:

```
"Resource": "arn:aws:ec2:us-east-1:123456789012:*"
```

Per specificare tutte le risorse, o se un'azione API specifica non supporta ARNs, usa il carattere jolly \$1 nell'`Resource`elemento come segue.

```
"Resource": "*"
```

Molte operazioni API di Amazon EC2 coinvolgono più risorse. Ad esempio, `AttachVolume` collega un volume Amazon EBS a un'istanza, pertanto un utente dovrà disporre delle autorizzazioni per utilizzare il volume e l'istanza. Per specificare più risorse in un'unica istruzione, separale ARNs con virgole, come segue.

```
"Resource": ["arn1", "arn2"]
```

Per un elenco di ARN per le risorse Amazon EC2, consulta [Tipi di risorse definiti da Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-resources-for-iam-policies).

## Chiavi di condizione per Amazon EC2
<a name="amazon-ec2-keys"></a>

In una dichiarazione di policy, puoi specificare facoltativamente le condizioni che controllano quando questa è in vigore. Ogni condizione contiene una o più coppie chiave/valore. Le chiavi di condizione non distinguono tra maiuscole e minuscole. Abbiamo definito chiavi di condizione AWS globali, oltre a chiavi di condizione aggiuntive specifiche del servizio.

Per un elenco di chiavi di condizione specifiche del servizio per Amazon EC2, consulta [Chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html#amazonec2-policy-keys). Amazon EC2 implementa anche le chiavi di condizione AWS globali. Per ulteriori informazioni, consulta la pagina relativa alle [informazioni disponibili in tutte le richieste](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html#policy-vars-infoallreqs) nella *Guida per l'utente di IAM*.

Tutte le operazioni Amazon EC2 supportano le chiavi di condizione `aws:RequestedRegion` e `ec2:Region`. Per ulteriori informazioni, consulta [Esempio: limitazione dell'accesso a una regione specifica](ExamplePolicies_EC2.md#iam-example-region).

Per utilizzare una chiave di condizione nella policy IAM, utilizzare l'istruzione `Condition`. Ad esempio, la policy seguente concede agli utenti l'autorizzazione per aggiungere ed eliminare regole in entrata e in uscita per qualsiasi gruppo di sicurezza. Utilizza la chiave di condizione `ec2:Vpc` per specificare che queste azioni possono essere eseguite solo su gruppi di sicurezza in un VPC specifico.

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

****  

```
{
"Version":"2012-10-17",		 	 	 
  "Statement":[{
    "Effect":"Allow",
    "Action": [
       "ec2:AuthorizeSecurityGroupIngress",
       "ec2:AuthorizeSecurityGroupEgress",
       "ec2:RevokeSecurityGroupIngress",
       "ec2:RevokeSecurityGroupEgress"],
     "Resource": "arn:aws:ec2:us-east-1:111122223333:security-group/*",
      "Condition": {
        "StringEquals": {
          "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889"
        }
      }
    }
  ]
}
```

------

Se specifichi più condizioni o più chiavi in una sola condizione le valutiamo utilizzando un'operazione AND logica. Se specifichi una sola condizione con più valori per una sola chiave, valutiamo la condizione utilizzando un'operazione OR logica. Affinché le autorizzazioni vengano concesse, tutte le condizioni devono essere soddisfatte.

Puoi anche utilizzare i segnaposto quando specifichi le condizioni. Per ulteriori informazioni, consulta [Elementi delle policy IAM: variabili e tag](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_variables.html) nella *Guida per l'utente di IAM*.

**Importante**  
Molte chiavi di condizione sono specifiche di una risorsa e alcune operazioni API utilizzano più risorse. Se scrivi una policy con una chiave di condizione, utilizza l'elemento `Resource` della dichiarazione per specificare la risorsa a cui viene applicata la chiave di condizione. In caso contrario, la policy potrebbe impedire agli utenti di eseguire operazioni perché il controllo della condizione ha esito negativo per le risorse alle quali non viene applicata la chiave di condizione. Se non vuoi specificare una risorsa oppure se hai scritto l'elemento `Action` della policy in modo da includere più operazioni API, devi utilizzare il tipo di condizione `...IfExists` per assicurarti che la chiave di condizione venga ignorata per le risorse che non la utilizzano. [Per ulteriori informazioni, consulta... IfExists ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IfExists)Condizioni nella *Guida per l'utente IAM*.

**Topics**
+ [

### Chiave di condizione ec2:Attribute
](#attribute-key)
+ [

### Chiavi di condizione ec2:ResourceID
](#imageId-key)
+ [

### Chiave di condizione ec2:SourceInstanceARN
](#SourceInstanceARN)

### Chiave di condizione ec2:Attribute
<a name="attribute-key"></a>

La chiave di condizione `ec2:Attribute` può essere utilizzata per le condizioni che filtrano l'accesso da un attributo di una risorsa.

Questa chiave condizionale supporta solo proprietà di un tipo di dati primitivo (come stringhe o numeri interi) o **[AttributeValue](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_AttributeValue.html)**oggetti complessi che contengono solo una proprietà **Value** (come la **descrizione** o **ImdsSupport**gli oggetti dell'azione [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)API). La chiave condition non può essere utilizzata con oggetti complessi che contengono più proprietà, come l'**LaunchPermission**oggetto di. [ModifyImageAttribute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyImageAttribute.html)

Ad esempio, la seguente politica utilizza la chiave `ec2:Attribute/Description` condition per filtrare l'accesso in base al complesso oggetto **Description** dell'azione **ModifyImageAttribute**API. La chiave di condizione consente solo le richieste che modificano la descrizione di un'immagine a `Production` o `Development`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute/Description": [
            "Production",
            "Development"
          ]
        }
      }
    }
  ]
}
```

------

La politica di esempio seguente utilizza la chiave `ec2:Attribute` condition per filtrare l'accesso in base alla proprietà primitiva **Attribute** dell'azione **ModifyImageAttribute**API. La chiave di condizione respinge tutte le richieste che modificano la descrizione di un'immagine.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Deny",
      "Action": "ec2:ModifyImageAttribute",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:Attribute": "Description"
        }
      }
    }
  ]
}
```

------

### Chiavi di condizione ec2:ResourceID
<a name="imageId-key"></a>

Quando si utilizza quanto segue`ec2:ResourceID`chiavi di condizione con le azioni API specificate, il valore della chiave di condizione viene utilizzato per specificare la risorsa risultante creata dall'azione API.`ec2:ResourceID`le chiavi di condizione non possono essere utilizzate per specificare una risorsa di origine specificata nella richiesta API. Se si utilizza uno dei seguenti`ec2:ResourceID`condition keys con un'API specificata, quindi devi sempre specificare la wildcard (`*`). Se si specifica un valore diverso, la condizione si risolve sempre in `*` durante il runtime. Ad esempio, per utilizzare la chiave di `ec2:ImageId` condizione con l'**CopyImage**API, è necessario specificare la chiave di condizione come segue:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-*",
      "Condition": {
        "StringEquals": {
          "ec2:ImageID": "*"
        }
      }
    }
  ]
}
```

------

Ti consigliamo di evitare l'uso di queste chiavi di condizione con queste azioni API:
+ `ec2:DhcpOptionsID` – `CreateDhcpOptions`
+ `ec2:ImageID`: `CopyImage`, `CreateImage`, `ImportImage` e `RegisterImage`
+ `ec2:InstanceID`: `RunInstances` e `ImportInstance`
+ `ec2:InternetGatewayID` – `CreateInternetGateway`
+ `ec2:NetworkAclID` – `CreateNetworkAcl`
+ `ec2:NetworkInterfaceID` – `CreateNetworkInterface`
+ `ec2:PlacementGroupName` – `CreatePlacementGroup`
+ `ec2:RouteTableID` – `CreateRouteTable`
+ `ec2:SecurityGroupID` – `CreateSecurityGroup`
+ `ec2:SnapshotID`: `CopySnapshot`, `CreateSnapshot`, `CreateSnapshots` e `ImportSnapshots`
+ `ec2:SubnetID` – `CreateSubnet`
+ `ec2:VolumeID`: `CreateVolume` e `ImportVolume`
+ `ec2:VpcID` – `CreateVpc`
+ `ec2:VpcPeeringConnectionID` – `CreateVpcPeeringConnection`

Per filtrare l'accesso in base a una risorsa specifica IDs, si consiglia di utilizzare l'elemento `Resource` policy come segue.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:CopyImage",
      "Resource": "arn:aws:ec2:us-east-1::image/ami-01234567890abcdef"
    }
  ]
}
```

------

### Chiave di condizione ec2:SourceInstanceARN
<a name="SourceInstanceARN"></a>

Usa `ec2:SourceInstanceARN` per specificare l'ARN dell'istanza in base alla quale è stata effettuata una richiesta. Si tratta di una [chiave di condizione globale AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html), il che significa che puoi utilizzarla con servizi diversi da Amazon EC2. Per un esempio di policy, consulta [Esempio: consentire a un'istanza specifica di visualizzare le risorse in altri AWS servizi](ExamplePolicies_EC2.md#iam-example-source-instance).

## Controllare l'accesso mediante l'accesso basato sugli attributi
<a name="control-access-with-tags"></a>

Quando crei una policy IAM che concede agli utenti l'autorizzazione a utilizzare le risorse EC2, puoi includere informazioni sui tag nell'elemento `Condition` della policy per controllare l'accesso in base ai tag. Questo è noto come controllo degli accessi basato su attributi (ABAC). Il controllo ABAC fornisce un miglior controllo su quali risorse possono essere modificate, utilizzate o eliminate da un utente. Per ulteriori informazioni, consulta [Che cos'è ABAC per AWS?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)

Ad esempio, è possibile creare una policy che consente agli utenti di terminare un'istanza ma che neghi l'operazione se l'istanza presenta il tag `environment=production`. A tale scopo, è possibile utilizzare la chiave di condizione `aws:ResourceTag` per consentire o negare l'accesso alla risorsa in base ai tag collegati alla risorsa.

```
"StringEquals": { "aws:ResourceTag/environment": "production" }
```

Per sapere se un'operazione API Amazon EC2 supporta il controllo degli accessi utilizzando la chiave di condizione `aws:ResourceTag`, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html). Tieni a mente che le operazioni `Describe` non supportano le autorizzazioni a livello di risorsa, pertanto è necessario specificarle in una dichiarazione separata senza condizioni.

Per esempi di policy IAM, consulta [Policy di esempio da utilizzare all'API Amazon EC2](ExamplePolicies_EC2.md). 

Se consenti o neghi a un utente l'accesso a risorse in base ai tag, devi considerare esplicitamente di negare agli utenti la possibilità di aggiungere o rimuovere tali tag dalle stesse risorse. In caso contrario, un utente può eludere le restrizioni e ottenere l'accesso a una risorsa modificandone i tag.

## Concedere autorizzazioni a utenti, gruppi e ruoli
<a name="granting-iam-permissions"></a>

Per fornire l’accesso, aggiungi autorizzazioni agli utenti, gruppi o ruoli:
+ Utenti e gruppi in AWS IAM Identity Center:

  Crea un set di autorizzazioni. Segui le istruzioni riportate nella pagina [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) (Creazione di un set di autorizzazioni) nella *Guida per l’utente di AWS IAM Identity Center *.
+ Utenti gestiti in IAM tramite un provider di identità:

  Crea un ruolo per la federazione delle identità. Segui le istruzioni riportate nella pagina [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) della *Guida per l’utente IAM*.
+ Utenti IAM:
  + Crea un ruolo che l’utente possa assumere. Segui le istruzioni riportate nella pagina [Create a role for an IAM user](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) della *Guida per l’utente IAM*.
  + (Non consigliato) Collega una policy direttamente a un utente o aggiungi un utente a un gruppo di utenti. Segui le istruzioni riportate nella pagina [Aggiunta di autorizzazioni a un utente (console)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) nella *Guida per l’utente IAM*.

## Verificare che gli utenti dispongano delle autorizzazioni necessarie
<a name="check-required-permissions"></a>

Dopo aver creato una policy IAM, prima di metterla in produzione, ti consigliamo di verificare se vengono concesse agli utenti le autorizzazioni per l'utilizzo di specifiche risorse e operazioni API necessarie.

In primo luogo, crea un utente a scopo di test e collega la policy IAM creata all'utente del test. In seguito, effettua una richiesta come utente di test.

Se l'operazione Amazon EC2 di cui stai eseguendo il test crea o modifica una risorsa, devi effettuare la richiesta utilizzando il parametro `DryRun` (o eseguire il comando della AWS CLI con l'opzione `--dry-run`). In questo caso, la chiamata completa la verifica dell'autorizzazione, ma non completa l'operazione. Ad esempio, puoi controllare se l'utente è in grado di interrompere una determinata istanza senza effettivamente terminarla. Se l'utente del test dispone delle autorizzazioni necessarie, la richiesta restituisce `DryRunOperation`, altrimenti restituisce `UnauthorizedOperation`.

Se la policy non concede all'utente le autorizzazioni previste oppure è eccessivamente permissiva, puoi modificarla in base alle esigenze e ripetere il test fino a ottenere i risultati desiderati. 

**Importante**  
La propagazione delle modifiche alla policy e la loro validità potrebbe richiedere alcuni minuti. Ti consigliamo quindi di attendere 5 minuti prima di effettuare il test degli aggiornamenti delle policy.

Se una verifica dell'autorizzazione ha esito negativo, la richiesta restituisce un messaggio codificato con informazioni di diagnostica. Il messaggio può essere decodificato tramite l'operazione `DecodeAuthorizationMessage`. Per ulteriori informazioni, [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)consulta l'*AWS Security Token Service API Reference* e [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html).

# Policy di esempio da utilizzare all'API Amazon EC2
<a name="ExamplePolicies_EC2"></a>

È possibile utilizzare le policy IAM per concedere agli utenti le autorizzazioni richieste per utilizzare Amazon EC2. Per step-by-step istruzioni, consulta [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l'utente IAM*.

I seguenti esempi mostrano le dichiarazioni di policy che è possibile utilizzare per concedere le autorizzazioni agli utenti per utilizzare Amazon EC2. Queste politiche sono progettate per le richieste effettuate utilizzando AWS CLI o un AWS SDK. Negli esempi seguenti, sostituisci ciascuno di essi *user input placeholder* con le tue informazioni.

**Topics**
+ [Accesso in sola lettura](#iam-example-read-only)
+ [Limitazione dell'accesso a una regione specifica](#iam-example-region)
+ [Utilizzo delle istanze](#iam-example-instances)
+ [Avvia istanze () RunInstances](#iam-example-runinstances)
+ [

## Utilizzo delle Istanze spot
](#iam-example-spot-instances)
+ [Utilizzo delle Istanze riservate](#iam-example-reservedinstances)
+ [Aggiunta di tag alle risorse](#iam-example-taggingresources)
+ [Utilizzo dei ruoli IAM](#iam-example-iam-roles)
+ [Utilizzo delle tabelle di routing](#iam-example-route-tables)
+ [Consenti a un'istanza specifica di visualizzare le risorse in altri AWS servizi](#iam-example-source-instance)
+ [Utilizzo dei modelli di avvio](#iam-example-launch-templates)
+ [Utilizzo dei metadati delle istanze](#iam-example-instance-metadata)
+ [

## Lavora con volumi e snapshot Amazon EBS
](#iam-example-ebs)

Per le policy di esempio da utilizzare nella console Amazon EC2, consultare [Policy di esempio per controllare l'accesso alla console Amazon EC2](iam-policies-ec2-console.md).

## Esempio: accesso in sola lettura
<a name="iam-example-read-only"></a>

La policy seguente concede agli utenti le autorizzazioni per utilizzare tutte le operazioni dell'API Amazon EC2 i cui nomi iniziano con `Describe`. L'elemento `Resource` utilizza un carattere jolly per indicare che tutti gli utenti possono specificare tutte le risorse con queste operazioni dell'API. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Per impostazione predefinita, agli utenti non viene concessa l'autorizzazione per eseguire le operazioni dell'API sulle risorse (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    }
   ]
}
```

------

## Esempio: limitazione dell'accesso a una regione specifica
<a name="iam-example-region"></a>

La policy seguente nega agli utenti le autorizzazioni per utilizzare tutte le operazioni dell'API Amazon EC2, a meno che la regione sia Europa (Francoforte). Utilizza la chiave di condizione globale `aws:RequestedRegion`, che è supportato da tutte le operazioni API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

In alternativa, è possibile utilizzare la chiave di condizione `ec2:Region`, specifica per Amazon EC2 ed è supportata da tutte le operazioni API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Deny",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "ec2:Region": "eu-central-1"
        }
      }
    }  
  ]
}
```

------

## Utilizzo delle istanze
<a name="iam-example-instances"></a>

**Topics**
+ [

### Esempio: descrizione, avvio, arresto e terminazione di tutte le istanze
](#iam-example-instances-all)
+ [

### Esempio: descrizione di tutte le istanze e arresto, avvio e terminazione soltanto di determinate istanze
](#iam-example-instances-specific)

### Esempio: descrizione, avvio, arresto e terminazione di tutte le istanze
<a name="iam-example-instances-all"></a>

La policy seguente concede agli utenti le autorizzazioni per utilizzare le operazioni dell'API specificate nell'elemento `Action`. L'elemento `Resource` utilizza un carattere jolly \$1 per indicare che tutti gli utenti possono specificare tutte le risorse con queste operazioni dell'API. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Gli utenti non dispongono dell'autorizzazione per utilizzare altre operazioni dell'API (a meno che un'altra istruzione non conceda loro l'autorizzazione corrispondente) perché, per impostazione predefinita, agli utenti non viene concessa l'autorizzazione per utilizzare le operazioni dell'API.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances", 
        "ec2:DescribeImages",
        "ec2:DescribeKeyPairs", 
        "ec2:DescribeSecurityGroups",
        "ec2:DescribeAvailabilityZones",
        "ec2:RunInstances", 
        "ec2:TerminateInstances",
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": "*"
    }
   ]
}
```

------

### Esempio: descrizione di tutte le istanze e arresto, avvio e terminazione soltanto di determinate istanze
<a name="iam-example-instances-specific"></a>

La policy seguente consente agli utenti di descrivere tutte le istanze, di avviare e arrestare soltanto le istanze i-1234567890abcdef0 e i-0598c7d356eba48d7 e di terminare soltanto le istanze in della regione `us-east-1` con il tag di risorsa “`purpose=test`“. 

La prima istruzione utilizza il carattere jolly \$1 per l'elemento `Resource` per indicare che gli utenti possono specificare tutte le risorse con questa operazione; in questo caso, possono elencare tutte le istanze. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa (in questo caso, `ec2:DescribeInstances`). Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

La seconda istruzione utilizza le autorizzazioni a livello di risorsa per le operazioni `StopInstances` e `StartInstances`. Le istanze specifiche sono indicate dalla loro presenza ARNs nell'`Resource`elemento.

La terza istruzione consente agli utenti di chiudere tutte le istanze della `us-east-1` Regione che appartengono all' AWS account specificato, ma solo se l'istanza ha il tag. `"purpose=test"` L'elemento `Condition` qualifica l'istruzione della policy applicata. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
   "Effect": "Allow",
      "Action": "ec2:DescribeInstances",
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
        "ec2:StopInstances", 
        "ec2:StartInstances"
      ],
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:instance/i-1234567890abcdef0",
        "arn:aws:ec2:us-east-1:111122223333:instance/i-0598c7d356eba48d7"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "ec2:TerminateInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/purpose": "test"
         }
      }
   }

   ]
}
```

------

## Avvia istanze () RunInstances
<a name="iam-example-runinstances"></a>

L'azione [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)API avvia una o più istanze On-Demand o una o più istanze Spot. `RunInstances`richiede un AMI e crea un'istanza. Gli utenti possono specificare nella richiesta una coppia di chiavi e un gruppo di sicurezza. L'avvio in un VPC richiede una sottorete e crea un'interfaccia di rete. L'avvio da un'AMI Amazon EBS-backed implica la creazione di un volume. Pertanto, gli utenti devono disporre delle autorizzazioni per utilizzare queste risorse Amazon EC2. Puoi creare un'istruzione della policy che richiede agli utenti di specificare un parametro facoltativo su `RunInstances` o limitare l'accesso degli utenti a determinati valori dei parametri.

Per ulteriori informazioni sulle autorizzazioni a livello di risorse richieste per avviare un'istanza, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

Per impostazione predefinita, gli utenti non dispongono delle autorizzazioni per descrivere, avviare, arrestare o terminare le istanze risultanti. Un modo per concedere agli utenti l'autorizzazione per gestire le istanze risultanti, consiste nel creare un tag specifico per ciascuna istanza e nel creare quindi un'istruzione che consenta loro di gestire le istanze con tale tag. Per ulteriori informazioni, consulta [Utilizzo delle istanze](#iam-example-instances).

**Topics**
+ [

### AMIs
](#iam-example-runinstances-ami)
+ [

### Tipi di istanza
](#iam-example-runinstances-instance-type)
+ [

### Sottoreti
](#iam-example-runinstances-subnet)
+ [

### Volumi EBS
](#iam-example-runinstances-volumes)
+ [

### Tag
](#iam-example-runinstances-tags)
+ [

### Tag in un modello di avvio
](#iam-example-tags-launch-template)
+ [

### Elastico GPUs
](#iam-example-runinstances-egpu)
+ [

### Modelli di avvio
](#iam-example-runinstances-launch-templates)

### AMIs
<a name="iam-example-runinstances-ami"></a>

La seguente politica consente agli utenti di avviare istanze utilizzando solo il file specificato AMIs, `ami-9e1670f7` e`ami-45cf5c3c`. Gli utenti non possono avviare un'istanza utilizzando altre istanze AMIs (a meno che un'altra istruzione non conceda agli utenti l'autorizzazione a farlo).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1::image/ami-9e1670f7",
        "arn:aws:ec2:us-east-1::image/ami-45cf5c3c",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*",
        "arn:aws:ec2:us-east-1:111122223333:subnet/*",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ]
    }
   ]
}
```

------

In alternativa, la seguente politica consente agli utenti di avviare istanze da tutte AMIs di proprietà di Amazon o da determinati partner affidabili e verificati. L'elemento `Condition` della prima istruzione verifica se `ec2:Owner` è `amazon`. Gli utenti non possono avviare un'istanza utilizzando altre istanze AMIs (a meno che un'altra dichiarazione non conceda agli utenti l'autorizzazione a farlo).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Tipi di istanza
<a name="iam-example-runinstances-instance-type"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto tramite il tipo di istanza `t2.micro` o `t2.small` per consentire di tenere sotto controllo i costi. Gli utenti non possono avviare istanze di dimensioni maggiori perché l'elemento `Condition` della prima istruzione verifica se `ec2:InstanceType` è `t2.micro` o `t2.small`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

In alternativa, puoi creare una policy che nega agli utenti le autorizzazioni per avviare le istanze a eccezione dei tipi di istanza `t2.micro` e `t2.small`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        { 
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringNotEquals": {
            "ec2:InstanceType": ["t2.micro", "t2.small"]
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Sottoreti
<a name="iam-example-runinstances-subnet"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto tramite la sottorete `subnet-12345678` specificata. Il gruppo non può avviare le istanze in altre sottoreti (a meno che un'altra istruzione non conceda agli utenti l'autorizzazione corrispondente).

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
        "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678",
        "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
        "arn:aws:ec2:us-east-1:111122223333:instance/*",
        "arn:aws:ec2:us-east-1:111122223333:volume/*",
        "arn:aws:ec2:us-east-1::image/ami-*",
        "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
        "arn:aws:ec2:us-east-1:111122223333:security-group/*"
      ]
    }
   ]
}
```

------

In alternativa, puoi creare una policy che rifiuti agli utenti le autorizzazioni per avviare le istanze nelle altre sottoreti. Questa istruzione rifiuta l'autorizzazione per la creazione di un'interfaccia di rete, tranne se viene specificata la sottorete `subnet-12345678`. Questa negazione sostituisce le altre policy create per consentire l'avvio delle istanze in altre sottoreti.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
         {
      "Effect": "Deny",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*"
      ],
      "Condition": {
         "ArnNotEquals": {
            "ec2:Subnet": "arn:aws:ec2:us-east-1:111122223333:subnet/subnet-12345678"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-1::image/ami-*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:instance/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:volume/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*"
         ]
      }
   ]
}
```

------

### Volumi EBS
<a name="iam-example-runinstances-volumes"></a>

La policy seguente consente agli utenti di avviare le istanze soltanto se i volumi EBS dell'istanza sono crittografati. Per assicurarsi che il volume root sia crittografato, gli utenti devono avviare un'istanza da un'AMI creata con snapshot crittografate. Anche gli altri eventuali volumi collegati dagli utenti all'istanza durante l'avvio devono essere crittografati.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
                {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*:*:volume/*"
            ],
            "Condition": {
                "Bool": {
                    "ec2:Encrypted": "true"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:*:network-interface/*",
                "arn:aws:ec2:*:*:instance/*",
                "arn:aws:ec2:*:*:subnet/*",
                "arn:aws:ec2:*:*:key-pair/*",
                "arn:aws:ec2:*:*:security-group/*"
            ]
        }
    ]
}
```

------

### Tag
<a name="iam-example-runinstances-tags"></a>

**Tag di istanze durante la creazione**

La policy seguente consente agli utenti di avviare le istanze e di aggiungervi dei tag durante la creazione. Per le operazioni di creazione delle risorse in cui vengono applicati i tag, gli utenti devono disporre delle autorizzazioni per utilizzare l'operazione `CreateTags`. La seconda istruzione utilizza la chiave di condizione `ec2:CreateAction` per consentire agli utenti di creare i tag soltanto nel contesto di `RunInstances` e soltanto per le istanze. Tramite la richiesta `RunInstances`, gli utenti non possono aggiungere tag alle risorse esistenti e ai volumi. 

Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Tag di istanze e volumi durante la creazione con tag specifici**

La policy seguente include la chiave di condizione `aws:RequestTag` che richiede agli utenti di applicare tag alle istanze e ai volumi creati da `RunInstances` con i tag `environment=production` e `purpose=webserver`. Se gli utenti non indicano questi tag specifici, o se non specificano nessun tag, la richiesta non riesce.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/environment": "production" ,
             "aws:RequestTag/purpose": "webserver"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Tag di istanze e volumi durante la creazione con almeno un tag specifico**

La policy seguente utilizza il modificatore `ForAnyValue` sulla condizione `aws:TagKeys` per indicare che occorre specificare almeno un tag nella richiesta e che deve contenere la chiave `environment` o `webserver`. I tag devono essere applicati alle istanze e ai volumi. È possibile specificare nella richiesta qualsiasi valore di tag. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-1::image/*",
         "arn:aws:ec2:us-east-1:111122223333:subnet/*",
         "arn:aws:ec2:us-east-1:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-1:111122223333:security-group/*",
         "arn:aws:ec2:us-east-1:111122223333:key-pair/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:RunInstances"
      ],
      "Resource": [
          "arn:aws:ec2:us-east-1:111122223333:volume/*",
          "arn:aws:ec2:us-east-1:111122223333:instance/*"
      ],
      "Condition": {
          "ForAnyValue:StringEquals": {
              "aws:TagKeys": ["environment","webserver"]
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
          "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
          "StringEquals": {
              "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

**Se vengono applicati tag alle istanze durante la creazione, è necessario applicare un tag specifico**

Nella policy seguente non è necessario che gli utenti specifichino i tag nella richiesta, ma se lo fanno, i tag devono essere di tipo `purpose=test`. Non sono consentiti altri tag. Gli utenti possono applicare i tag alle risorse compatibili con l'applicazione dei tag nella richiesta `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
         "StringEquals": {
             "aws:RequestTag/purpose": "test",
             "ec2:CreateAction" : "RunInstances"
          },
          "ForAllValues:StringEquals": {
              "aws:TagKeys": "purpose"
          }
       }
    }
  ]
}
```

------

Per impedire a chiunque si chiami tag su create for RunInstances



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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

Consenti solo tag specifici per spot-instances-request. L'incoerenza numero 2 entra in gioco qui. In circostanze normali, se non si specifica alcun tag, il risultato è che non viene autenticato. Nel caso di spot-instances-request, questa politica non verrà valutata in assenza di spot-instances-request tag, pertanto una richiesta Spot on Run senza tag avrà esito positivo. 

### Tag in un modello di avvio
<a name="iam-example-tags-launch-template"></a>

Nell'esempio seguente, gli utenti possono avviare le istanze, ma solo tramite un modello di avvio specifico (`lt-09477bcd97b0d310e`). La chiave di condizione `ec2:IsLaunchTemplateResource` impedisce agli utenti di sovrascrivere le risorse specificate nel modello di avvio. La seconda parte dell'istruzione consente agli utenti di assegnare tag alle istanze al momento della creazione; questa parte dell'istruzione è necessaria se sono stati specificati dei tag per l'istanza nel modello di avvio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:CreateTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
         "StringEquals": {
             "ec2:CreateAction" : "RunInstances"
          }
       }
    }
  ]
}
```

------

### Elastico GPUs
<a name="iam-example-runinstances-egpu"></a>

Nella policy seguente, gli utenti possono avviare un'istanza e specificare una GPU elastica da collegare all'istanza. Gli utenti possono avviare le istanze in qualsiasi regione, ma possono collegare una GPU elastica durante l'avvio soltanto nella regione `us-east-2`. 

La chiave di condizione `ec2:ElasticGpuType` garantisce che le istanze utilizzino il tipo di GPU elastica `eg1.medium` o `eg1.large`.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
             {
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:*:111122223333:elastic-gpu/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Region": "us-east-2",
                    "ec2:ElasticGpuType": [
                        "eg1.medium",
                        "eg1.large"
                    ]
                }  
            }
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": [
                "arn:aws:ec2:*::image/ami-*",
                "arn:aws:ec2:*:111122223333:network-interface/*",
                "arn:aws:ec2:*:111122223333:instance/*",
                "arn:aws:ec2:*:111122223333:subnet/*",
                "arn:aws:ec2:*:111122223333:volume/*",
                "arn:aws:ec2:*:111122223333:key-pair/*",
                "arn:aws:ec2:*:111122223333:security-group/*"
            ]
        }
    ]
}
```

------

### Modelli di avvio
<a name="iam-example-runinstances-launch-templates"></a>

Nell'esempio seguente, gli utenti possono avviare le istanze, ma solo tramite un modello di avvio specifico (`lt-09477bcd97b0d310e`). Gli utenti possono sovrascrivere i parametri nel modello di avvio specificandolo nell'operazione `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d310e" 
          }
       }
    }
  ]
}
```

------

In questo esempio, gli utenti possono avviare le istanze solo se utilizzano un modello di avvio specifico. La policy utilizza la chiave `ec2:IsLaunchTemplateResource` condition per impedire agli utenti di sovrascrivere qualsiasi elemento preesistente ARNs nel modello di lancio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
         {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

La policy di esempio seguente consente agli utenti di avviare le istanze, ma solo tramite un modello di avvio. Gli utenti non possono sovrascrivere i parametri di sottorete e interfaccia di rete della richiesta; tali parametri possono essere specificati soltanto nel modello di avvio. La prima parte dell'istruzione utilizza l'[NotResource](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_notresource.html)elemento per consentire tutte le altre risorse tranne le sottoreti e le interfacce di rete. La seconda parte dell'istruzione consente le risorse di sottorete e interfaccia di rete, ma soltanto se provenienti dal modello di avvio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                      "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          }
       }
    },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": ["arn:aws:ec2:us-east-1:111122223333:subnet/*",
                   "arn:aws:ec2:us-east-1:111122223333:network-interface/*" ],
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
          "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    }
  ]
}
```

------

L'esempio seguente consente agli utenti di avviare le istanze solo tramite un modello di avvio e solo se quest'ultimo dispone del tag `Purpose=Webservers`. Gli utenti non possono sovrascrivere nessuno dei parametri del modello di avvio nell'operazione `RunInstances`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	  
  "Statement": [
        {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "NotResource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
         "ArnLike": {
             "ec2:LaunchTemplate": "arn:aws:ec2:us-east-1:111122223333:launch-template/*" 
          },
         "Bool": {
             "ec2:IsLaunchTemplateResource": "true"
          }
       }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
       "StringEquals": {
           "aws:ResourceTag/Purpose": "Webservers" 
        }
       }
     }
  ]
}
```

------

## Utilizzo delle Istanze spot
<a name="iam-example-spot-instances"></a>

È possibile utilizzare l' RunInstances azione per creare richieste di istanze Spot e contrassegnare le richieste di istanze Spot al momento della creazione. La risorsa da specificare RunInstances è`spot-instances-request`.

La risorsa `spot-instances-request` viene valutata nella policy IAM come segue:
+ Se non tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstancesistruzione.
+ Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la `spot-instances-request` risorsa nell'istruzione. RunInstances

Pertanto, per la risorsa `spot-instances-request`, alla policy IAM si applicano le seguenti regole:
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e non intendi taggare la richiesta di istanza Spot al momento della creazione, non è necessario consentire esplicitamente la `spot-instances-request` risorsa; la chiamata avrà esito positivo.
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi taggare la richiesta di istanza Spot al momento della creazione, devi includere la `spot-instances-request` risorsa nell'istruzione RunInstances allow, altrimenti la chiamata avrà esito negativo.
+ Se utilizzi RunInstances per creare una richiesta di istanza Spot e intendi contrassegnare la richiesta di istanza Spot al momento della creazione, devi specificare la `spot-instances-request` risorsa o il `*` carattere jolly nell'istruzione CreateTags allow, altrimenti la chiamata avrà esito negativo. 

Puoi richiedere istanze Spot utilizzando RunInstances o. RequestSpotInstances I seguenti esempi di policy IAM si applicano solo quando si richiedono istanze Spot utilizzando. RunInstances

**Esempio: richiedi istanze Spot utilizzando RunInstances**

La seguente politica consente agli utenti di richiedere istanze Spot utilizzando l'azione RunInstances . La `spot-instances-request` risorsa, creata da RunInstances, richiede istanze Spot.

**Nota**  
Da utilizzare RunInstances per creare richieste di istanze Spot, puoi ometterle `spot-instances-request` dall'`Resource`elenco se non intendi taggare le richieste di istanze Spot durante la creazione. Questo perché Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstancesistruzione se la richiesta dell'istanza Spot non è contrassegnata al momento della creazione.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        }
    ]
}
```

------

**avvertimento**  
**NON SUPPORTATO - Esempio: nega agli utenti l'autorizzazione a richiedere istanze Spot utilizzando RunInstances**  
La seguente policy non è supportata per la risorsa `spot-instances-request`.  
La seguente policy intende concedere agli utenti l'autorizzazione per l'avvio di Istanze on demand, ma nega agli utenti l'autorizzazione a richiedere Istanze spot. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda affermazione ha lo scopo di negare l' RunInstances azione per la `spot-instances-request` risorsa. Tuttavia, questa condizione non è supportata perché Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstances istruzione se la richiesta dell'istanza Spot non è contrassegnata al momento della creazione.  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequestsNOTSUPPORTEDDONOTUSE",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
        }
    ]
}
```

**Esempio: tag di richieste di istanze spot durante la creazione**

La seguente policy consente agli utenti di applicare un tag a tutte le risorse create durante l'avvio dell'istanza. La prima istruzione consente di RunInstances creare le risorse elencate. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda istruzione include il carattere jolly `*` per consentire a tutte le risorse l'applicazione di tag quando vengono create all'avvio dell'istanza.

**Nota**  
Se tagghi una richiesta di istanza Spot al momento della creazione, Amazon EC2 valuta la `spot-instances-request` risorsa nell'istruzione. RunInstances Pertanto, è necessario consentire esplicitamente alla `spot-instances-request` risorsa di eseguire l' RunInstances azione, altrimenti la chiamata avrà esito negativo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**Esempio: assegnazione di tag di diniego durante la creazione per richieste di istanze spot**

La seguente policy nega agli utenti l'autorizzazione di applicare un tag alle risorse create durante l'avvio dell'istanza.

La prima istruzione consente di RunInstances creare le risorse elencate. La `spot-instances-request` risorsa, creata da RunInstances, è la risorsa che richiede le istanze Spot. La seconda istruzione include il carattere jolly `*` per negare a tutte le risorse l'applicazione di tag quando vengono create all'avvio dell'istanza. Se `spot-instances-request` o qualsiasi altra risorsa viene taggata in fase di creazione, la RunInstances chiamata avrà esito negativo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenyTagResources",
            "Effect": "Deny",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

**avvertimento**  
**NON SUPPORTATO - Esempio: autorizzazione per la creazione di una richiesta di istanza spot solo se è stato applicato un tag specifico**  
La seguente policy non è supportata per la risorsa `spot-instances-request`.  
La seguente politica ha lo scopo di concedere RunInstances l'autorizzazione a creare una richiesta di istanza Spot solo se la richiesta è contrassegnata con un tag specifico.   
La prima istruzione consente RunInstances di creare le risorse elencate.  
La seconda istruzione intende concedere agli utenti l'autorizzazione a creare una richiesta di istanza spot solo se alla richiesta è applicato il tag `environment=production`. Se questa condizione viene applicata ad altre risorse create da RunInstances, l'indicazione di nessun tag genera un `Unauthenticated` errore. Tuttavia, se non viene specificato alcun tag per la richiesta dell'istanza Spot, Amazon EC2 non valuta la `spot-instances-request` risorsa nell' RunInstances istruzione, il che comporta la creazione di richieste di istanze Spot senza tag da. RunInstances  
Tieni presente che specificare un altro tag diverso da 1 `environment=production` genera un `Unauthenticated` errore, perché se un utente tagga una richiesta di istanza Spot, Amazon EC2 valuta `spot-instances-request` la risorsa nell'istruzione. RunInstances   

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*"
            ]
        },
        {
            "Sid": "RequestSpotInstancesOnlyIfTagIsEnvironmentProductionNOTSUPPORTEDDONOTUSE",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }

    ]
}
```

**Esempio: diniego della creazione di una richiesta di istanza spot se ha un tag specifico applicato**

La seguente politica nega RunInstances l'autorizzazione a creare una richiesta di istanza Spot se la richiesta è contrassegnata con. `environment=production` 

La prima istruzione consente di RunInstances creare le risorse elencate.

La seconda istruzione nega agli utenti l'autorizzazione per creare una richiesta di istanza spot se la richiesta ha il tag `environment=production`. Se si specifica `environment=production` come tag, viene generato un errore `Unauthenticated`. Se si specificano altri tag o se non si specifica alcun tag, verrà creata una richiesta di istanza spot.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowRun",
            "Effect": "Allow",
            "Action": [
                "ec2:RunInstances"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/*",
                "arn:aws:ec2:us-east-1:*:subnet/*",
                "arn:aws:ec2:us-east-1:*:network-interface/*",
                "arn:aws:ec2:us-east-1:*:security-group/*",
                "arn:aws:ec2:us-east-1:*:key-pair/*",
                "arn:aws:ec2:us-east-1:*:volume/*",
                "arn:aws:ec2:us-east-1:*:instance/*",
                "arn:aws:ec2:us-east-1:*:spot-instances-request/*"
            ]
        },
        {
            "Sid": "DenySpotInstancesRequests",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:us-east-1:*:spot-instances-request/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        },
        {
            "Sid": "TagResources",
            "Effect": "Allow",
            "Action": "ec2:CreateTags",
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: utilizzo delle Istanze riservate
<a name="iam-example-reservedinstances"></a>

La policy seguente fornisce agli utenti l'autorizzazione per visualizzare, modificare e acquistare le Istanze riservate nell'account.

Non è possibile impostare le autorizzazioni a livello di risorsa per singole Istanze riservate. Questa policy significa che gli utenti hanno accesso a tutte le Istanze riservate dell'account.

L'elemento `Resource` utilizza il carattere jolly \$1 per indicare che gli utenti possono specificare tutte le risorse tramite questa operazione; in questo caso, possono elencare e modificare tutte le Istanze riservate nell'account. Possono inoltre acquistare le Istanze riservate con le credenziali dell'account. ‎Il carattere jolly \$1 è necessario inoltre nei casi in cui l'operazione dell'API non supporta le autorizzazioni a livello di risorsa.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:PurchaseReservedInstancesOffering", 
        "ec2:DescribeAvailabilityZones",
        "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
    }
   ]
}
```

------

Per consentire agli utenti di visualizzare e modificare le Istanze riservate nell'account, ma non di acquistare nuove Istanze riservate.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
   "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeReservedInstances", 
        "ec2:ModifyReservedInstances",
        "ec2:DescribeAvailabilityZones"
      ],
      "Resource": "*"
    }
  ]
}
```

------

## Esempio: aggiunta di tag alle risorse
<a name="iam-example-taggingresources"></a>

La policy seguente consente agli utenti di utilizzare l'operazione `CreateTags` per applicare tag a un'istanza soltanto se il tag contiene la chiave `environment` e il valore `production`. Non sono consentiti altri tag e l’utente non può aggiungere tag ad altri tipi di risorse.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/environment": "production"
                }
            }
        }
    ]
}
```

------

La policy seguente consente agli utenti di assegnare tag a tutte le risorse compatibili con l'assegnazione di tag e che dispongono già di un tag con una chiave `owner` e un valore corrispondente al nome utente. Inoltre, gli utenti devono specificare nella richiesta un tag con la chiave `anycompany:environment-type` e un valore `test` o `prod`. Gli utenti possono specificare altri tag nella richiesta.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/anycompany:environment-type": ["test","prod"],
                    "aws:ResourceTag/owner": "${aws:username}"
                } 
            }
        }
    ]
}
```

------

Puoi creare una policy IAM che consenta agli utenti di eliminare tag specifici per una risorsa. Ad esempio, la policy seguente consente agli utenti di eliminare i tag di un volume se le chiavi di tag specificate nella richiesta sono `environment` o `cost-center`. È possibile specificare qualsiasi valore per il tag, ma la chiave di tag deve corrispondere a una delle chiavi specificate.

**Nota**  
Se elimini una risorsa, verranno eliminati anche tutti i tag associati alla risorsa. Gli utenti non necessitano delle autorizzazioni per utilizzare l'operazione `ec2:DeleteTags` per eliminare una risorsa con tag; necessitano soltanto delle autorizzazioni per effettuare l'operazione di eliminazione.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Effect": "Allow",
      "Action": "ec2:DeleteTags",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:volume/*",
      "Condition": {
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment","cost-center"]
        }
      }
    }
  ]
}
```

------

Questa policy consente agli utenti di eliminare soltanto il tag `environment=prod` su qualsiasi risorsa e soltanto se la risorsa dispone già di un tag con una chiave `owner` e di un valore corrispondente al nome utente. Gli utenti non possono eliminare nessun altro tag di una risorsa.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
      {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteTags"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:*/*",
      "Condition": {
        "StringEquals": {
          "aws:RequestTag/environment": "prod",
          "aws:ResourceTag/owner": "${aws:username}"
        },
        "ForAllValues:StringEquals": {
          "aws:TagKeys": ["environment"]
        }
      }
    }
  ]
}
```

------

## Esempio: utilizzo dei ruoli IAM
<a name="iam-example-iam-roles"></a>

La policy seguente consente agli utenti di collegare, sostituire e scollegare un ruolo IAM dalle istanze che includono il tag `department=test`. Per la sostituzione o lo scollegamento di un ruolo IAM è necessario un ID di associazione, pertanto la policy concede agli utenti anche l'autorizzazione per utilizzare l'operazione `ec2:DescribeIamInstanceProfileAssociations`. 

Per trasferire il ruolo all'istanza, gli utenti devono disporre dell'autorizzazione per utilizzare l'operazione `iam:PassRole`. 

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:AssociateIamInstanceProfile",
        "ec2:ReplaceIamInstanceProfileAssociation",
        "ec2:DisassociateIamInstanceProfile"
      ],
      "Resource": "arn:aws:ec2:us-east-1:111122223333:instance/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/department":"test"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:DescribeIamInstanceProfileAssociations",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::111122223333:role/DevTeam*"
    }
  ]
}
```

------

La policy seguente consente agli utenti di collegare o sostituire un ruolo IAM per qualsiasi istanza. Gli utenti possono collegare o sostituire soltanto i ruoli IAM il cui nome inizia con `TestRole-`. Per l'operazione `iam:PassRole`, assicurarsi di specificare il nome del ruolo IAM e non il profilo dell'istanza (se i nomi sono diversi). Per ulteriori informazioni, consulta [Profili delle istanze](iam-roles-for-amazon-ec2.md#ec2-instance-profile).

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:AssociateIamInstanceProfile",
                "ec2:ReplaceIamInstanceProfileAssociation"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeIamInstanceProfileAssociations",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/TestRole-*"
        }
    ]
}
```

------

## Esempio: utilizzo delle tabelle di routing
<a name="iam-example-route-tables"></a>

La policy seguente consente agli utenti di aggiungere, rimuovere e sostituire gli instradamenti delle tabelle di routing associate soltanto al VPC `vpc-ec43eb89`. Per specificare un VPC per la chiave di condizione `ec2:Vpc`, devi specificare l'ARN completo del VPC.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ReplaceRoute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1:111122223333:route-table/*"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:Vpc": "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-ec43eb89"
                }
            }
        }
    ]
}
```

------

## Esempio: consentire a un'istanza specifica di visualizzare le risorse in altri AWS servizi
<a name="iam-example-source-instance"></a>

Di seguito è riportato un esempio di policy che è possibile collegare a un ruolo IAM. La policy consente a un'istanza di visualizzare le risorse in vari AWS servizi. Utilizza la chiave di condizione globale `ec2:SourceInstanceARN` per specificare che l'istanza da cui è stata creata la richiesta deve essere l'istanza `i-093452212644b0dd6`. Se lo stesso ruolo IAM è associato a un'altra istanza, l'altra istanza non può effettuare nessuna di queste operazioni.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
              {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVolumes",
                "s3:ListAllMyBuckets",
                "dynamodb:ListTables",
                "rds:DescribeDBInstances"
            ],
            "Resource": [
                "*"
            ],
            "Condition": {
                "ArnEquals": {
                    "ec2:SourceInstanceARN": "arn:aws:ec2:us-east-1:111122223333:instance/i-093452212644b0dd6"
                }
            }
        }
    ]
}
```

------

## Esempio: utilizzo dei modelli di avvio
<a name="iam-example-launch-templates"></a>

La policy seguente consente agli utenti di creare una versione del modello di avvio e di modificarne uno, ma solo nel caso di un modello di avvio specifico (`lt-09477bcd97b0d3abc`). Gli utenti non possono utilizzare altri modelli di lancio.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
   {
      "Action": [
        "ec2:CreateLaunchTemplateVersion",
        "ec2:ModifyLaunchTemplate"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/lt-09477bcd97b0d3abc"
    }
  ]
}
```

------

La policy seguente consente agli utenti di eliminare i modelli di avvio e la relativa versione, purché il modello di avvio disponga del tag `Purpose`=`Testing`.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
       {
      "Action": [
        "ec2:DeleteLaunchTemplate",
        "ec2:DeleteLaunchTemplateVersions"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:ec2:us-east-1:111122223333:launch-template/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Purpose": "Testing"
        }
      }
    }
  ]
}
```

------

## Utilizzo dei metadati delle istanze
<a name="iam-example-instance-metadata"></a>

Le seguenti politiche garantiscono che gli utenti possano recuperare i [metadati dell'istanza](ec2-instance-metadata.md) solo utilizzando Instance Metadata Service Version 2 (). IMDSv2 Puoi combinare le quattro policy seguenti in un'unica policy con quattro istruzioni. Se vengono combinate in un'unica policy, questa può essere utilizzata come policy di controllo dei servizi (SCP). Può funzionare altrettanto bene come policy *deny* applicata a una policy IAM esistente (togliendo e limitando le autorizzazioni esistenti) o come policy di controllo dei servizi (SCP) applicata a livello globale a un account, a un'unità organizzativa o a un'intera organizzazione.

**Nota**  
Le seguenti politiche relative alle opzioni di RunInstances metadati devono essere utilizzate insieme a una politica che fornisca le autorizzazioni principali con cui avviare un'istanza. RunInstances Se il principale non dispone anche RunInstances delle autorizzazioni, non sarà in grado di avviare un'istanza. Per ulteriori informazioni, consulta le policy [Utilizzo delle istanze](#iam-example-instances) e [Avvia istanze () RunInstances](#iam-example-runinstances).

**Importante**  
*Se utilizzate i gruppi Auto Scaling e dovete richiederne l'uso IMDSv2 su tutte le nuove istanze, i gruppi Auto Scaling devono utilizzare modelli di avvio.*  
Quando un gruppo Auto Scaling utilizza un modello di avvio, le `ec2:RunInstances` autorizzazioni del principal IAM vengono controllate quando viene creato un nuovo gruppo Auto Scaling. Vengono inoltre controllati quando un gruppo Auto Scaling esistente viene aggiornato per utilizzare un nuovo modello di avvio o una nuova versione di un modello di avvio.  
Le restrizioni all'uso di IMDSv1 on IAM principal for `RunInstances` vengono verificate solo quando viene creato o aggiornato un gruppo di Auto Scaling che utilizza un modello di avvio. Per un gruppo Auto Scaling configurato per l'utilizzo del modello di avvio `Latest` o `Default`, le autorizzazioni non vengono controllate quando viene creata una nuova versione del modello di avvio. Per controllare le autorizzazioni, è necessario configurare il gruppo Auto Scaling in modo da utilizzare una *versione specifica* del modello di avvio.  
Disabilita l'uso delle configurazioni di avvio per tutti gli account dell'organizzazione utilizzando le policy di controllo del servizio (SCPs) o i limiti delle autorizzazioni IAM per i nuovi principali che vengono creati. Per i principal IAM esistenti con autorizzazioni di gruppo Auto Scaling, aggiornare le policy associate con questa chiave di condizione. Per disabilitare l'utilizzo delle configurazioni di avvio, creare o modificare la policy IAM, il limite delle autorizzazioni o la relativa policy di controllo del servizio con la chiave di condizione `"autoscaling:LaunchConfigurationName"` con il valore specificato come `null`.
Per i nuovi modelli di avvio, configurare le opzioni dei metadati dell'istanza nel modello di avvio. Per i modelli di avvio esistenti, creare una nuova versione del modello di avvio e configurare le opzioni dei metadati dell'istanza nella nuova versione.
Nella policy che concede a qualsiasi principal l'autorizzazione per utilizzare un modello di avvio, limitare l'associazione di `$latest` e `$default` specificando `"autoscaling:LaunchTemplateVersionSpecified": "true"`. Limitando l'utilizzo a una versione specifica di un modello di avvio, è possibile assicurarsi che vengano avviate nuove istanze utilizzando la versione in cui sono configurate le opzioni dei metadati dell'istanza. Per ulteriori informazioni, consulta il riferimento [LaunchTemplateSpecification](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_LaunchTemplateSpecification.html)all'API *Amazon EC2 Auto Scaling*, `Version` in particolare il parametro.
Per un gruppo Auto Scaling che utilizza una configurazione di avvio, sostituire la configurazione di avvio con un modello di avvio. Per ulteriori informazioni, consulta [Migrate your Auto Scaling groups to launch templates](https://docs.aws.amazon.com/autoscaling/ec2/userguide/migrate-to-launch-templates.html) nella *Guida per l’utente di Amazon EC2 Auto Scaling*.
Per un gruppo Auto Scaling che utilizza un modello di avvio, assicurarsi che utilizzi un nuovo modello di avvio con le opzioni di metadati dell'istanza configurate oppure utilizzi una nuova versione del modello di avvio corrente con le opzioni dei metadati dell'istanza configurate. Per ulteriori informazioni, consulta [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html).

**Topics**
+ [

### Richiede l'uso di IMDSv2
](#iam-example-instance-metadata-requireIMDSv2)
+ [

### Nega la disattivazione di IMDSv2
](#iam-example-instance-metadata-denyoptoutIMDSv2)
+ [

### Specificare limite massimo di hop
](#iam-example-instance-metadata-maxHopLimit)
+ [

### Limitazione di chi può modificare le opzioni dei metadati dell'istanza
](#iam-example-instance-metadata-limit-modify-IMDS-options)
+ [

### Richiedi il recupero delle credenziali del ruolo da IMDSv2
](#iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials)

### Richiede l'uso di IMDSv2
<a name="iam-example-instance-metadata-requireIMDSv2"></a>

La seguente politica specifica che non è possibile chiamare l' RunInstances API a meno che l'istanza non abbia anche scelto di richiedere l'uso di IMDSv2 (indicato da`"ec2:MetadataHttpTokens": "required"`). Se non specifichi che l'istanza richiede IMDSv2, viene visualizzato un `UnauthorizedOperation` errore quando chiami l' RunInstances API.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireImdsV2",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringNotEquals": {
                    "ec2:MetadataHttpTokens": "required"
                }
            }
        }
    ]
}
```

------

### Nega la disattivazione di IMDSv2
<a name="iam-example-instance-metadata-denyoptoutIMDSv2"></a>

La seguente politica specifica che non è possibile chiamare l'`ModifyInstanceMetadataOptions`API e consentire l'opzione di o. IMDSv1 IMDSv2 Se chiami l'API `ModifyInstanceMetadataOptions`, l'attributo `HttpTokens` deve essere impostato su `required`. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
        "Sid": "DenyIMDSv1HttpTokensModification",
        "Effect": "Deny",
        "Action": "ec2:ModifyInstanceMetadataOptions",
        "Resource": "arn:aws:ec2:*:*:instance/*",
        "Condition": {
            "StringNotEquals": {
                "ec2:Attribute/HttpTokens": "required"
            },
            "Null": {
                "ec2:Attribute/HttpTokens": false
            }
        }
    }]
}
```

------

### Specificare limite massimo di hop
<a name="iam-example-instance-metadata-maxHopLimit"></a>

La seguente politica specifica che non è possibile chiamare l' RunInstances API a meno che non si specifichi anche un limite di hop e il limite di hop non può essere superiore a 3. Se non lo fai, ricevi un `UnauthorizedOperation` errore quando chiami l' RunInstances API.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "MaxImdsHopLimit",
            "Effect": "Deny",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "NumericGreaterThan": {
                    "ec2:MetadataHttpPutResponseHopLimit": "3"
                }
            }
        }
    ]
}
```

------

### Limitazione di chi può modificare le opzioni dei metadati dell'istanza
<a name="iam-example-instance-metadata-limit-modify-IMDS-options"></a>

Con la policy seguente, gli utenti con il ruolo `ec2-imds-admins` potranno apportare modifiche alle opzioni di metadati dell'istanza. Se un principale diverso dal `ec2-imds-admins` ruolo tenta di chiamare l' ModifyInstanceMetadataOptions API, riceverà un `UnauthorizedOperation` errore. Questa istruzione potrebbe essere utilizzata per controllare l'uso dell' ModifyInstanceMetadataOptions API; attualmente non esistono controlli di accesso (condizioni) dettagliati per l'API. ModifyInstanceMetadataOptions 

### Richiedi il recupero delle credenziali del ruolo da IMDSv2
<a name="iam-example-instance-metadata-require-roles-to-use-IMDSv2-credentials"></a>

La seguente politica specifica che se questa politica viene applicata a un ruolo e il ruolo viene assunto dal servizio EC2 e le credenziali risultanti vengono utilizzate per firmare una richiesta, la richiesta deve essere firmata con le credenziali del ruolo EC2 recuperate da. IMDSv2 In caso contrario, per tutte le relative chiamate all'API si verifica un errore `UnauthorizedOperation`. Questa istruzione/policy può essere applicata a livello generale perché, se la richiesta non è firmata dalle credenziali del ruolo EC2, non ha alcun effetto.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
               {
            "Sid": "RequireAllEc2RolesToUseV2",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NumericLessThan": {
                    "ec2:RoleDelivery": "2.0"
                }
            }
        }
    ]
}
```

------

## Lavora con volumi e snapshot Amazon EBS
<a name="iam-example-ebs"></a>

Per esempi sulle politiche per l'utilizzo di volumi e snapshot di Amazon EBS, consulta [Esempi di policy basate sull'identità per Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/security_iam_id-based-policy-examples.html).

# Policy di esempio per controllare l'accesso alla console Amazon EC2
<a name="iam-policies-ec2-console"></a>

È possibile utilizzare le policy IAM per concedere agli utenti le autorizzazioni richieste per utilizzare Amazon EC2. Per step-by-step istruzioni, consulta [Creazione di politiche IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) nella *Guida per l'utente IAM*.

La console utilizza operazioni API aggiuntive per le relative caratteristiche. Pertanto, queste policy potrebbero non funzionare come previsto. Ad esempio, un utente con l'autorizzazione per l'utilizzo solo dell'operazione API `DescribeVolumes` riscontrerà errori quando cerca di visualizzare i volumi nella console. In questa sezione sono descritte le policy che consentono agli utenti di utilizzare parti specifiche della console. Per ulteriori informazioni sulla creazione di politiche per la console Amazon EC2, consulta il seguente post sul blog sulla AWS sicurezza: [Granting Users Permission to Work in the Amazon EC2](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/) Console.

I seguenti esempi mostrano le dichiarazioni di policy che è possibile utilizzare per concedere le autorizzazioni agli utenti per utilizzare Amazon EC2. Sostituisci ogni *user input placeholder* con le tue informazioni. Queste policy sono progettate per le richieste effettuate con Console di gestione AWS. La console Amazon EC2 potrebbe richiamare più azioni API per visualizzare una singola risorsa e ciò potrebbe non essere evidente finché l'utente non tenta di eseguire un'operazione e la console non visualizza un errore. Per ulteriori informazioni, consulta il seguente post sul blog AWS sulla sicurezza: [Concedere agli utenti l'autorizzazione a lavorare nella console Amazon EC2](https://aws.amazon.com/blogs/security/granting-users-permission-to-work-in-the-amazon-ec2-console/).

**Topics**
+ [Accesso in sola lettura](#ex-read-only)
+ [Utilizzo della procedura guidata per l'avvio dell'istanza EC2](#ex-launch-wizard)
+ [Utilizzo dei gruppi di sicurezza](#ex-security-groups)
+ [Utilizzo degli indirizzi IP elastici](#ex-eip)
+ [Utilizzo delle Istanze riservate](#ex-reservedinstances)

Per individuare le operazioni API necessarie per eseguire le attività nella console, puoi utilizzare un servizio che effettua log di chiamate, come AWS CloudTrail. Se la policy non concede l'autorizzazione per creare o modificare una risorse specifica, nella console viene visualizzato un messaggio codificato con informazioni di diagnostica. Puoi decodificare il messaggio utilizzando l'azione [DecodeAuthorizationMessage](https://docs.aws.amazon.com/STS/latest/APIReference/API_DecodeAuthorizationMessage.html)API for o AWS STS il [decode-authorization-message](https://docs.aws.amazon.com/cli/latest/reference/sts/decode-authorization-message.html)comando contenuto in. AWS CLI

## Esempio: accesso in sola lettura
<a name="ex-read-only"></a>

Per consentire agli utenti di visualizzare tutte le risorse nella console Amazon EC2, è possibile utilizzare la stessa policy impiegata nel seguente esempio: [Esempio: accesso in sola lettura](ExamplePolicies_EC2.md#iam-example-read-only). Gli utenti non possono eseguire operazioni su queste risorse o creare nuove risorse a meno che un'altra istruzione conceda loro l'autorizzazione corrispondente.

**Visualizza istanze e AMIs istantanee**

In alternativa, puoi concedere l'accesso in sola lettura a un sottoinsieme di risorse. A tale scopo, sostituisci il carattere jolly \$1 nell'operazione API `ec2:Describe` con operazioni `ec2:Describe` specifiche per ciascuna risorsa. La seguente policy consente agli utenti di visualizzare tutte le istanze, AMI e snapshot nella console Amazon EC2. L'`ec2:DescribeTags`azione consente agli utenti di visualizzare in pubblico. AMIs La console richiede che le informazioni di tagging vengano visualizzate come pubbliche AMIs; tuttavia, è possibile rimuovere questa azione per consentire agli utenti di visualizzare solo informazioni privateAMIs.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances", 
         "ec2:DescribeImages",
         "ec2:DescribeTags", 
         "ec2:DescribeSnapshots"
      ],
      "Resource": "*"
   }
   ]
}
```

------

**Nota**  
Le operazioni API di Amazon EC2 `ec2:Describe*` non supportano le autorizzazioni a livello di risorsa, pertanto non è possibile controllare le singole risorse che gli utenti possono visualizzare nella console. Il carattere jolly \$1 è quindi necessario nell'elemento `Resource` dell'istruzione precedente. Per ulteriori informazioni sugli ARN che è possibile utilizzare con le operazioni API Amazon EC2, consulta [Operazioni, risorse e chiavi di condizione per Amazon EC2](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonec2.html).

**Visualizza istanze e metriche CloudWatch **

**La seguente policy consente agli utenti di visualizzare le istanze nella console Amazon EC2, CloudWatch nonché gli allarmi e i parametri nella scheda Monitoraggio **della** pagina Istanze.** La console Amazon EC2 utilizza l' CloudWatch API per visualizzare gli allarmi e le metriche, quindi è necessario concedere agli utenti l'autorizzazione a utilizzare le azioni`cloudwatch:DescribeAlarms`,, `cloudwatch:DescribeAlarmsForMetric``cloudwatch:ListMetrics`, `cloudwatch:GetMetricStatistics` e. `cloudwatch:GetMetricData`

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "cloudwatch:DescribeAlarms",
         "cloudwatch:DescribeAlarmsForMetric",
         "cloudwatch:ListMetrics",
         "cloudwatch:GetMetricStatistics",
         "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
   }
   ]
}
```

------

## Esempio: utilizzo della procedura guidata per l'avvio dell'istanza EC2
<a name="ex-launch-wizard"></a>

La procedura guidata per l'avvio dell'istanza Amazon EC2 è una schermata contenente opzioni per la configurazione e l'avvio di un'istanza. La policy deve includere l'autorizzazione per l'utilizzo delle operazioni API che consentono agli utenti di utilizzare le opzioni della procedura guidata. Se la policy non include l'autorizzazione per l'utilizzo di tali operazioni, alcuni elementi della procedura guidata potrebbero non venire caricati correttamente e gli utenti potrebbero non essere in grado di completare il processo di avvio.

**Accesso di base alla procedura guidata per l'avvio dell'istanza**

Per completare un processo di avvio correttamente, gli utenti devono disporre dell'autorizzazione per l'uso dell'operazione API `ec2:RunInstances` e almeno delle seguenti operazioni API:
+ `ec2:DescribeImages`: per visualizzare e selezionare un'AMI.
+ `ec2:DescribeInstanceTypes`: per visualizzare e selezionare un tipo di istanza.
+ `ec2:DescribeVpcs`: Per visualizzare le opzioni di rete disponibili.
+ `ec2:DescribeSubnets`: Per visualizzare tutte le sottoreti disponibili per il VPC scelto. 
+ `ec2:DescribeSecurityGroups` o `ec2:CreateSecurityGroup`: per visualizzare e selezionare un gruppo di sicurezza esistente o crearne uno nuovo. 
+ `ec2:DescribeKeyPairs` o `ec2:CreateKeyPair`: per selezionare una coppia di chiavi esistente o per crearne una nuova.
+ `ec2:AuthorizeSecurityGroupIngress`: per aggiungere le regole in entrata.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeImages",
                "ec2:DescribeInstanceTypes",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets",
                "ec2:DescribeSecurityGroups",
                "ec2:CreateSecurityGroup",
                "ec2:AuthorizeSecurityGroupIngress",
                "ec2:CreateKeyPair"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "*"
        }
    ]
}
```

------

Puoi aggiungere operazioni API alla policy per mettere a disposizione opzioni aggiuntive per gli utenti, ad esempio:
+ `ec2:DescribeAvailabilityZones`: Per visualizzare e selezionare una zona di disponibilità specifica.
+ `ec2:DescribeNetworkInterfaces`: Per visualizzare e selezionare le interfacce di rete esistenti per la sottorete selezionata.
+ Per aggiungere regole in uscita ai gruppi di sicurezza VPC, è necessario concedere agli utenti l'autorizzazione per utilizzare l'operazione API `ec2:AuthorizeSecurityGroupEgress`. Per modificare o eliminare le regole esistenti, è necessario concedere agli utenti l'autorizzazione per utilizzare l'operazione API `ec2:RevokeSecurityGroup*` corrispondente.
+ `ec2:CreateTags`: per applicare tag alle risorse create da `RunInstances`. Per ulteriori informazioni, consulta [Concessione dell'autorizzazione all'applicazione di tag Amazon EC2 per le risorse durante la creazione](supported-iam-actions-tagging.md). Se gli utenti non dispongono dell'autorizzazione per utilizzare questa operazione e tentano di applicare tag nella pagina relativa al tagging della procedura guidata per l'avvio dell'istanza, l'avvio ha esito negativo.
**Importante**  
Se si specifica un **Name** (Nome) durante l'avvio di un'istanza viene creato un tag e viene richiesta l'operazione `ec2:CreateTags`. Prestare particolare attenzione quando si concede agli utenti l'autorizzazione per l'uso dell'operazione `ec2:CreateTags`, perché questo limita la possibilità di utilizzare la chiave di condizione `aws:ResourceTag` per limitare l'utilizzo di altre risorse. Se si concede agli utenti l'autorizzazione a utilizzare l'operazione `ec2:CreateTags`, è possibile modificare il tag di una risorsa per ignorare tali restrizioni. Per ulteriori informazioni, consulta [Controllare l'accesso mediante l'accesso basato sugli attributi](iam-policies-for-amazon-ec2.md#control-access-with-tags).
+ Per utilizzare parametri Systems Manager durante la selezione di un'AMI, è necessario aggiungere `ssm:DescribeParameters` e `ssm:GetParameters` alla policy. `ssm:DescribeParameters` concede agli utenti l'autorizzazione per visualizzare e selezionare i parametri Systems Manager. `ssm:GetParameters` concede agli utenti l'autorizzazione per ottenere i valori dei parametri Systems Manager. Puoi inoltre limitare l'accesso a parametri Systems Manager specifici. Per ulteriori informazioni, consulta **Limitare l'accesso a parametri Systems Manager specifici** in seguito in questa sezione.

Attualmente, le operazioni API `Describe*` di Amazon EC2 non supportano le autorizzazioni a livello di risorsa, pertanto non è possibile limitare le singole risorse che gli utenti possono visualizzare nella procedura guidata per l'avvio dell'istanza. Puoi tuttavia applicare autorizzazioni a livello di risorsa nell'operazione API `ec2:RunInstances` per limitare le risorse che gli utenti possono utilizzare per avviare un'istanza. L'avvio ha esito negativo se gli utenti selezionano opzioni che non sono autorizzati a usare. 

**Limitazione dell'accesso a un tipo di istanza, sottorete e regione specifici**

La seguente politica consente agli utenti di avviare `t2.micro` istanze utilizzando la AMIs proprietà di Amazon e solo in una sottorete specifica ()`subnet-1a2b3c4d`. Gli utenti possono eseguire l'avvio solo nella regione specificata. Se gli utenti selezionano una regione diversa oppure se selezionano un tipo di istanza, un'AMI o una sottorete diversa nella procedura guidata per l'avvio dell'istanza, l'avvio avrà esito negativo. 

La prima istruzione concede agli utenti l'autorizzazione per visualizzare le opzioni nella procedura guidata per l'avvio dell'istanza o di crearne di nuove, come illustrato nell'esempio precedente. La seconda istruzione concede agli utente l'autorizzazione per utilizzare l'interfaccia di rete, il volume, la coppia di chiavi, il gruppo di sicurezza e le risorse della sottorete per l'operazione `ec2:RunInstances`. Questi elementi sono obbligatori per l'avvio di un'istanza in un VPC. Per ulteriori informazioni sull'uso dell'operazione `ec2:RunInstances`, consulta [Avvia istanze () RunInstances](ExamplePolicies_EC2.md#iam-example-runinstances). La terza e la quarta istruzione concedono agli utenti l'autorizzazione per utilizzare rispettivamente le risorse dell'istanza e le risorse dell'AMI, ma solo se l'istanza è un'istanza `t2.micro` e solo se l'AMI è di proprietà di Amazon o di determinati partner sicuri e verificati.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeInstances",
         "ec2:DescribeImages",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeKeyPairs", 
         "ec2:CreateKeyPair", 
         "ec2:DescribeVpcs", 
         "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", 
         "ec2:CreateSecurityGroup", 
         "ec2:AuthorizeSecurityGroupIngress"
	  ],
	  "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action":"ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:network-interface/*",
         "arn:aws:ec2:us-east-2:111122223333:volume/*",
         "arn:aws:ec2:us-east-2:111122223333:key-pair/*",
         "arn:aws:ec2:us-east-2:111122223333:security-group/*",
         "arn:aws:ec2:us-east-2:111122223333:subnet/subnet-1a2b3c4d"
      ]
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:instance/*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:InstanceType": "t2.micro"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": "ec2:RunInstances",
      "Resource": [ 
            "arn:aws:ec2:us-east-2::image/ami-*"
      ],
      "Condition": {
         "StringEquals": {
            "ec2:Owner": "amazon"
         }
      }
   }
   ]
}
```

------

**Limitazione dell'accesso a parametri Systems Manager specifici**

La policy seguente concede l'accesso all'utilizzo di parametri Systems Manager con un nome specifico.

La prima istruzione concede agli utenti l'autorizzazione per visualizzare parametri Systems Manager quando si seleziona un'AMI nella procedura guidata per l'avvio dell'istanza. La seconda istruzione concede agli utenti l'autorizzazione a utilizzare solo i parametri denominati `prod-*`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ssm:DescribeParameters"
      ],
      "Resource": "*"
   },
   {
      "Effect": "Allow",
      "Action": [
         "ssm:GetParameters"
      ],
     "Resource": "arn:aws:ssm:us-east-2:123456123456:parameter/prod-*"
   }
   ]
}
```

------

## Esempio: utilizzo dei gruppi di sicurezza
<a name="ex-security-groups"></a>

**Visualizzazione dei gruppi di sicurezza e aggiunta e rimozione delle regole**

La seguente policy concede agli utenti l'autorizzazione per visualizzare i gruppi di sicurezza nella console Amazon EC2 e per aggiungere e rimuovere le regole in entrata e in uscita e per elencare e modificare le descrizioni delle regole per i gruppi di sicurezza esistenti associati al tag `Department=Test`.

Nella prima istruzione, l'operazione `ec2:DescribeTags` consente agli utenti di visualizzare i tag nella console e ciò semplifica l'identificazione dei gruppi di sicurezza che gli utenti possono modificare.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeSecurityGroups", 
         "ec2:DescribeSecurityGroupRules", 
         "ec2:DescribeTags"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
         "ec2:AuthorizeSecurityGroupIngress", 
         "ec2:RevokeSecurityGroupIngress", 
         "ec2:AuthorizeSecurityGroupEgress", 
         "ec2:RevokeSecurityGroupEgress", 
         "ec2:ModifySecurityGroupRules", 
         "ec2:UpdateSecurityGroupRuleDescriptionsIngress", 
         "ec2:UpdateSecurityGroupRuleDescriptionsEgress"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:security-group/*"
      ],
      "Condition": {
         "StringEquals": {
            "aws:ResourceTag/Department": "Test"
         }
      }
   },
   {
      "Effect": "Allow",
      "Action": [
         "ec2:ModifySecurityGroupRules"
      ],
      "Resource": [
         "arn:aws:ec2:us-east-2:111122223333:security-group-rule/*"
      ]
   }
]}
```

------

**Utilizzo della finestra di dialogo Create Security Group (Crea un gruppo di sicurezza)**

È possibile creare una policy che consenta agli utenti di utilizzare la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** nella console Amazon EC2. Per utilizzare questa finestra di dialogo, gli utenti devono disporre dell'autorizzazione per l'uso almeno delle seguenti operazioni API:
+ `ec2:CreateSecurityGroup`: per creare un nuovo gruppo di sicurezza. 
+ `ec2:DescribeVpcs`: Per visualizzare un elenco di quelli esistenti VPCs nell'elenco **VPC.**

Con queste autorizzazioni, gli utenti possono creare un nuovo gruppo di sicurezza, ma non possono aggiungervi regole. Per utilizzare regole nella finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)**, è possibile aggiungere le seguenti operazioni API alla policy:
+ `ec2:AuthorizeSecurityGroupIngress`: per aggiungere le regole in entrata.
+ `ec2:AuthorizeSecurityGroupEgress`: per aggiungere le regole in uscita al gruppo di sicurezza VPC.
+ `ec2:RevokeSecurityGroupIngress`: per modificare o eliminare le regole in uscita esistenti. Ciò risulta utile per consentire agli utenti di utilizzare la caratteristica **Copy to new (Copia su nuovo)** nella console. Questa caratteristica consente di aprire la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** e popolarlo con le stesse regole del gruppo di sicurezza selezionato. 
+ `ec2:RevokeSecurityGroupEgress`: per modificare o eliminare le regole in uscita per i gruppi di sicurezza VPC. Ciò risulta utile per consentire agli utenti di modificare o eliminare la regola in uscita di default che autorizza tutto il traffico in uscita.
+ `ec2:DeleteSecurityGroup`: da specificare quando non è possibile salvare regole non valide. La console crea innanzitutto il gruppo di sicurezza e quindi aggiunge le regole specificate. Se le regole non sono valide, l'operazione ha esito negativo e la console cerca di eliminare il gruppo di sicurezza. L'utente rimane nella finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** in modo da consentirgli di correggere la regola non valida e provare a creare di nuovo il gruppo di sicurezza. Questa operazione API non è obbligatoria, ma se un utente non riceve l'autorizzazione per utilizzarla e tenta di creare un gruppo di sicurezza con regole non valide, il gruppo di sicurezza viene creato senza regole. L'utente dovrà quindi aggiungere le regole in un secondo momento.
+ `ec2:UpdateSecurityGroupRuleDescriptionsIngress`: per aggiungere o aggiornare le descrizioni delle regole dei gruppi di sicurezza in entrata (inbound).
+ `ec2:UpdateSecurityGroupRuleDescriptionsEgress`: per aggiungere o aggiornare le descrizioni delle regole del gruppo di sicurezza in uscita (outbound).
+ `ec2:ModifySecurityGroupRules`: per modificare modify-security-group-rules.
+ `ec2:DescribeSecurityGroupRules`: per elencare le regole dei gruppi di sicurezza.

La seguente policy concede agli utenti l'autorizzazione per utilizzare la finestra di dialogo **Create Security Group (Crea un gruppo di sicurezza)** e per creare le regole in entrata e in uscita per i gruppi di sicurezza associati a un VPC specifico (`vpc-1a2b3c4d`). Gli utenti possono creare i gruppi di sicurezza per EC2-Classic o un altro VPC, ma non possono aggiungervi regole. In modo analogo, gli utenti non possono aggiungere regole ai gruppi di sicurezza esistenti che non sono associati al VPC `vpc-1a2b3c4d`. Agli utenti viene inoltre concesso l'autorizzazione per visualizzare tutti i gruppi di sicurezza nella console. Ciò aiuta gli utenti a identificare i gruppi di sicurezza a cui possono aggiungere regole in entrata. Inoltre, questa policy concede agli utenti l'autorizzazione per eliminare i gruppi di sicurezza associati al VPC `vpc-1a2b3c4d`. 

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeSecurityGroups", 
        "ec2:CreateSecurityGroup", 
        "ec2:DescribeVpcs"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DeleteSecurityGroup", 
        "ec2:AuthorizeSecurityGroupIngress", 
        "ec2:AuthorizeSecurityGroupEgress"
      ],
      "Resource": "arn:aws:ec2:us-east-2:111122223333:security-group/*",
      "Condition":{
         "ArnEquals": {
            "ec2:Vpc": "arn:aws:ec2:us-east-2:111122223333:vpc/vpc-1a2b3c4d"
         }
      }
    }
   ]
}
```

------

## Esempio: utilizzo degli indirizzi IP elastici
<a name="ex-eip"></a>

Per consentire agli utenti di visualizzare gli indirizzi IP elastici nella console Amazon EC2, è necessario concedergli l'autorizzazione per utilizzare l'operazione `ec2:DescribeAddresses`.

Per consentire agli utenti di utilizzare gli indirizzi IP elastici, puoi aggiungere le seguenti operazioni alla policy.
+ `ec2:AllocateAddress`: Per allocare un indirizzo IP elastico.
+ `ec2:ReleaseAddress`: per rilasciare un indirizzo IP elastico.
+ `ec2:AssociateAddress`: per associare un indirizzo IP elastico a un'istanza o un'interfaccia di rete.
+ `ec2:DescribeNetworkInterfaces` ed `ec2:DescribeInstances`: Per utilizzare la schermata **Associate address (Associa indirizzo)**. Nella schermata sono visualizzate le istanze disponibili o le interfacce di rete a cui puoi associare un indirizzo IP elastico.
+ `ec2:DisassociateAddress`: per annullare l'associazione di un indirizzo IP elastico a un'istanza o un'interfaccia di rete.

La seguente policy consente agli utenti di visualizzare, allocare e associare indirizzi IP elastici alle istanze. Gli utenti non possono associare gli indirizzi IP elastici alle interfacce di rete, annullare l'associazione degli indirizzi IP elastici o rilasciarli.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeAddresses",
                "ec2:AllocateAddress",
                "ec2:DescribeInstances",
                "ec2:AssociateAddress"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Esempio: utilizzo delle Istanze riservate
<a name="ex-reservedinstances"></a>

La seguente policy consente agli utenti di visualizzare e modificare le istanze riservate nell'account, nonché acquistare nuove istanze riservate nella Console di gestione AWS.

Questa policy consente agli utenti di visualizzare tutte le Istanze riservate, così come Istanze on demand, nell'account. Non è possibile impostare le autorizzazioni a livello di risorsa per singole Istanze riservate.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [{
      "Effect": "Allow",
      "Action": [
         "ec2:DescribeReservedInstances", 
         "ec2:ModifyReservedInstances",
         "ec2:PurchaseReservedInstancesOffering", 
         "ec2:DescribeInstances",
         "ec2:DescribeInstanceTypes",
         "ec2:DescribeAvailabilityZones", 
         "ec2:DescribeReservedInstancesOfferings"
      ],
      "Resource": "*"
   }
   ]
}
```

------

L'operazione `ec2:DescribeAvailabilityZones` è necessaria affinché la console Amazon EC2 sia in grado di visualizzare le informazioni sulle zone di disponibilità in cui è possibile acquistare le Istanze riservate. L'operazione `ec2:DescribeInstances` non è obbligatoria, ma fa sì che l'utente possa visualizzare le istanze nell'account e possa acquistare prenotazioni conformi alle specifiche corrette.

Puoi modificare le operazioni API per limitare l'accesso utente, ad esempio la rimozione di `ec2:DescribeInstances` ed `ec2:DescribeAvailabilityZones` indica che l'utente dispone dell'accesso in sola lettura.

# AWS politiche gestite per Amazon EC2
<a name="security-iam-awsmanpol"></a>

Per aggiungere autorizzazioni a utenti, gruppi e ruoli, è più facile utilizzare le politiche AWS gestite piuttosto che scriverle autonomamente. La [creazione di policy gestite dai clienti IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html) che forniscono al team solo le autorizzazioni di cui ha bisogno richiede tempo e competenza. Per iniziare rapidamente, puoi utilizzare le nostre politiche AWS gestite. Queste politiche coprono casi d'uso comuni e sono disponibili nel tuo AWS account. Per ulteriori informazioni sulle policy AWS gestite, consulta le [policy AWS gestite](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) nella *IAM User Guide*.

AWS i servizi mantengono e aggiornano le politiche AWS gestite. Non è possibile modificare le autorizzazioni nelle politiche AWS gestite. I servizi occasionalmente aggiungono altre autorizzazioni a una policy gestita da AWS per supportare nuove funzionalità. Questo tipo di aggiornamento interessa tutte le identità (utenti, gruppi e ruoli) a cui è collegata la policy. È più probabile che i servizi aggiornino una policy gestita da AWS quando viene avviata una nuova funzionalità o quando diventano disponibili nuove operazioni. I servizi non rimuovono le autorizzazioni da una policy AWS gestita, quindi gli aggiornamenti delle policy non comprometteranno le autorizzazioni esistenti.

Inoltre, AWS supporta politiche gestite per le funzioni lavorative che si estendono su più servizi. Ad esempio, la policy **ReadOnlyAccess** AWS gestita fornisce l'accesso in sola lettura a tutti i AWS servizi e le risorse. Quando un servizio lancia una nuova funzionalità, AWS aggiunge autorizzazioni di sola lettura per nuove operazioni e risorse. Per l’elenco e la descrizione delle policy di funzione dei processi, consultare la sezione [Policy gestite da AWS per funzioni di processi](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) nella *Guida per l’utente di IAM*.

## AWS politica gestita: AmazonEC2FullAccess
<a name="security-iam-awsmanpol-AmazonEC2FullAccess"></a>

Puoi collegare la policy `AmazonEC2FullAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso completo ad Amazon EC2.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2FullAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AmazonEC2ReadOnlyAccess
<a name="security-iam-awsmanpol-AmazonEC2ReadOnlyAccess"></a>

Puoi collegare la policy `AmazonEC2ReadOnlyAccess` alle identità IAM. Questa policy concede le autorizzazioni che consentono l'accesso in sola lettura ad Amazon EC2.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ReadOnlyAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AmazonEC2ImageReferencesAccessPolicy
<a name="security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy"></a>

È possibile allegare la policy `AmazonEC2ImageReferencesAccessPolicy` alle identità IAM. Questa policy concede le autorizzazioni necessarie per utilizzare l'DescribeImageReferences API EC2, inclusa l'autorizzazione a visualizzare le istanze EC2, i modelli di avvio, i parametri di Systems Manager e le ricette di Image Builder. La politica supporta il `IncludeAllResourceTypes` flag e continuerà a funzionare quando AWS aggiungerà il supporto per nuovi tipi di risorse, eliminando la necessità di futuri aggiornamenti delle politiche.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2CapacityReservationFleetRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2CapacityReservationFleet** per consentire al servizio di creare, modificare e annullare le prenotazioni della capacità in un parco di prenotazioni della capacità per conto dell’utente. Per ulteriori informazioni, consulta [Utilizzo di ruoli collegati ai servizi per il parco istanze di prenotazione della capacitàUtilizzo di ruoli collegati ai servizi per EC2 Capacity Manager](using-service-linked-roles.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityReservationFleetRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityReservationFleetRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2FleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2FleetServiceRolePolicy"></a>

Questa policy è collegato al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2Fleet** per consentire al parco istanze EC2 di richiedere, avviare, terminare e taggare le istanze per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato al servizio per parco istanze EC2](ec2-fleet-prerequisites.md#ec2-fleet-service-linked-role).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2FleetServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2FleetServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2SpotFleetServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotFleetServiceRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2SpotFleet** per consentire al parco istanze spot di avviare e gestire le istanze per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato al servizio per il parco istanze spot](spot-fleet-prerequisites.md#service-linked-roles-spot-fleet-requests).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotFleetServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotFleetServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2SpotServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2SpotServiceRolePolicy"></a>

Questa policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2Spot** per consentire ad Amazon EC2 di avviare e gestire le istanze spot per il proprio conto. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per le richieste di istanza spot](service-linked-roles-spot-instance-requests.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2SpotServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2VssSnapshotPolicy
<a name="security-iam-awsmanpol-AWSEC2VssSnapshotPolicy"></a>

Puoi collegare questa policy gestita al ruolo del profilo dell'istanza IAM che usi per le tue istanze Amazon EC2 Windows. La policy garantisce le autorizzazioni per consentire ad Amazon EC2 di creare e gestire snapshot VSS per tuo conto.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2VssSnapshotPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2VssSnapshotPolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: DeclarativePoliciesEC2Report
<a name="security-iam-awsmanpol-DeclarativePoliciesEC2Report"></a>

Questa politica è allegata al ruolo collegato al servizio denominato `AWSServiceRoleForDeclarativePoliciesEC2Report` per fornire l'accesso alla modalità di sola lettura APIs necessaria per generare il rapporto sullo stato dell'account per le politiche dichiarative.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/DeclarativePoliciesEC2Report.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/DeclarativePoliciesEC2Report.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: EC2FastLaunchFullAccess
<a name="security-iam-awsmanpol-EC2FastLaunchFullAccess"></a>

Puoi collegare al tuo profilo dell'istanza o a un altro ruolo IAM la policy `EC2FastLaunchFullAccess`. Questa policy garantisce l'accesso completo alle azioni di avvio rapido EC2 e alle autorizzazioni mirate come segue.

**Dettagli delle autorizzazioni**
+ **Avvio rapido EC2**: viene concesso l'accesso amministrativo, in modo che il ruolo possa abilitare o disabilitare l'avvio rapido EC2 e descrivere le immagini dell'avvio rapido EC2..
+ **Amazon EC2**: l'accesso è concesso per le operazioni di Amazon RunInstances EC2CreateTags, Descrivi e Create and Modify Launch Template. È inoltre consentito l’accesso per creare risorse di rete e gruppi di sicurezza, autorizzare regole di ingresso ed eliminare risorse create da EC2 Fast Launch.
+ **IAM**: viene concesso l'accesso per ottenere e utilizzare i profili dell'istanza il cui nome contiene `ec2fastlaunch` per la creazione del ruolo collegato al servizio EC2FastLaunchServiceRolePolicy.
+ **CloudFormation**— A EC2 Fast Launch viene concesso l'accesso per descrivere e creare CloudFormation stack e per eliminare gli stack da esso creati.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchFullAccess.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: AWSEC2CapacityManagerServiceRolePolicy
<a name="security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy"></a>

Questa policy è associata al ruolo collegato ai servizi denominato per consentire **AWSServiceRoleForEC2CapacityManager**a EC2 Capacity Manager di gestire le risorse di capacità e integrarsi con AWS Organizations per tuo conto. Per ulteriori informazioni, consulta [Service-linked roles for EC2 Capacity Manager](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-service-linked-roles-cm.html).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityManagerServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSEC2CapacityManagerServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: EC2FastLaunchServiceRolePolicy
<a name="security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy"></a>

La policy è collegata al ruolo collegato ai servizi denominato **AWSServiceRoleForEC2FastLaunch** per consentire Amazon EC2 per creare e gestire una serie di snapshot pre-provisioning che riducono il tempo necessario all'avvio delle istanze dall'AMI abilitato all'avvio rapido EC2. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per EC2 Fast Launch.](slr-windows-fast-launch.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchServiceRolePolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2FastLaunchServiceRolePolicy.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: Ec2InstanceConnect
<a name="Ec2InstanceConnect"></a>

È possibile allegare la policy `Ec2InstanceConnect` alle identità IAM. Questa policy concede autorizzazioni che permettono ai clienti di chiamare EC2 Instance Connect per pubblicare chiavi temporanee sulle proprie istanze EC2 e connettersi tramite ssh o tramite l’EC2 Instance Connect CLI.

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceConnect.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/EC2InstanceConnect.html) nella * Guida di riferimento sulle policy gestite da AWS *.

## AWS politica gestita: Ec2InstanceConnectEndpoint
<a name="Ec2InstanceConnectEndpoint"></a>

Questa policy è associata a un ruolo collegato al servizio denominato **AWSServiceRoleForEC2InstanceConnect**per consentire a EC2 Instance Connect Endpoint di eseguire azioni per tuo conto. Per ulteriori informazioni, consulta [Ruolo collegato ai servizi per l’endpoint EC2 Instance Connect](eice-slr.md).

Per vedere le autorizzazioni per questa policy, consulta [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/Ec2InstanceConnectEndpoint.html) nella * Guida di riferimento sulle policy gestite da AWS *. Per una descrizione degli aggiornamenti a questa policy, consulta [Amazon EC2 si aggiorna alle AWS politiche gestite](#security-iam-awsmanpol-updates).

## Amazon EC2 si aggiorna alle AWS politiche gestite
<a name="security-iam-awsmanpol-updates"></a>

Visualizza i dettagli sugli aggiornamenti delle politiche AWS gestite per Amazon EC2 da quando questo servizio ha iniziato a tracciare queste modifiche.


| Modifica | Descrizione | Data | 
| --- | --- | --- | 
|  [AWSEC2CapacityManagerServiceRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityManagerServiceRolePolicy): nuova policy  | Amazon EC2 ha aggiunto questa policy per consentirti di gestire le risorse di capacità e di integrarti con AWS Organizations per tuo conto. | 15 ottobre 2025 | 
|  [AmazonEC2ImageReferencesAccessPolicy](#security-iam-awsmanpol-AmazonEC2ImageReferencesAccessPolicy): nuova policy  | Amazon EC2 ha aggiunto questa policy per fornire l'autorizzazione a scansionare tutti i tipi di risorse supportati dall'API DescribeImageReferences EC2. | 26 agosto 2025 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint)— Politica aggiornata | Per supportare la modifica degli endpoint Instance Connect esistenti, Amazon EC2 ha aggiornato questa policy aggiungendo autorizzazioni per assegnare e annullare l’assegnazione di indirizzi IPv6 e modificare i gruppi di sicurezza sulle interfacce di rete create dall’endpoint EC2 Instance Connect. Amazon EC2 ha aggiornato questa policy anche per sostituire l’operatore di condizione Null con l’operatore di condizione StringLike. | 31 luglio 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy)— Politica aggiornata | Per aiutare a prevenire le risorse orfane, Amazon EC2 ha aggiornato questa policy aggiungendo l’autorizzazione a descrivere volumi, attributi dei volumi e interfacce di rete, nonché a eliminare volumi e interfacce di rete creati da EC2 Fast Launch. | 17 luglio 2025 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess)— Politica aggiornata | Amazon EC2 ha aggiornato questa policy per includere le operazioni Create and Modify Launch Template, per creare risorse di rete e gruppi di sicurezza, per autorizzare le regole di ingresso ed eliminare le risorse create da EC2 Fast Launch. Può inoltre descrivere e creare CloudFormation stack ed eliminare gli stack creati da EC2 Fast Launch. | 14 maggio 2025 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy)— Politica aggiornata | Amazon EC2 ha aggiornato questa policy per aggiungere Amazon EventBridge Access per creare e gestire le regole degli eventi per EC2 Fast Launch. Inoltre, EC2 Fast Launch ora può descrivere CloudFormation gli stack, avviare un'istanza da un'AMI associata AWS License Manager, ottenere un elenco di AWS KMS sovvenzioni create che possono essere ritirate ed eliminare i modelli di avvio che ha creato. | 14 maggio 2025 | 
| [AWSEC2CapacityReservationFleetRolePolicy](#security-iam-awsmanpol-AWSEC2CapacityReservationFleetRolePolicy)— Autorizzazioni aggiornate | Amazon EC2 ha aggiornato la policy gestita AWSEC2CapacityReservationFleetRolePolicy per utilizzare l’operatore di condizione ArnLike anziché l’operatore di condizione StringLike. | 03 marzo 2025 | 
| [AmazonEC2ReadOnlyAccess](#security-iam-awsmanpol-AmazonEC2ReadOnlyAccess): autorizzazioni aggiunte | Amazon EC2 ha aggiunto un’autorizzazione che consente di recuperare i gruppi di sicurezza utilizzando l’operazione GetSecurityGroupsForVpc. | 27 dicembre 2024 | 
| [EC2FastLaunchFullAccess](#security-iam-awsmanpol-EC2FastLaunchFullAccess): nuova policy | Amazon EC2 ha aggiunto questa policy per eseguire azioni API relative alla funzionalità di avvio rapido EC2 da un'istanza. La policy può essere allegata al profilo dell'istanza per un'istanza lanciata da un'AMI abilitata per l'avvio rapido EC2. | 14 maggio 2024 | 
| [AWSEC2VssSnapshotPolicy](#security-iam-awsmanpol-AWSEC2VssSnapshotPolicy): nuova policy | Amazon EC2 ha aggiunto la AWSEC2VssSnapshotPolicy policy che contiene le autorizzazioni per creare e aggiungere tag agli snapshot di Amazon Machine Images (AMIs) e EBS. | 28 marzo 2024 | 
| [Ec2InstanceConnectEndpoint](#Ec2InstanceConnectEndpoint): nuova policy | Amazon EC2 ha aggiunto la policy Ec2InstanceConnectEndpoint. Questa policy è associata al ruolo AWSServiceRoleForEC2InstanceConnectcollegato al servizio, per consentire ad Amazon EC2 di eseguire azioni per tuo conto quando crei un endpoint EC2 Instance Connect. | 24 gennaio 2023 | 
| [EC2FastLaunchServiceRolePolicy](#security-iam-awsmanpol-EC2FastLaunchServiceRolePolicy): nuova policy | Amazon EC2 ha aggiunto la funzionalità EC2 Fast Launch per consentire AMIs a Windows di avviare le istanze più velocemente creando una serie di snapshot preimpostate. | 26 novembre 2021 | 
| Amazon EC2 ha iniziato a monitorare le modifiche | Amazon EC2 ha iniziato a tracciare le modifiche alle sue AWS politiche gestite | 1° marzo 2021 | 

# Ruoli IAM per Amazon EC2
<a name="iam-roles-for-amazon-ec2"></a>

Le applicazioni devono firmare le proprie richieste API con AWS credenziali. Pertanto, se sei uno sviluppatore di applicazioni, avrai bisogno di una strategia per gestire le credenziali per le applicazioni eseguite su istanze EC2. Ad esempio, puoi distribuire in modo sicuro le credenziali AWS alle istanze, consentendo alle applicazioni eseguite su tali istanze di utilizzare le credenziali per firmare le richieste, e contemporaneamente proteggere le credenziali da altri utenti. Tuttavia, è difficile distribuire in modo sicuro le credenziali a ciascuna istanza, specialmente a quelle AWS create per tuo conto, come le istanze Spot o le istanze nei gruppi di Auto Scaling. Inoltre, devi essere in grado di aggiornare le credenziali su ogni istanza quando ruoti le credenziali. AWS 

Abbiamo sviluppato i ruoli IAM in modo da consentire alle applicazioni di eseguire in modo sicuro le richieste API dalle istanze senza la necessità di gestire le credenziali di sicurezza utilizzate dalle applicazioni stesse. Invece di creare e distribuire AWS le tue credenziali, puoi delegare l'autorizzazione a effettuare richieste API utilizzando i ruoli IAM nel modo seguente:

1. Crea un ruolo IAM.

1. Definisci quali account o AWS servizi possono assumere il ruolo.

1. Definire le operazioni e le risorse API che l'applicazione può utilizzare dopo l'assunzione del ruolo.

1. Specificare il ruolo quando avvii l'istanza o quando associ il ruolo a un'istanza esistente.

1. Impostare l'applicazione in modo che recuperi un set di credenziali temporanee e le utilizzi.

Ad esempio, puoi utilizzare i ruoli IAM per concedere le autorizzazioni alle applicazioni eseguite su istanze che devono utilizzare un bucket in Amazon S3. Puoi specificare le autorizzazioni per i ruoli IAM mediante la creazione di una policy in formato JSON. Si tratta di policy simili a quelle create per gli utenti . Se modifichi un ruolo, la modifica verrà propagata a tutte le istanze.

**Nota**  
Le credenziali del ruolo IAM di Amazon EC2 non sono soggette alla durata massima delle sessioni configurata nel ruolo. Per ulteriori informazioni, consulta [Metodi per assumere un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage-assume.html) nella *Guida per l’utente di IAM*.

Durante la creazione di ruoli IAM, associa policy IAM con privilegi minimi che limitano l'accesso alle chiamate API specifiche richieste dall'applicazione. Per la Windows-to-Windows comunicazione, utilizza gruppi e ruoli di Windows ben definiti e ben documentati per concedere l'accesso a livello di applicazione tra le istanze di Windows. Gruppi e ruoli consentono ai clienti di definire le autorizzazioni a livello di cartella NTFS con privilegi minimi per l'applicazione e le autorizzazioni a livello di cartella NTFS per limitare l'accesso ai requisiti specifici dell'applicazione.

È possibile associare un solo ruolo IAM a un'istanza, ma è possibile associare lo stesso ruolo a molte istanze. Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai [ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*.

Puoi applicare le autorizzazioni a livello di risorsa alle policy IAM per controllare la capacità degli utenti di collegare, sostituire o scollegare i ruoli IAM per un'istanza. Per ulteriori informazioni, consulta [Autorizzazioni a livello di risorsa supportate per le operazioni API Amazon EC2](iam-policies-for-amazon-ec2.md#ec2-supported-iam-actions-resources) e l'esempio seguente: [Esempio: utilizzo dei ruoli IAM](ExamplePolicies_EC2.md#iam-example-iam-roles).

**Topics**
+ [

## Profili delle istanze
](#ec2-instance-profile)
+ [

## Caso d'uso delle autorizzazioni
](#generate-policy-for-iam-role)
+ [Recuperare le credenziali di sicurezza](instance-metadata-security-credentials.md)
+ [Autorizzazione a collegare un ruolo a un'istanza](permission-to-pass-iam-roles.md)
+ [Collega un ruolo a un'istanza](attach-iam-role.md)
+ [Ruoli di identità dell'istanza](#ec2-instance-identity-roles)

## Profili delle istanze
<a name="ec2-instance-profile"></a>

Amazon EC2 utilizza un *profilo dell'istanza* come container per un ruolo IAM. Quando crei un ruolo IAM utilizzando la console IAM, la console crea automaticamente un profilo dell'istanza e le assegna lo stesso nome del ruolo a cui corrisponde. Se utilizzi la console Amazon EC2 per avviare un'istanza con un ruolo IAM o per collegare un ruolo IAM a un'istanza, scegli il ruolo in base all'elenco di nomi di profilo delle istanze. 

Se utilizzi l' AWS CLI API o un AWS SDK per creare un ruolo, crei il ruolo e il profilo dell'istanza come azioni separate, con nomi potenzialmente diversi. Se poi utilizzi l' AWS CLI API o un AWS SDK per avviare un'istanza con un ruolo IAM o per associare un ruolo IAM a un'istanza, specifica il nome del profilo dell'istanza. 

Un profilo dell'istanza può contenere solo un ruolo IAM. Puoi includere un ruolo IAM in più profili dell’istanza.

Per aggiornare le autorizzazioni di un’istanza, sostituisci il suo profilo dell’istanza. Sconsigliamo di rimuovere un ruolo da un profilo dell’istanza, poiché è necessario attendere fino a un’ora prima che la modifica abbia effetto.

Per ulteriori informazioni, consulta [Use instance profiles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) nella *Guida per l’utente IAM*.

## Caso d'uso delle autorizzazioni
<a name="generate-policy-for-iam-role"></a>

Quando si crea per la prima volta un ruolo IAM per le applicazioni, a volte è possibile concedere altre autorizzazioni oltre a quanto richiesto. Prima di avviare l'applicazione nell'ambiente di produzione, è possibile generare una policy IAM basata sull'attività di accesso per un ruolo IAM. IAM Access Analyzer esamina AWS CloudTrail i log e genera un modello di policy che contiene le autorizzazioni utilizzate dal ruolo nell'intervallo di date specificato. È possibile utilizzare il modello per creare una policy gestita con autorizzazioni granulari e quindi collegarla al ruolo IAM. In questo modo, concedi solo le autorizzazioni necessarie al ruolo per interagire con le AWS risorse per il tuo caso d'uso specifico. In questo modo è possibile rispettare la best practice per [concedere il minimo privilegio](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege). Per ulteriori informazioni, consulta [Generazione delle policy per IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-generation.html) nella *Guida per l'utente IAM*.

# Recupero delle credenziali di sicurezza dai metadati delle istanze
<a name="instance-metadata-security-credentials"></a>

Un'applicazione in un'istanza recupera le credenziali di sicurezza fornite dal ruolo dalla voce `iam/security-credentials/`*role-name* nei metadati dell'istanza. All'applicazione vengono concesse le autorizzazioni per le operazioni e le risorse definite per il ruolo tramite le credenziali di sicurezza associate al ruolo. Queste credenziali di sicurezza sono temporanee e sono caratterizzate da un piano di rotazione automatica. Ciò significa che rendiamo disponibili nuove credenziali almeno cinque minuti prima della scadenza delle vecchie credenziali.

Per ulteriori informazioni sui metadati delle istanze, consulta [Utilizzo dei metadati dell'istanza per gestire l'istanza EC2](ec2-instance-metadata.md).

**avvertimento**  
Se utilizzi servizi che usano metadati delle istanze con i ruoli IAM, assicurati di non esporre le credenziali quando i servizi effettuano chiamate HTTP per tuo conto. I tipi di servizi che potrebbero esporre le credenziali includono proxy HTTP, servizi di HTML/CSS convalida e processori XML che supportano l'inclusione XML.

Per i tuoi carichi di lavoro Amazon EC2, ti consigliamo di recuperare le credenziali di sessione utilizzando il metodo descritto di seguito. Queste credenziali dovrebbero consentire al carico di lavoro di effettuare richieste di API AWS , senza dover utilizzare `sts:AssumeRole` per assumere lo stesso ruolo già associato all'istanza. A meno che non sia necessario passare i tag di sessione per il controllo degli accessi basato sugli attributi (ABAC) o passare una policy di sessione per limitare ulteriormente le autorizzazioni del ruolo, tali chiamate di assunzione del ruolo non sono necessarie in quanto creano un nuovo set delle stesse credenziali di sessione del ruolo temporaneo.

Se il carico di lavoro utilizza un ruolo per assumere se stesso, devi creare una policy di attendibilità che consenta esplicitamente a tale ruolo di assumere se stesso. Se non crei la policy di attendibilità, ricevi un errore `AccessDenied`. Per ulteriori informazioni, consulta [Update a role trust policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-trust-policy.html) nella *Guida per l’utente IAM*.

------
#### [ IMDSv2 ]

**Linux**  
Esegui il seguente comando dalla tua istanza Linux per recuperare le credenziali di sicurezza per un ruolo IAM.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
    && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Esegui il seguente cmdlet dalla tua istanza Windows per recuperare le credenziali di sicurezza per un ruolo IAM.

```
[string]$token = Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} `
    -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod `
    -Headers @{"X-aws-ec2-metadata-token" = $token} `
    -Method GET -Uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------
#### [ IMDSv1 ]

**Linux**  
Esegui il seguente comando dalla tua istanza Linux per recuperare le credenziali di sicurezza per un ruolo IAM.

```
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

**Windows**  
Esegui il seguente cmdlet dalla tua istanza Windows per recuperare le credenziali di sicurezza per un ruolo IAM.

```
Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/iam/security-credentials/role-name
```

------

Di seguito è riportato un output di esempio. Se non riesci a recuperare le credenziali di sicurezza, consulta [Non riesco ad accedere alle credenziali di sicurezza temporanee sulla mia istanza EC2](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_iam-ec2.html#troubleshoot_iam-ec2_no-keys) nella *Guida per l'utente IAM*.

```
{
  "Code" : "Success",
  "LastUpdated" : "2012-04-26T16:39:16Z",
  "Type" : "AWS-HMAC",
  "AccessKeyId" : "ASIAIOSFODNN7EXAMPLE",
  "SecretAccessKey" : "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
  "Token" : "token",
  "Expiration" : "2017-05-17T15:09:54Z"
}
```

Per le applicazioni e PowerShell i comandi Tools for Windows eseguiti sull'istanza, non è necessario ottenere esplicitamente le credenziali di sicurezza temporanee: Tools for Windows ottengono PowerShell automaticamente le credenziali dal AWS SDKs servizio AWS CLI di metadati dell'istanza EC2 e le utilizzano. AWS CLI Per eseguire una chiamata esternamente all'istanza utilizzando le credenziali di sicurezza temporanee, ad esempio per testare le policy IAM, è necessario fornire la chiave di accesso, la chiave segreta e il token di sessione. *Per ulteriori informazioni, consulta [Utilizzo delle credenziali di sicurezza temporanee per richiedere l'accesso alle risorse nella Guida per l'utente IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html). AWS *

# Concessione dell'autorizzazione a collegare un ruolo IAM a un'istanza
<a name="permission-to-pass-iam-roles"></a>

Le tue identità Account AWS, come gli utenti IAM, devono disporre di autorizzazioni specifiche per avviare un'istanza Amazon EC2 con un ruolo IAM, associare un ruolo IAM a un'istanza, sostituire il ruolo IAM con un'istanza o scollegare un ruolo IAM da un'istanza. Se necessario, devi concedergli l'autorizzazione per utilizzare le seguenti operazioni API:
+ `iam:PassRole`
+ `ec2:AssociateIamInstanceProfile`
+ `ec2:DisassociateIamInstanceProfile`
+ `ec2:ReplaceIamInstanceProfileAssociation`

**Nota**  
Se specifichi la risorsa per `iam:PassRole` come `*`, ciò garantisce l'accesso per passare uno qualsiasi dei tuoi ruoli IAM a un'istanza. Per seguire la best practice del [privilegio minimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege), specifica i ruoli IAM specifici con`iam:PassRole`, come mostrato nella politica ARNs di esempio riportata di seguito.

**Esempio di policy per l'accesso programmatico**  
La seguente policy IAM concede le autorizzazioni per avviare istanze con un ruolo IAM, associare un ruolo IAM a un'istanza o sostituire il ruolo IAM con un'istanza utilizzando l'API Amazon EC2 AWS CLI o l'API di Amazon EC2.

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
         "ec2:RunInstances",
         "ec2:AssociateIamInstanceProfile",
         "ec2:DisassociateIamInstanceProfile",
         "ec2:ReplaceIamInstanceProfileAssociation"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:PassRole",
      "Resource": "arn:aws:iam::123456789012:role/DevTeam*"
    }
  ]
}
```

------

**Requisito aggiuntivo per l'accesso alla console**  
Per concedere le autorizzazioni per eseguire le stesse operazioni mediante la console Amazon EC2, è necessario includere anche l'operazione API `iam:ListInstanceProfiles`.

# Collegamento di un ruolo IAM all'istanza
<a name="attach-iam-role"></a>

Puoi creare un ruolo IAM e collegarlo a un'istanza durante o dopo l'avvio. Puoi inoltre sostituire o scollegare i ruoli IAM.

**Creazione e associazione di un ruolo IAM durante il lancio dell'istanza (consigliato)**

1. Durante il lancio dell'istanza EC2, espandi i dettagli di **Advanced**.

1. Nella sezione **Profilo dell'istanza IAM**, scegli **Crea nuovo ruolo IAM**.

1. Si apre un modulo in linea per la creazione di ruoli, che ti consente di:
   + Specificare **il nome del ruolo** (ad esempio,`EC2-S3-Access-Role`)
   + Definisci le autorizzazioni selezionando politiche AWS gestite o creando politiche personalizzate per la tua istanza

     Ad esempio, per concedere l'accesso a S3, seleziona la policy gestita `AmazonS3ReadOnlyAccess`
   + Rivedi la politica di fiducia che consente di `ec2.amazonaws.com` assumere il ruolo
   + Aggiungi tag opzionali per i metadati

1. Scegli **Crea ruolo**.

   Il ruolo appena creato viene selezionato automaticamente e verrà associato all'istanza tramite un profilo di istanza all'avvio dell'istanza.

**Nota**  
Quando crei un ruolo utilizzando la console durante il lancio dell'istanza, viene creato automaticamente un profilo di istanza con lo stesso nome del ruolo. Il profilo dell'istanza è un contenitore che trasmette le informazioni sul ruolo IAM all'istanza al momento del lancio.

**Importante**  
È possibile associare un solo ruolo IAM a un'istanza, ma è possibile associare lo stesso ruolo a molte istanze.
Associa le politiche IAM con privilegi minimi che limitano l'accesso alle chiamate API specifiche richieste dall'applicazione.

Per ulteriori informazioni sulla creazione e sull'utilizzo dei ruoli IAM, consulta la sezione relativa ai [ruoli](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) nella *Guida per l'utente di IAM*.

**Associare un ruolo IAM esistente durante il lancio dell'istanza**  
Per associare un ruolo IAM esistente a un'istanza al momento del lancio utilizzando la console Amazon EC2, espandi **Advanced** details. Per il **profilo dell'istanza IAM**, seleziona il ruolo IAM dall'elenco a discesa.

**Nota**  
Se hai creato il ruolo IAM utilizzando la console IAM, il profilo dell'istanza creato automaticamente avrà lo stesso nome del ruolo. Se hai creato il tuo ruolo IAM utilizzando l' AWS CLI API o un AWS SDK, potresti aver assegnato al profilo dell'istanza un nome diverso dal ruolo.

Puoi collegare un ruolo IAM a un'istanza in esecuzione o interrotta. Se all'istanza è già associato un ruolo IAM, devi sostituirlo con il nuovo ruolo IAM.

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**Per collegare un ruolo IAM a un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per il **ruolo IAM**, seleziona il profilo dell'istanza IAM.

1. Scegli **Aggiorna ruolo IAM**.

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**Per collegare un ruolo IAM a un'istanza**  
Usa il [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html)comando per associare il ruolo IAM all'istanza. Quando specifici il profilo dell'istanza, puoi utilizzare il nome della risorsa Amazon (ARN) del profilo dell'istanza oppure il relativo nome.

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

------
#### [ PowerShell ]

**Per collegare un ruolo IAM a un'istanza**  
Utilizza il cmdlet [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html).

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

Per sostituire il ruolo IAM su un’istanza che ha già un ruolo IAM collegato, l’istanza deve essere in esecuzione. È possibile eseguire questa operazione se si desidera modificare il ruolo IAM per un'istanza senza scollegare prima quella esistente. Ad esempio, è possibile eseguire questa operazione per verificare che le operazioni API eseguite dalle applicazioni in esecuzione sull'istanza non siano interrotte.

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**Per sostituire un ruolo IAM per un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per il **ruolo IAM**, seleziona il profilo dell'istanza IAM.

1. Scegli **Aggiorna ruolo IAM**.

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**Per sostituire un ruolo IAM per un'istanza**

1. Se necessario, utilizzate il comando [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) per ottenere l'ID dell'associazione.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilizzate il comando [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html). Specifica l’ID associazione per il profilo dell’istanza esistente e l’ARN o il nome del nuovo profilo dell’istanza.

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

------
#### [ PowerShell ]

**Per sostituire un ruolo IAM per un'istanza**

1. Se necessario, utilizzare il [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)cmdlet per ottenere l'ID dell'associazione.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilizza il cmdlet [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html). Specifica l’ID associazione per il profilo dell’istanza esistente e l’ARN o il nome del nuovo profilo dell’istanza.

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

Puoi scollegare un ruolo IAM da un’istanza in esecuzione o arrestata.

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**Per scollegare un ruolo IAM da un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nel menu **Actions** (Operazioni), scegliere **Security ** (Sicurezza), **Modify IAM role** (Modifica ruolo IAM).

1. Per **IAM role (Ruolo IAM)**, scegliere **No IAM Role (Nessun ruolo IAM)**.

1. Scegli **Aggiorna ruolo IAM**.

1. Quando viene richiesta la conferma, inserisci **Scollega**, quindi scegli **Scollega**.

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**Per scollegare un ruolo IAM da un'istanza**

1. Se necessario, utilizza [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) per ottenere l'ID di associazione per il profilo dell'istanza IAM da scollegare.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilizza il comando [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html).

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

------
#### [ PowerShell ]

**Per scollegare un ruolo IAM da un'istanza**

1. Se necessario, utilizzalo [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html)per ottenere l'ID di associazione per il profilo dell'istanza IAM da scollegare.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilizza il cmdlet [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html).

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------

## Ruoli di identità dell'istanza per le istanze Amazon EC2
<a name="ec2-instance-identity-roles"></a>

Ogni istanza Amazon EC2 avviata dispone di un *ruolo di identità dell'istanza* che ne rappresenta l'identità. Un ruolo di identità di istanza è un tipo di ruolo IAM. AWS i servizi e le funzionalità che sono integrati per utilizzare il ruolo di identità dell'istanza possono utilizzarlo per identificare l'istanza nel servizio.

Le credenziali del ruolo di identità dell'istanza sono accessibili dal servizio di metadati dell'istanza (IMDS) in `/identity-credentials/ec2/security-credentials/ec2-instance`. Le credenziali sono costituite da una coppia di chiavi di accesso AWS temporanea e da un token di sessione. Vengono utilizzate per firmare le richieste AWS Sigv4 ai AWS servizi che utilizzano il ruolo di identità dell'istanza. Le credenziali sono presenti nei metadati dell'istanza indipendentemente dal fatto che sull'istanza sia abilitato un servizio o una funzione che fa uso dei ruoli di identità dell'istanza.

I ruoli di identità dell'istanza vengono creati automaticamente all'avvio di un'istanza, non dispongono di alcun documento relativo alla policy di affidabilità ruolo e non sono soggetti a policy di identità o risorse.

### Servizi supportati
<a name="iir-supported-services"></a>

I seguenti AWS servizi utilizzano il ruolo di identità dell'istanza:
+ **Amazon EC2**: [EC2 Instance Connect](connect-linux-inst-eic.md) utilizza il ruolo di identità dell'istanza per aggiornare le chiavi host di un'istanza Linux.
+ **Amazon GuardDuty** — [GuardDuty Runtime Monitoring](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring.html) utilizza il ruolo di identità dell'istanza per consentire all'agente runtime di inviare telemetria di sicurezza all'endpoint GuardDuty VPC.
+ **AWS Lambda**— [Lambda Managed Instances](https://docs.aws.amazon.com/lambda/latest/dg/lambda-managed-instances.html) utilizza il ruolo di identità dell'istanza per gli hook del ciclo di vita, la telemetria e la distribuzione degli artefatti.
+ **AWS Security Token Service (AWS STS)** — Le credenziali del ruolo di identità dell'istanza possono essere utilizzate con l'azione. AWS STS [https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetCallerIdentity.html)
+ **AWS Systems Manager**— Quando si utilizza la [configurazione predefinita di gestione dell'host](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html), AWS Systems Manager utilizza l'identità fornita dal ruolo di identità dell'istanza per registrare le istanze EC2. Dopo aver identificato l'istanza, Systems Manager può passare il ruolo IAM `AWSSystemsManagerDefaultEC2InstanceManagementRole` all'istanza.

I ruoli di identità delle istanze non possono essere utilizzati con altri AWS servizi o funzionalità perché non hanno un'integrazione con i ruoli di identità delle istanze.

### ARN del ruolo di identità dell'istanza
<a name="iir-arn"></a>

L'ARN del ruolo di identità dell'istanza presenta il formato seguente:

```
arn:aws-partition:iam::account-number:assumed-role/aws:ec2-instance/instance-id
```

Esempio:

```
arn:aws:iam::0123456789012:assumed-role/aws:ec2-instance/i-1234567890abcdef0
```

Per ulteriori informazioni ARNs, consulta [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) nella *IAM User Guide*.

# Gestione degli aggiornamenti per le istanze Amazon EC2
<a name="update-management"></a>

Ti consigliamo di applicare patch, aggiornare e proteggere regolarmente il sistema operativo e le applicazioni sulle istanze EC2. Puoi utilizzare [Gestione patch di AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html) per automatizzare il processo di installazione degli aggiornamenti correlati alla sicurezza per il sistema operativo e le applicazioni.

Per le istanze EC2 in un gruppo con scalabilità automatica, puoi utilizzare il runbook [https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-patchasginstance.html](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-aws-patchasginstance.html) per evitare che le istanze sottoposte a patch vengano sostituite. In alternativa, puoi utilizzare qualsiasi servizio di aggiornamento automatico o processi consigliati per installare gli aggiornamenti che sono forniti dal fornitore dell'applicazione.

**Resources**
+ **AL2023**— [Aggiornamento AL2023](https://docs.aws.amazon.com/linux/al2023/ug/updating.html) nella *Guida per l'utente di Amazon Linux 2023*
+ **AL2**— [Gestisci il software sulla tua istanza Amazon Linux 2](https://docs.aws.amazon.com/linux/al2/ug/managing-software.html) nella *Guida per l'utente di Amazon Linux 2*
+ **Istanze Windows**: [Gestione degli aggiornamenti](ec2-windows-security-best-practices.md#ec2-windows-update-management)

# Procedure ottimali relative alla sicurezza delle istanze Windows
<a name="ec2-windows-security-best-practices"></a>

Si consiglia di seguire queste procedure ottimali relative alla sicurezza delle istanze Windows.

**Topics**
+ [

## Procedure ottimali relative alla sicurezza di alto livello
](#high-level-security)
+ [

## Gestione degli aggiornamenti
](#ec2-windows-update-management)
+ [

## Gestione della configurazione
](#configuration-management)
+ [

## Gestione delle modifiche
](#change-management)
+ [

## Audit e responsabilità istanze Windows Amazon EC2
](#audit-accountability)

## Procedure ottimali relative alla sicurezza di alto livello
<a name="high-level-security"></a>

Devi rispettare le seguenti procedure ottimali di sicurezza di alto livello per le tue istanze di Windows:
+ **Accesso minimo:** viene concesso l'accesso solo a sistemi e percorsi attendibili e previsti. Questo vale per tutti i prodotti Microsoft, ad esempio Active Directory, server di produttività aziendale Microsoft e servizi infrastrutturali quali Servizi di desktop remoto, server proxy inverso, server Web IIS e altri. Utilizza AWS funzionalità come i gruppi di sicurezza delle istanze Amazon EC2, le liste di controllo degli accessi alla rete (ACLs) e le public/private sottoreti Amazon VPC per stratificare la sicurezza su più posizioni in un'architettura. All'interno di un'istanza Windows, i clienti possono utilizzare Windows Firewall per migliorare ulteriormente la defense-in-depth strategia all'interno della loro distribuzione. Installare solo i componenti e le applicazioni del sistema operativo necessari per il funzionamento del sistema come progettato. Configurare i servizi infrastrutturali, ad esempio IIS, per l'esecuzione con account di servizio o per l'utilizzo di funzionalità quali le identità del pool di applicazioni per accedere alle risorse localmente e in remoto all'intera infrastruttura.
+ **Privilegio minimo:** determina l'insieme minimo di privilegi necessari per le istanze e gli account per svolgere le loro funzioni. Limita tali server e utenti in modo da consentire solo queste autorizzazioni definite. Utilizza tecniche quali i controlli di accesso basati sui ruoli per ridurre l'area di superficie degli account amministrativi e creare i ruoli più limitati per eseguire un'attività. Utilizza le funzionalità del sistema operativo, ad esempio Encrypting File System (EFS) all'interno di NTFS per crittografare i dati sensibili inattivi e controllare l'accesso dell'applicazione e dell'utente ad esso.
+ **Gestione della configurazione**: crea una configurazione server di base che incorpori patch di up-to-date sicurezza e suite di protezione basate su host che includono antivirus, antimalware, rilevamento/prevenzione delle intrusioni e monitoraggio dell'integrità dei file. Valuta ogni server rispetto alla linea di base registrata corrente per identificare e contrassegnare eventuali deviazioni. Assicura che ogni server sia configurato per generare e archiviare in modo sicuro i dati di log e di controllo appropriati.
+ **Gestione delle modifiche:** crea processi per controllare le modifiche alle linee di base della configurazione del server e lavora verso processi di modifica completamente automatizzati. Inoltre, sfrutta Just Enough Administration (JEA) con Windows DSC per limitare l'accesso amministrativo alle funzioni minime richieste. PowerShell
+ **Gestione patch:** implementa processi che applicano patch, aggiornano e proteggono regolarmente il sistema operativo e le applicazioni nelle istanze EC2.
+ **Log di controllo:** controlla l'accesso e tutte le modifiche apportate alle istanze Amazon EC2 per verificare l'integrità del server e garantire che vengano apportate solo le modifiche autorizzate. Sfrutta funzionalità come [Enhanced Logging for IIS per](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-85/enhanced-logging-for-iis85) migliorare le funzionalità di registrazione predefinite. AWS funzionalità come VPC Flow Logs e AWS CloudTrail sono disponibili anche per controllare l'accesso alla rete, incluse rispettivamente allowed/denied le richieste e le chiamate API.

## Gestione degli aggiornamenti
<a name="ec2-windows-update-management"></a>

Per garantire i migliori risultati quando esegui un server Windows su Amazon EC2, ti consigliamo di implementare le seguenti procedure ottimali:
+ [Configure Windows Update](#windows-update)
+ [Update drivers](#drivers)
+ [Use the latest Windows AMIs](#AMI)
+ [Test performance before migration](#test)
+ [Update launch agents](#agents)
+ Riavvia un'istanza Windows dopo avere installato gli aggiornamenti. Per ulteriori informazioni, consulta [Riavvia la tua istanza Amazon EC2](ec2-instance-reboot.md).

Per informazioni su come aggiornare o migrare un'istanza Windows a una nuova versione di Windows Server, consultare [Aggiornamento di un'istanza EC2 Windows a una versione più recente di Windows Server](serverupgrade.md).

**Configura Windows Update**  
Per impostazione predefinita, le istanze avviate da AWS Windows Server AMIs non ricevono aggiornamenti tramite Windows Update.

**Aggiornamento dei driver Windows**

Mantieni aggiornati i driver su tutte le istanze di Windows EC2 per accertarti che le correzioni più recenti e i miglioramenti di prestazioni siano applicati a tutta la tua serie di istanze. A seconda del tipo di istanza, è necessario aggiornare AWS PV, Amazon ENA e AWS NVMe i driver.
+ Utilizza gli [argomenti su SNS](xen-drivers-overview.md#drivers-subscribe-notifications) per ottenere gli aggiornamenti per le ultime versioni dei driver.
+ Usa l' AWS Systems Manager Automation runbook [AWSSupport-UpgradeWindowsAWSDrivers](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-upgradewindowsawsdrivers.html)per applicare facilmente gli aggiornamenti a tutte le tue istanze.

**Avvia le istanze utilizzando la versione più recente di Windows AMIs**

AWS rilascia nuovi Windows AMIs ogni mese, che contengono le patch, i driver e gli agenti di avvio più recenti del sistema operativo. Quando avvii nuove istanze o quando crei immagini personalizzate, devi utilizzare le AMI più recenti.
+ Per visualizzare gli aggiornamenti di ogni versione di AWS Windows AMIs, consulta la [cronologia delle versioni dell'AMI AWS Windows](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html).
+ Per creare con la versione più recente disponibile AMIs, vedi [Interrogare l'AMI Windows più recente utilizzando Systems Manager Parameter Store](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/).
+ Per ulteriori informazioni su Windows specializzati AMIs che è possibile utilizzare per avviare istanze per il database e sui casi d'uso relativi al rafforzamento della conformità, vedere [Specialized Windows AMIs in the Windows AWS](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/specialized-windows-amis.html) *AMI Reference*.

**Verifica le system/application prestazioni prima della migrazione**

La migrazione delle applicazioni aziendali a AWS può coinvolgere molte variabili e configurazioni. È opportuno testare sempre le prestazioni della soluzione EC2 per assicurarsi di quanto segue:
+ I tipi di istanza sono configurati correttamente, incluse la dimensione dell'istanza, le reti migliorate e la tenancy (condivisa o dedicata).
+ La topologia dell'istanza è idonea per il carico di lavoro e, laddove necessario, impiega caratteristiche ad alte prestazioni (tenancy dedicata, gruppi di collocamento, volumi archivio dell'istanza, bare metal).

**Installa la versione più recente di Launch EC2 v2**  
Installa l'agente EC2 Launch v2 più recente per assicurarti che i miglioramenti più recenti vengano applicati a tutta la tua flotta. Per ulteriori informazioni, consulta [Installa EC2 Launch v2](ec2launch-v2-install.md).

Se si utilizza un parco istanze misto o si desidera continuare a utilizzare gli agenti EC2Launch (Windows Server 2016 e 2019) o EC2 Config (solo sistemi operativi legacy), eseguire l'aggiornamento alle versioni più recenti dei rispettivi agenti.

Gli aggiornamenti automatici sono supportati nelle seguenti combinazioni di versioni di Windows Server e agenti di avvio. Puoi attivare gli aggiornamenti automatici nella console [SSM Quick Setup Host Management](https://docs.aws.amazon.com/systems-manager/latest/userguide/quick-setup-host-management.html) in **Agenti di avvio Amazon EC2**.


| Versione Windows | EC2Avvia v1 | EC2Avvia v2 | 
| --- | --- | --- | 
| 2016 | ✓ | ✓ | 
| 2019 | ✓ | ✓ | 
| 2022 |  | ✓ | 
+ Per ulteriori informazioni sull'aggiornamento a EC2 Launch v2, consulta[Installa la versione più recente di EC2 Launch v2](ec2launch-v2-install.md).
+ Per informazioni sull'aggiornamento manuale di EC2 Config, vedere. [Installa l'ultima versione di EC2 Config](UsingConfig_Install.md) 
+ Per informazioni sull'aggiornamento manuale di EC2 Launch, consulta[Installa la versione più recente di EC2 Launch](ec2launch-download.md).

## Gestione della configurazione
<a name="configuration-management"></a>

Amazon Machine Images (AMI) fornisce una configurazione iniziale per un'istanza Amazon EC2, che include il sistema operativo Windows e personalizzazioni facoltative specifiche del cliente, come applicazioni e controlli di sicurezza. Crea un catalogo AMI contenente linee di base di configurazione di sicurezza personalizzate per garantire che tutte le istanze di Windows vengano avviate con controlli di sicurezza standard. Le linee di base di sicurezza possono essere inserite in un'AMI, avviate dinamicamente all'avvio di un'istanza EC2 o impacchettate come prodotto per una distribuzione uniforme attraverso i portafogli di Service Catalog. AWS Per ulteriori informazioni sulla protezione di un'AMI, consulta [Best Practices for Building an AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html).

Ogni istanza Amazon EC2 deve rispettare gli standard di sicurezza organizzativa. Non installare ruoli e funzionalità di Windows che non sono necessari e installa software per la protezione da codice dannoso (antivirus, antimalware, attenuazione degli exploit), monitora l'integrità dell'host ed esegui il rilevamento delle intrusioni. Configura il software di sicurezza per monitorare e mantenere le impostazioni di sicurezza del sistema operativo, proteggere l'integrità dei file operativi critici e avvisare eventuali deviazioni dalla linea di base di sicurezza. Considera di implementare i benchmark della configurazione di sicurezza pubblicati da Microsoft, dal Center for Internet Security (CIS) o dal National Institute of Standards and Technology (NIST). Prendi in considerazione l'utilizzo di altri strumenti Microsoft per server di applicazioni particolari, ad esempio il [Best Practice Analyzer per SQL Server](https://www.microsoft.com/en-us/download/details.aspx?id=29302).

AWS i clienti possono anche eseguire valutazioni Amazon Inspector per migliorare la sicurezza e la conformità delle applicazioni distribuite su istanze Amazon EC2. Amazon Inspector valuta automaticamente le applicazioni per individuare vulnerabilità o deviazioni dalle procedure consigliate e include una base di conoscenze di centinaia di regole mappate a standard di conformità di sicurezza comuni (ad esempio, PCI DSS) e definizioni di vulnerabilità. Esempi di regole incorporate includono la verifica se l'accesso remoto root è abilitato o se sono installate versioni software vulnerabili. Queste regole vengono aggiornate regolarmente dai ricercatori di sicurezza. AWS 

Quando si proteggono le istanze di Windows, si consiglia di implementare Servizi di dominio Active Directory per abilitare un'infrastruttura scalabile, sicura e gestibile per i percorsi distribuiti. Inoltre, dopo aver avviato le istanze dalla console Amazon EC2 o utilizzando uno strumento di provisioning Amazon EC2, ad esempio, è buona norma utilizzare le funzionalità native del sistema operativo, AWS CloudFormation come Microsoft PowerShell Windows DSC, per mantenere lo stato della configurazione nel caso in cui si verifichi una variazione della configurazione.

## Gestione delle modifiche
<a name="change-management"></a>

Dopo aver applicato le basi di sicurezza iniziali alle istanze Amazon EC2 all'avvio, controlla le modifiche in corso su Amazon EC2 per mantenere la sicurezza delle macchine virtuali. Stabilisci un processo di gestione delle modifiche per autorizzare e incorporare le modifiche alle AWS risorse (come gruppi di sicurezza, tabelle di routing e rete ACLs) nonché alle configurazioni del sistema operativo e delle applicazioni (come Windows o patch delle applicazioni, aggiornamenti software o aggiornamenti dei file di configurazione).

AWS fornisce diversi strumenti per aiutare a gestire le modifiche alle AWS risorse, tra cui AWS CloudTrail AWS Config CloudFormation AWS Elastic Beanstalk, e pacchetti di gestione per Systems Center Operations Manager e System Center Virtual Machine Manager. Tieni presente che Microsoft rilascia le patch di Windows il secondo martedì di ogni mese (o secondo necessità) e AWS aggiorna tutti i sistemi Windows AMIs gestiti da AWS entro cinque giorni dal rilascio di una patch da parte di Microsoft. Pertanto è importante applicare continuamente patch a tutte le configurazioni di base AMIs, aggiornare i CloudFormation modelli e le configurazioni dei gruppi Auto Scaling con l' IDsAMI più recente e implementare strumenti per automatizzare la gestione delle patch delle istanze in esecuzione.

Microsoft fornisce diverse opzioni per la gestione delle modifiche al sistema operativo Windows e alle applicazioni. SCCM, ad esempio, fornisce una copertura completa del ciclo di vita delle modifiche dell'ambiente. Seleziona gli strumenti che rispondono ai requisiti aziendali e controlla in che modo le modifiche influenzeranno i contratti di servizio delle applicazioni, la capacità, la sicurezza e le procedure di disaster recovery. Evita le modifiche manuali e sfrutta invece il software di gestione automatizzata della configurazione o gli strumenti a riga di comando come EC2 Run Command o Windows PowerShell per implementare processi di modifica ripetibili e basati su script. Per rispondere a questo requisito, utilizza bastion host con logging avanzato per tutte le interazioni con le istanze di Windows per garantire che tutti gli eventi e le attività vengano registrati automaticamente.

## Audit e responsabilità istanze Windows Amazon EC2
<a name="audit-accountability"></a>

AWS CloudTrail e Regole di AWS Config fornisci funzionalità di controllo e tracciamento delle modifiche per controllare le modifiche alle risorse. AWS Config AWS Configura i log di eventi di Windows per inviare file di log locali a un sistema centralizzato di gestione dei log per conservare i dati di log per l'analisi del comportamento operativo e di sicurezza. Microsoft System Center Operations Manager (SCOM) aggrega informazioni sulle applicazioni Microsoft distribuite nelle istanze Windows e applica set di regole preconfigurati e personalizzati in base ai ruoli e ai servizi dell'applicazione. I System Center Management Pack si basano su SCOM per fornire indicazioni sulla configurazione e monitoraggio specifiche delle applicazioni. Questi [Management Pack](https://learn.microsoft.com/en-us/archive/technet-wiki/16174.microsoft-management-packs) supportano Windows Server Active Directory, SharePoint Server 2013, Exchange Server 2013, Lync Server 2013, SQL Server 2014 e molti altri server e tecnologie.

Oltre agli strumenti di gestione dei sistemi Microsoft, i clienti possono utilizzare Amazon CloudWatch per monitorare l'utilizzo della CPU dell'istanza, le prestazioni del disco, l'I/O di rete ed eseguire controlli dello stato di host e istanze. Gli agenti di avvio EC2 Config, EC2 Launch e EC2 Launch v2 forniscono l'accesso a funzionalità avanzate aggiuntive per le istanze di Windows. Ad esempio, possono esportare i log di sistema, sicurezza, applicazioni e Internet Information Services (IIS) di Windows in CloudWatch log che possono quindi essere integrati con i CloudWatch parametri e gli allarmi di Amazon. I clienti possono anche creare script che esportano i contatori delle prestazioni di Windows in metriche CloudWatch personalizzate di Amazon.

# Coppie di chiavi Amazon EC2 e istanze Amazon EC2
<a name="ec2-key-pairs"></a>

Una coppia di chiavi, costituita da una chiave privata e una chiave pubblica, è un insieme di credenziali di sicurezza utilizzate per dimostrare l'identità durante la connessione a un'istanza Amazon EC2. Per le istanze Linux, la chiave privata ti consente di eseguire un SSH in modo sicuro nella tua istanza. Per le istanze di Windows, la chiave privata è necessaria per decrittare la password dell'amministratore, che utilizzerai poi per connetterti alla tua istanza.

Amazon EC2 archivia solo la chiave pubblica nell'istanza mentre l'utente deve archiviare la chiave privata, come mostrato nel diagramma seguente. È importante archiviare la chiave privata in un luogo sicuro, in quanto chiunque possiede la chiave privata può connettersi alle istanze che utilizzano la coppia di chiavi.

![\[Una coppia di chiavi è composta da una chiave privata per il tuo computer e una chiave pubblica per la tua istanza.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/ec2-key-pair.png)


Quando avvii un'istanza, puoi [specificare una coppia di chiavi](ec2-instance-launch-parameters.md#liw-key-pair), in modo da poterti connettere all'istanza utilizzando un metodo che richiede una coppia di chiavi. A seconda di come gestisci la sicurezza, puoi specificare la stessa coppia di chiavi per tutte le istanze oppure puoi specificare coppie di chiavi diverse.

Per le istanze Linux, quando viene avviata per la prima volta, la chiave pubblica specificata all'avvio viene inserita nell'istanza Linux in una voce in `~/.ssh/authorized_keys`. Quando ti connetti all'istanza Linux usando SSH, per accedere devi specificare la chiave privata che corrisponde alla chiave pubblica.

Per ulteriori informazioni sulla connessione all'istanza EC2, consulta [Connettiti all’istanza EC2](connect.md).

**Importante**  
Poiché Amazon EC2 non conserva una copia della chiave privata, se si perde una chiave privata non è possibile recuperarla. Tuttavia, può ancora esserci un modo per connettersi a istanze per cui hai perso la chiave privata. Per ulteriori informazioni, consulta [Ho perso la mia chiave privata. Come posso connettermi alla mia istanza?](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair)

In alternativa alle coppie di chiavi, puoi usarle [AWS Systems Manager Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)per connetterti alla tua istanza con una shell interattiva basata su browser con un solo clic o il AWS Command Line Interface ().AWS CLI

**Topics**
+ [

# Creazione di una coppia di chiavi per l'istanza Amazon EC2
](create-key-pairs.md)
+ [

# Descrivere le tue coppie di chiavi
](describe-keys.md)
+ [

# Eliminazione della coppia di chiavi
](delete-key-pair.md)
+ [

# Aggiungi o sostituisci una chiave pubblica sull'istanza Linux
](replacing-key-pair.md)
+ [

# Verifica dell'impronta digitale della coppia di chiavi
](verify-keys.md)

# Creazione di una coppia di chiavi per l'istanza Amazon EC2
<a name="create-key-pairs"></a>

È possibile usare Amazon EC2 creare una coppia di chiavi, oppure è possibile utilizzare uno strumento di terzi per creare una coppia di chiavi e importarla in Amazon EC2.

Amazon EC2 supporta le chiavi RSA 2048-bit SSH-2 per le istanze Linux e Windows. Amazon EC2 supporta anche ED25519 le chiavi per le istanze Linux.

Per le istruzioni su come connettersi all'istanza dopo aver creato una coppia di chiavi, consulta [Connessione a un’istanza Linux tramite SSH](connect-to-linux-instance.md) e [Connessione all’istanza Windows con il protocollo RDP](connecting_to_windows_instance.md).

**Topics**
+ [

## Creazione di una coppia di chiavi utilizzando Amazon EC2
](#having-ec2-create-your-key-pair)
+ [

## Crea una key pair usando AWS CloudFormation
](#create-key-pair-cloudformation)
+ [

## Creazione di una coppia di chiavi tramite uno strumento di terza parte e importazione della chiave pubblica in Amazon EC2
](#how-to-generate-your-own-key-and-import-it-to-aws)

## Creazione di una coppia di chiavi utilizzando Amazon EC2
<a name="having-ec2-create-your-key-pair"></a>

Quando crei una coppia di chiavi utilizzando Amazon EC2, la chiave pubblica viene archiviata in Amazon EC2 e tu archivi la chiave privata.

Puoi creare fino a 5.000 coppie di chiavi per regione. Per richiedere un aumento, crea un caso di supporto. Per ulteriori informazioni, consulta [Creazione di una richiesta di assistenza](https://docs.aws.amazon.com/awssupport/latest/user/case-management.html#creating-a-support-case) nella *Guida per l'utente di Supporto *.

------
#### [ Console ]

**Come creare una coppia di chiavi utilizzando Amazon EC2**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, sotto **Network & Security (Rete e sicurezza)**, scegliere **Key Pairs (Coppie di chiavi)**.

1. Scegliere **Create key pair (Crea coppia di chiavi)**.

1. Per **Name (Nome)**, immettere un nome descrittivo per la coppia di chiavi. Amazon EC2 associa la chiave pubblica con il nome specificato come nome della chiave. Il nome può includere fino a 255 caratteri ASCII. Non può includere spazi iniziali o finali.

1. Seleziona un tipo di coppia di chiavi appropriato per il tuo sistema operativo:

   **(istanze Linux) Per il **tipo di coppia di chiavi**, scegli RSA o. **ED25519****

   **(Istanze Windows) Per il **tipo di coppia di chiavi**, scegli RSA.** **ED25519**le chiavi non sono supportate per le istanze di Windows.

1. Per **Private key file format** (Formato file chiave privata), scegliere il formato in cui salvare la chiave privata. Per salvare la chiave privata in un formato che può essere utilizzato con OpenSSH, scegliere **pem**. Per salvare la chiave privata in un formato che può essere utilizzato con PuTTY, scegliere **ppk**.

1. Per aggiungere un tag, scegli **Add tag** (Aggiungi tag) e immetti la chiave e il valore per il tag. Ripetere per ogni tag. 

1. Scegliere **Create key pair** (Crea coppia di chiavi).

1. Il file della chiave privata viene automaticamente scaricato dal browser. Il nome del file di base è il nome specificato come nome della coppia di chiavi e l'estensione del nome del file è determinata dal formato di file scelto. Salvare il file della chiave privata in un luogo sicuro.
**Importante**  
Questo è l'unico momento in cui salvare il file della chiave privata.

1. Se prevedi di utilizzare un client SSH su un computer macOS o Linux per connetterti all'istanza Linux, utilizza il comando seguente per impostare le autorizzazioni del file della chiave privata per essere l'unico a poterlo leggere.

   ```
   chmod 400 key-pair-name.pem
   ```

   Se non imposti queste autorizzazioni, allora non puoi connetterti alle tue istanze usando questa coppia di chiavi. Per ulteriori informazioni, consulta [Errore: Unprotected Private Key File (File della chiave privata non protetto)](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key).

------
#### [ AWS CLI ]

**Come creare una coppia di chiavi utilizzando Amazon EC2**

1. Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-key-pair.html) come segue per generare la coppia di chiavi e salvare la chiave privata in un file `.pem`. L’opzione `--query` stampa il materiale della chiave privata nell’output. L’opzione `--output` salva il materiale della chiave privata nel file specificato. L’estensione deve essere `.pem` o `.ppk`, a seconda del formato della chiave. Il nome della chiave privata può essere diverso da quello della chiave pubblica ma, per facilità d’uso, utilizza lo stesso nome.

   ```
   aws ec2 create-key-pair \
       --key-name my-key-pair \
       --key-type rsa \
       --key-format pem \
       --query "KeyMaterial" \
       --output text > my-key-pair.pem
   ```

1. Se prevedi di utilizzare un client SSH su un computer macOS o Linux per connetterti all’istanza Linux, utilizza il comando seguente per impostare le autorizzazioni del file della chiave privata per essere l’unico a poterlo leggere.

   ```
   chmod 400 key-pair-name.pem
   ```

   Se non imposti queste autorizzazioni, allora non puoi connetterti alle tue istanze usando questa coppia di chiavi. Per ulteriori informazioni, consulta [Errore: Unprotected Private Key File (File della chiave privata non protetto)](TroubleshootingInstancesConnecting.md#troubleshoot-unprotected-key).

------
#### [ PowerShell ]

**Come creare una coppia di chiavi utilizzando Amazon EC2**  
Utilizza il cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2KeyPair.html) come segue per generare la chiave e salvarla in un file `.pem` o `.ppk`. Il cmdlet **Out-File** salva il materiale della chiave privata in un file con estensione specificata. L’estensione deve essere `.pem` o `.ppk`, a seconda del formato della chiave. Il nome della chiave privata può essere diverso da quello della chiave pubblica ma, per facilità d’uso, utilizza lo stesso nome.

```
(New-EC2KeyPair `
    -KeyName "my-key-pair" `
    -KeyType "rsa" `
    -KeyFormat "pem").KeyMaterial | Out-File -Encoding ascii -FilePath C:\path\my-key-pair.pem
```

------

## Crea una key pair usando AWS CloudFormation
<a name="create-key-pair-cloudformation"></a>

Quando si crea una nuova coppia di chiavi utilizzando CloudFormation, la chiave privata viene salvata in AWS Systems Manager Parameter Store. Il nome del parametro ha il formato seguente:

```
/ec2/keypair/key_pair_id
```

Per ulteriori informazioni, consulta [Archivio dei parametri AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida per l'utente di AWS Systems Manager *.

**Per creare una key pair usando CloudFormation**

1. Specificate la [AWS::EC2::KeyPair](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html)risorsa nel modello.

   ```
   Resources:
     NewKeyPair:
       Type: 'AWS::EC2::KeyPair'
       Properties: 
         KeyName: new-key-pair
   ```

1. Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html) come segue per ottenere l'ID della coppia di chiavi.

   ```
   aws ec2 describe-key-pairs --filters Name=key-name,Values=new-key-pair --query KeyPairs[*].KeyPairId --output text
   ```

   Di seguito è riportato un output di esempio.

   ```
   key-05abb699beEXAMPLE
   ```

1. Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html) come segue per ottenere il parametro per la tua chiave e salvare il materiale della chiave in un file `.pem`.

   ```
   aws ssm get-parameter --name /ec2/keypair/key-05abb699beEXAMPLE --with-decryption --query Parameter.Value --output text > new-key-pair.pem
   ```

**Autorizzazioni IAM richieste**

 CloudFormation Per consentire la gestione dei parametri di Parameter Store per tuo conto, il ruolo IAM assunto dal CloudFormation o dal tuo utente deve disporre delle seguenti autorizzazioni:
+ `ssm:PutParameter`: concede l'autorizzazione per creare un parametro per il materiale della chiave privata.
+ `ssm:DeleteParameter`: concede l'autorizzazione a eliminare il parametro che ha archiviato il materiale della chiave privata. Questa autorizzazione è necessaria indipendentemente dal fatto che la coppia di chiavi sia stata importata o creata da CloudFormation.

Quando si CloudFormation elimina una coppia di chiavi creata o importata da uno stack, esegue un controllo delle autorizzazioni per determinare se si dispone dell'autorizzazione per eliminare i parametri, anche se CloudFormation crea un parametro solo quando crea una coppia di chiavi, non quando importa una coppia di chiavi. CloudFormation verifica l'autorizzazione richiesta utilizzando un nome di parametro fabbricato che non corrisponde a nessun parametro dell'account. Pertanto, è possibile che nel messaggio di errore `AccessDeniedException` venga visualizzato un nome di parametro fittizio.

## Creazione di una coppia di chiavi tramite uno strumento di terza parte e importazione della chiave pubblica in Amazon EC2
<a name="how-to-generate-your-own-key-and-import-it-to-aws"></a>

Invece di creare la coppia di chiavi tramite Amazon EC2, è possibile creare una coppia di chiavi RSA o ED25519 utilizzando uno strumento di terzi e importare la chiave pubblica in Amazon EC2.

**Requisiti delle coppie di chiavi**
+ Tipi supportati:
  + (Linux e Windows) RSA
  + (Solo Linux) ED25519
**Nota**  
ED25519 le chiavi non sono supportate per le istanze di Windows.
  + Amazon EC2 non accetta chiavi DSA.
+ Formati supportati:
  + Il formato chiave pubblica di OpenSSH (per Linux, il formato in `~/.ssh/authorized_keys`)
  + (Solo Linux) Se ti connetti tramite SSH mentre usi l'API EC2 Instance Connect, è supportato anche il SSH2 formato.
  + Il formato del file della chiave privata SSH deve essere PEM o PPK
  + (Solo RSA) Il formato DER con codifica Base64
  + (Solo RSA) Il formato file della chiave pubblica SSH come specificato in [RFC4716](https://www.ietf.org/rfc/rfc4716.txt)
+ Lunghezze supportate:
  + 1024, 2048 e 4096.
  + (Solo Linux) Se effettui la connessione mediante SSH mentre stai utilizzando l'API EC2 Instance Connect, le lunghezze supportate sono 2048 e 4096.

**Per creare una coppia di chiavi tramite uno strumento di terza parte**

1. Generare una coppia di chiavi con lo strumento di terza parte preferito. Ad esempio, per creare una coppia di chiavi è possibile utilizzare **ssh-keygen** (uno strumento fornito con l'installazione standard di OpenSSH). In alternativa, Java, Ruby, Python e molti altri linguaggi di programmazione forniscono librerie standard che è possibile utilizzare per creare una coppia di chiavi.
**Importante**  
La chiave privata deve essere nel formato PEM o PPK. Ad esempio, utilizzare `ssh-keygen -m PEM` per generare la chiave OpenSSH nel formato PEM.

1. Salvare la chiave pubblica in un file locale. Ad esempio, `~/.ssh/my-key-pair.pub` (Linux, macOS) o `C:\keys\my-key-pair.pub` (Windows). L'estensione del nome del file non è importante.

1. Salvare la chiave privata in un file locale con estensione `.pem` o `.ppk`. Ad esempio, `~/.ssh/my-key-pair.pem` o `~/.ssh/my-key-pair.ppk` (Linux, macOS) o `C:\keys\my-key-pair.pem` o `C:\keys\my-key-pair.ppk` (Windows). L'estensione del file è importante perché, a seconda dello strumento che usi per connetterti all'istanza, avrai bisogno di un formato di file specifico. OpenSSH richiede un file `.pem`, mentre PuTTY richiede un file `.ppk`.
**Importante**  
Salvare il file della chiave privata in un luogo sicuro. Dovrai fornire il nome della chiave pubblica quando avvii un'istanza e la chiave privata corrispondente ogni volta che ti connetti all'istanza.

Dopo avere creato la coppia di chiavi, utilizzare uno dei seguenti metodi per importare la chiave pubblica in Amazon EC2.

------
#### [ Console ]

**Come importare la chiave pubblica in Amazon EC2**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione scegliere **Key Pairs (Coppie di chiavi)**.

1. Scegliere **Import key pair (Importa coppia di chiavi)**.

1. Per **Name (Nome)**, immettere un nome descrittivo per la chiave pubblica. Il nome può includere fino a 255 caratteri ASCII. Non può includere spazi iniziali o finali.
**Nota**  
Quando ci si connette all'istanza dalla console EC2, la console suggerisce questo nome per il nome file della chiave privata.

1. Scegliere **Browse (Sfoglia)** per navigare e selezionare la chiave pubblica oppure incollare il contenuto della chiave pubblica nel campo **Public key contents (Contenuto chiave pubblica)**.

1. Scegliere **Import key pair (Importa coppia di chiavi)**.

1. Verificare che la chiave pubblica importata venga visualizzata nell'elenco delle coppie di chiavi.

------
#### [ AWS CLI ]

**Come importare la chiave pubblica in Amazon EC2**  
Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/import-key-pair.html).

```
aws ec2 import-key-pair \
    --key-name my-key-pair \
    --public-key-material fileb://path/my-key-pair.pub
```

**Per verificare che la coppia di chiavi sia stata importata correttamente**  
Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html).

```
aws ec2 describe-key-pairs --key-names my-key-pair
```

------
#### [ PowerShell ]

**Come importare la chiave pubblica in Amazon EC2**  
Utilizza il cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Import-EC2KeyPair.html).

```
$publickey=[Io.File]::ReadAllText("C:\Users\TestUser\.ssh\id_rsa.pub")
Import-EC2KeyPair `
    -KeyName my-key-pair `
    -PublicKey $publickey
```

**Per verificare che la coppia di chiavi sia stata importata correttamente**  
Utilizza il cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
Get-EC2KeyPair -KeyName my-key-pair
```

------

# Descrivere le tue coppie di chiavi
<a name="describe-keys"></a>

È possibile descrivere le coppie di chiavi archiviate in Amazon EC2. È inoltre possibile recuperare il materiale della chiave pubblica e identificare la chiave pubblica specificata all'avvio.

**Topics**
+ [

## Descrivere le tue coppie di chiavi
](#describe-public-key)
+ [

## Recupero del materiale delle chiavi pubbliche
](#retrieving-the-public-key)
+ [

## Identificazione della chiave pubblica specificata al momento dell'avvio
](#identify-key-pair-specified-at-launch)

## Descrivere le tue coppie di chiavi
<a name="describe-public-key"></a>

È possibile visualizzare le seguenti informazioni sulle chiavi pubbliche archiviate in Amazon EC2: nome della chiave pubblica, ID, tipo di chiave, impronta digitale, materiale chiave pubblica, data e ora (nel fuso orario UTC) in cui la chiave è stata creata da Amazon EC2 (se la chiave è stata creata da uno strumento di terze parti, la data e l'ora si riferiscono al momento in cui la chiave è stata importata in Amazon EC2) e tutti i tag associati alla chiave pubblica.

------
#### [ Console ]

**Per visualizzare le informazioni relative alle coppie di chiavi**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione sinistro, scegli **Key Pairs** (Coppie di chiavi).

1. È possibile visualizzare le informazioni su ciascuna chiave pubblica nella tabella **Key pairs** (Coppie di chiavi).  
![\[Tabella delle coppie di chiavi.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/key-pairs-describe-console.png)

1. Per visualizzare i tag di una chiave pubblica, seleziona la casella di controllo accanto alla chiave e quindi scegli **Actions** (Operazioni), **Manage tags** (Gestisci tag).

------
#### [ AWS CLI ]

**Per visualizzare le informazioni relative a una coppia di chiavi**  
Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html).

```
aws ec2 describe-key-pairs --key-names key-pair-name
```

------
#### [ PowerShell ]

**Per visualizzare le informazioni relative a una coppia di chiavi**  
Utilizza il cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
Get-EC2KeyPair -KeyName key-pair-name
```

------

## Recupero del materiale delle chiavi pubbliche
<a name="retrieving-the-public-key"></a>

Puoi ottenere il materiale della chiave pubblica per le coppie di chiavi. Quello che segue è un esempio di chiave pubblica. Si noti che sono state aggiunte delle interruzioni di riga per facilitare la lettura.

```
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE
```

------
#### [ Private key ]

**Come recuperare il materiale della chiave pubblica utilizzando ssh-keygen (Linux)**  
Sul computer locale macOS, utilizza il comando **ssh-keygen**. Specificare il percorso in cui è stata scaricata la chiave privata (il file `.pem`).

```
ssh-keygen -y -f /path_to_key_pair/my-key-pair.pem
```

Se questo **ssh-keygen** comando non funziona, esegui il seguente comando **chmod** per assicurarti che il file della chiave privata abbia i permessi richiesti

```
chmod 400 key-pair-name.pem
```

**Per recuperare il materiale relativo alla chiave pubblica usando Pu TTYgen (Windows)**  
Sul computer Windows locale, avvia PuTTYgen. Scegli **Carica**. Seleziona il file della chiave privata `.ppk` o `.pem`. Pu TTYgen visualizza la chiave pubblica sotto la **chiave pubblica per incollarla nel file OpenSSH authorized\$1keys**. È anche possibile visualizzare la chiave pubblica scegliendo **Save public key (Salva chiave pubblica)**, specificando un nome del file, salvando il file e quindi aprendolo.

------
#### [ AWS CLI ]

**Per recuperare il materiale della chiave pubblica**  
Utilizzate il seguente comando e specificate l'opzione. [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)`--include-public-key`

```
aws ec2 describe-key-pairs \
    --key-names key-pair-name \
    --include-public-key \
    --query "KeyPairs[].PublicKey"
```

------
#### [ PowerShell ]

**Per recuperare il materiale della chiave pubblica**  
Utilizza il cmdlet [Get-EC2KeyPair](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2KeyPair.html).

```
(Get-EC2KeyPair -KeyName key-pair-name -IncludePublicKey $true).PublicKey
```

------
#### [ IMDSv2 ]

**Linux**  
Esegui i seguenti comandi dall’istanza Linux.

```
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

**Windows**  
Esegui i seguenti cmdlet dall’istanza Windows.

```
[string]$token = Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token-ttl-seconds" = "21600"} -Method PUT -Uri http://169.254.169.254/latest/api/token
```

```
Invoke-RestMethod -Headers @{"X-aws-ec2-metadata-token" = $token} -Method GET -Uri http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

------
#### [ IMDSv1 ]

**Linux**  
Esegui il seguente comando dall’istanza Linux.

```
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

**Windows**  
Esegui il seguente cmdlet dall’istanza Windows.

```
Invoke-RestMethod -uri  http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
```

------

## Identificazione della chiave pubblica specificata al momento dell'avvio
<a name="identify-key-pair-specified-at-launch"></a>

Se specifichi una chiave pubblica quando avvii un'istanza, il nome della chiave pubblica viene registrato dall'istanza. Il nome della chiave pubblica riportato per un’istanza non cambia, anche se si modifica la chiave pubblica sull’istanza o si aggiungono chiavi pubbliche.

------
#### [ Console ]

**Per identificare la chiave pubblica specificata all’avvio dell’istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, seleziona **Instances (Istanze)**.

1. Selezionare l'istanza.

1. Nella scheda **Dettagli**, in **Dettagli dell’istanza**, trova **Coppia di chiavi assegnata all’avvio**.

------
#### [ AWS CLI ]

**Per identificare la chiave pubblica specificata all’avvio dell’istanza**  
Utilizza seguente il comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html):

```
aws ec2 describe-instances \
    --instance-id i-1234567890abcdef0 \
    --query "Reservations[].Instances[].KeyName" \
    --output text
```

Di seguito è riportato un output di esempio.

```
key-pair-name
```

------
#### [ PowerShell ]

**Per identificare la chiave pubblica specificata all’avvio dell’istanza**  
Utilizza il cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance -InstanceId i-1234567890abcdef0).Instances | Select KeyName
```

Di seguito è riportato un output di esempio.

```
KeyName
-------
key-pair-name
```

------

# Eliminazione della coppia di chiavi
<a name="delete-key-pair"></a>

È possibile eliminare una coppia di chiavi, il che rimuove la chiave pubblica archiviata in Amazon EC2. L'eliminazione di una coppia di chiavi non elimina la chiave privata corrispondente.

Quando elimini una chiave pubblica utilizzando i metodi seguenti, elimini la chiave pubblica archiviata in Amazon EC2 solo quando la coppia di chiavi è stata [creata](create-key-pairs.md#having-ec2-create-your-key-pair) o [importata](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws). L'eliminazione di una chiave pubblica non rimuove la chiave pubblica dalle istanze a cui è stata aggiunta, né quando è stata avviata l'istanza né successivamente. Inoltre, la chiave privata non viene eliminata dal computer locale. È possibile continuare a connettersi alle istanze avviate tramite una chiave pubblica che è stata eliminata da Amazon EC2, purché si disponga ancora del file della chiave privata (`.pem`).

**Importante**  
Se si sta utilizzando un gruppo Auto Scaling (ad esempio, in un ambiente Elastic Beanstalk), assicurarsi che la chiave pubblica che si sta cancellando non sia specificata in un modello di avvio o in una configurazione di avvio associati. Se Amazon EC2 Auto Scaling rileva un'istanza non integra, avvia un'istanza sostitutiva. Tuttavia, l'avvio dell'istanza non riesce se non è possibile trovare la chiave pubblica. Per ulteriori informazioni, consulta [Modelli di avvio](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html) nella *Guida per l’utente di Amazon EC2 Auto Scaling*.

------
#### [ Console ]

**Come eliminare la chiave pubblica su Amazon EC2**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel pannello di navigazione scegli **Coppie di chiavi**.

1. Seleziona la coppia di chiavi da eliminare e scegli **Actions** (Operazioni), **Delete** (Elimina).

1. Nel campo di conferma immettere `Delete` e quindi scegliere **Delete (Elimina)**.

------
#### [ AWS CLI ]

**Come eliminare la chiave pubblica su Amazon EC2**  
Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-key-pair.html).

```
aws ec2 delete-key-pair --key-name my-key-pair
```

------
#### [ PowerShell ]

**Come eliminare la chiave pubblica su Amazon EC2**  
Utilizza il cmdlet [https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2KeyPair.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2KeyPair.html).

```
Remove-EC2KeyPair -KeyName my-key-pair
```

------

# Aggiungi o sostituisci una chiave pubblica sull'istanza Linux
<a name="replacing-key-pair"></a>


|  | 
| --- |
| Se si perde una chiave privata, si perde l'accesso a tutte le istanze che utilizzano la coppia di chiavi. Per ulteriori informazioni sulla connessione a un'istanza utilizzando una coppia di chiavi diversa da quella specificata all'avvio, vedi [Ho perso la mia chiave privata](TroubleshootingInstancesConnecting.md#replacing-lost-key-pair). | 

Quando avvii un'istanza, puoi [specificare una coppia di chiavi](ec2-instance-launch-parameters.md#liw-key-pair). Se si specifica una coppia di chiavi all'avvio, quando l'istanza viene avviata per la prima volta il materiale della chiave pubblica viene inserito nell'istanza Linux in una voce in `~/.ssh/authorized_keys`. Quando ti connetti per la prima volta alla tua istanza Linux tramite SSH, devi specificare l’utente predefinito e la chiave privata corrispondente alla chiave pubblica memorizzata sulla tua istanza Linux.

Dopo aver effettuato la connessione all’istanza, puoi modificare la coppia di chiavi utilizzata per accedere all’account di sistema predefinito dell’istanza aggiungendo una nuova chiave pubblica nell’istanza o sostituendo la chiave pubblica (eliminando la chiave pubblica esistente e aggiungendone una nuova) nell’istanza. È inoltre possibile rimuovere tutte le chiavi pubbliche da un'istanza.

È possibile aggiungere o sostituire una coppia di chiavi per i seguenti motivi:
+ Se un utente dell'organizzazione richiede l'accesso all'utente di sistema utilizzando una coppia di chiavi separata, è possibile aggiungere tale coppia di chiavi all'istanza.
+ Se si vuole impedire che qualcuno in possesso di una copia della chiave privata (file `.pem`) si colleghi alla propria istanza (ad esempio, se ha lasciato l'organizzazione), è possibile eliminare la chiave pubblica sull'istanza e sostituirla con una nuova.
+ Se si crea un'AMI Linux da un'istanza, il materiale sulla chiave pubblica viene copiato dall'istanza all'AMI. Se si avvia un'istanza dall'AMI, la nuova istanza include la chiave pubblica dell'istanza originale. Per impedire a un utente che dispone della chiave privata di connettersi alla nuova istanza, è possibile rimuovere la chiave pubblica dall'istanza originale *prima* di creare l'AMI.

Usa queste procedure per modificare la coppia di chiavi dell'utente predefinito, ad esempio `ec2-user`. Per ulteriori informazioni sull'aggiunta di altri utenti all'istanza, consulta la documentazione per il sistema operativo dell'istanza.

**Per aggiungere o sostituire una coppia di chiavi**

1. Creare una nuova coppia di chiavi tramite la [console Amazon EC2](create-key-pairs.md#having-ec2-create-your-key-pair) o uno [strumento di terze parti](create-key-pairs.md#how-to-generate-your-own-key-and-import-it-to-aws).

1. Recuperare la chiave pubblica da una nuova coppia di chiavi. Per ulteriori informazioni, consulta [Recupero del materiale delle chiavi pubbliche](describe-keys.md#retrieving-the-public-key).

1. [Connettiti alla tua istanza](connect-to-linux-instance.md).

1. Nell’istanza, utilizzando l’editor di testo che preferisci, apri il file `.ssh/authorized_keys`. Incolla le informazioni relative alla chiave pubblica della tua nuova coppia di chiavi sotto le informazioni relative alla chiave pubblica esistente, quindi salva il file.

1. Disconnettiti dall’istanza. Verifica di poterti connettere alla tua istanza utilizzando il file della chiave privata della nuova coppia di chiavi.

1. Se usi Auto Scaling, EC2 fleet o un modello di avvio per avviare le istanze, controlla se la coppia di chiavi che stai sostituendo è specificata nel modello o nella configurazione di avvio. Altrimenti, l’avvio dell’istanza avrà esito negativo.

1. (Facoltativo) Se si sostituisce una coppia di chiavi esistente, connettersi all'istanza ed eliminare le informazioni sulla chiave pubblica per la coppia di chiavi originale dal file `.ssh/authorized_keys`.

**Come rimuovere una chiave pubblica da un'istanza**

1. [Connettiti alla tua istanza](connect-to-linux-instance.md).

1. Utilizzare l'editor di testo preferito, aprire il file `.ssh/authorized_keys` nell'istanza. Eliminare le informazioni sulla chiave pubblica e quindi salvare il file.

**avvertimento**  
Se rimuovi tutte le chiavi pubbliche da un’istanza e ti disconnetti da essa, non potrai ricollegarti all’istanza a meno che non abbia configurato un metodo alternativo per effettuare l’accesso.

# Verifica dell'impronta digitale della coppia di chiavi
<a name="verify-keys"></a>

Per verificare l'impronta digitale della tua coppia di chiavi, confronta l'impronta digitale visualizzata nella pagina **Coppie di chiavi** nella console Amazon EC2, o restituita dal comando, con [describe-key-pairs](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-key-pairs.html)l'impronta digitale generata utilizzando la chiave privata sul tuo computer locale. Queste impronte digitali devono corrispondere.

Quando Amazon EC2 calcola un'impronta digitale, potrebbe accodare un padding all'impronta digitale con caratteri `=`. Altri strumenti, ad esempio **ssh-keygen**, potrebbero omettere questo padding.

Se stai cercando di verificare l'impronta digitale dell'istanza EC2 Linux, non l'impronta digitale della coppia di chiavi, consulta [Ottenimento dell'impronta dell'istanza](connection-prereqs-general.md#connection-prereqs-fingerprint).

## Come vengono calcolate le impronte digitali
<a name="how-ec2-key-fingerprints-are-calculated"></a>

Amazon EC2 utilizza diverse funzioni hash per calcolare le impronte digitali per le coppie di chiavi RSA e ED25519. Inoltre, per le coppie di chiavi RSA, Amazon EC2 calcola le impronte digitali in modo diverso utilizzando diverse funzioni hash a seconda che la coppia di chiavi sia stata creata da Amazon EC2 o importata in Amazon EC2.

Nella tabella seguente sono elencate le funzioni hash utilizzate per calcolare le impronte digitali per le coppie di chiavi RSA e ED25519 create da Amazon EC2 e importate in Amazon EC2.


**(Istanze Linux) Funzioni hash utilizzate per calcolare le impronte digitali**  

| Fonte di coppia di chiavi | Coppie di chiavi RSA (Windows e Linux) | ED25519 coppie di chiavi (Linux) | 
| --- | --- | --- | 
| Create da Amazon EC2 | SHA-1 | SHA-256 | 
| Importate in Amazon EC2 | MD5¹ | SHA-256 | 

¹ Se importi una chiave RSA pubblica in Amazon EC2, l'impronta digitale viene calcolata utilizzando una funzione hash MD5. Ciò è vero indipendentemente da come è stata creata la coppia di chiavi, ad esempio utilizzando uno strumento di terze parti o generando una nuova chiave pubblica da una chiave privata esistente creata con Amazon EC2.

## Utilizzare la stessa coppia di chiavi in diverse regioni
<a name="when-using-same-key-pair-in-different-regions"></a>

Se prevedi di utilizzare la stessa coppia di chiavi per connetterti a istanze diverse Regioni AWS, devi importare la chiave pubblica in tutte le regioni in cui la utilizzerai. Se utilizzi Amazon EC2 per creare la coppia di chiavi, puoi [Recupero del materiale delle chiavi pubbliche](describe-keys.md#retrieving-the-public-key) in modo da poter importare la chiave pubblica nelle altre regioni.

**Nota**  
Se si crea una coppia di chiavi RSA utilizzando Amazon EC2 e poi una chiave pubblica dalla chiave privata Amazon EC2, le chiavi pubbliche importate avranno un'impronta digitale diversa rispetto alla chiave pubblica originale. Questo perché l'impronta digitale della chiave RSA originale creata con Amazon EC2 viene calcolata utilizzando una funzione hash SHA-1, mentre l'impronta digitale delle chiavi RSA importate viene calcolata utilizzando una funzione hash. MD5 
Per le coppie di chiavi ED25519, le impronte digitali saranno uguali indipendentemente dal fatto che siano state create da Amazon EC2 o importate in Amazon EC2, poiché la stessa funzione hash SHA-256 viene utilizzata per calcolare l'impronta digitale.

## Creazione di un'impronta digitale dalla chiave privata
<a name="generate-fingerprint-from-private-key"></a>

Utilizza uno dei seguenti comandi per generare un'impronta digitale dalla chiave privata sul computer locale.

Se si sta utilizzando un computer locale Windows, è possibile eseguire i comandi seguenti tramite Windows Subsystem per Linux (WSL). Installa il WSL e una distribuzione Linux seguendo le istruzioni riportate nella guida [Come installare Linux in Windows con WSL](https://learn.microsoft.com/en-us/windows/wsl/install). L'esempio riportato nelle istruzioni installa la distribuzione Ubuntu di Linux, ma si può installare qualunque distribuzione. Affinché vengano applicate le modifiche, ti verrà chiesto di riavviare il computer.
+ **Se la coppia di chiavi è stata creata tramite Amazon EC2**

  Utilizza gli strumenti di OpenSSL per generare un'impronta digitale come riportato negli esempi seguenti.

  Per le coppie di chiavi RSA:

  ```
  openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c
  ```

  ( ED25519 Istanze Linux) Per coppie di chiavi:

  ```
  ssh-keygen -l -f path_to_private_key
  ```
+ **(Solo coppie di chiavi RSA) Se hai importato la chiave pubblica in Amazon EC2**

  Puoi seguire questa procedura indipendentemente dalla modalità con cui hai creato la coppia di chiavi, ad esempio utilizzando uno strumento di terzi o generando una nuova chiave pubblica da una chiave privata esistente creata utilizzando Amazon EC2

  Utilizza gli strumenti di OpenSSL per generare l'impronta digitale come riportato nell'esempio seguente.

  ```
  openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c
  ```
+ **Se una coppia di chiavi OpenSSH è stata creata mediante OpenSSH 7.8 o versioni successive e la chiave pubblica è stata importata in Amazon EC2**

  Utilizza **ssh-keygen** per generare un'impronta digitale come riportato negli esempi seguenti.

  Per le coppie di chiavi RSA:

  ```
  ssh-keygen -ef path_to_private_key -m PEM | openssl rsa -RSAPublicKey_in -outform DER | openssl md5 -c
  ```

  (Istanze Linux) Per coppie di ED25519 chiavi:

  ```
  ssh-keygen -l -f path_to_private_key
  ```

# Gruppi di sicurezza Amazon EC2 per le istanze EC2
<a name="ec2-security-groups"></a>

Un *gruppo di sicurezza* funge da firewall virtuale per le istanze EC2 per controllare il traffico in entrata e quello in uscita. Le regole in entrata controllano il traffico in entrata verso l'istanza e le regole in uscita controllano il traffico in uscita dall'istanza. Quando avvii un'istanza puoi specificare uno o più gruppi di sicurezza. Se non specifichi un gruppo di sicurezza, Amazon EC2 usa il gruppo di sicurezza predefinito per il VPC. Dopo l'avvio di un'istanza, è possibile modificare i relativi gruppi di sicurezza.

La sicurezza è una responsabilità condivisa tra te AWS e te. Per ulteriori informazioni, vedere[Sicurezza in Amazon EC2](ec2-security.md). AWS fornisce i gruppi di sicurezza come uno degli strumenti per proteggere le istanze e devi configurarli per soddisfare le tue esigenze di sicurezza. Se i gruppi di sicurezza non soddisfano pienamente i requisiti, oltre a utilizzare i gruppi di sicurezza è possibile mantenere il firewall su tutte le istanze.

**Prezzi**  
L'utilizzo di gruppi di sicurezza non comporta costi supplementari.

**Topics**
+ [

## Panoramica di
](#security-group-basics)
+ [

# Creare un gruppo di sicurezza per l'istanza Amazon EC2.
](creating-security-group.md)
+ [

# Modifica i gruppi di sicurezza per l'istanza Amazon EC2.
](changing-security-group.md)
+ [

# Eliminare un gruppo di sicurezza Amazon EC2
](deleting-security-group.md)
+ [

# Monitoraggio della connessione al gruppo di sicurezza Amazon EC2
](security-group-connection-tracking.md)
+ [

# Regole del gruppo di sicurezza per diversi casi d'uso
](security-group-rules-reference.md)

## Panoramica di
<a name="security-group-basics"></a>

È possibile associare ogni istanza a più gruppi di sicurezza e associare ogni gruppo di sicurezza a più istanze. A ciascun gruppo di sicurezza si possono aggiungere regole che permettono il traffico da e verso le istanze a esso associate. Puoi modificare le regole di un gruppo di sicurezza in qualsiasi momento. Regole nuove e modificate vengono applicate automaticamente a tutte le istanze associate al gruppo di sicurezza. Quando Amazon EC2 decide se permettere al traffico di raggiungere un'istanza, valuta tutte le regole da tutti i gruppi di sicurezza associati all'istanza. Per ulteriori informazioni, consulta [Regole del gruppo di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) nella *Guida per l'utente di Amazon VPC*.

Il diagramma seguente mostra un VPC con una sottorete, un gateway Internet e un gruppo di sicurezza. La sottorete contiene delle istanze EC2. Il gruppo di sicurezza è associato alle istanze. L'unico traffico che raggiunge l'istanza è quello consentito dalle regole del gruppo di sicurezza. Ad esempio, se il gruppo di sicurezza contiene una regola che consente il traffico SSH dalla tua rete, allora puoi connetterti all'istanza dal tuo computer attraverso SSH. Se il gruppo di sicurezza contiene una regola che consente tutto il traffico proveniente dalle risorse a esso associate, ogni istanza può ricevere tutto il traffico inviato dalle altre istanze.

![\[Un VPC con un gruppo di sicurezza. Le istanze EC2 nella sottorete sono associate al gruppo di sicurezza.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/ec2-security-groups.png)


I gruppi di sicurezza sono stateful — Se invii una richiesta da un'istanza, il traffico in risposta alla richiesta è autorizzato a entrare, indipendentemente dalle regole dei gruppi di sicurezza in entrata. Inoltre, l risposte al traffico in entrata autorizzato possono uscire indipendentemente dalle regole in uscita. Per ulteriori informazioni, consulta [Monitoraggio delle connessioni](security-group-connection-tracking.md).

# Creare un gruppo di sicurezza per l'istanza Amazon EC2.
<a name="creating-security-group"></a>

I gruppi di sicurezza fungono da firewall per le istanze associate, controllando sia il traffico in entrata che in uscita a livello di istanza. È possibile aggiungere regole a un gruppo di sicurezza che consentono di connettersi all'istanza tramite SSH (istanze Linux) o RDP (istanze Windows). È inoltre possibile aggiungere regole che consentono il traffico client, ad esempio il traffico HTTP e HTTPS destinato a un server Web.

Puoi associare un gruppo di sicurezza a un'istanza quando la avvii. Quando aggiungi o rimuovi delle regole da dei gruppi di sicurezza associati, queste modifiche vengono applicate automaticamente a tutte le istanze a cui hai associato il gruppo di sicurezza.

Dopo l'avvio di un'istanza, puoi associare altri gruppi di sicurezza. Per ulteriori informazioni, consulta [Modifica i gruppi di sicurezza per l'istanza Amazon EC2.](changing-security-group.md).

Puoi aggiungere regole del gruppo di sicurezza in entrata e in uscita durante la creazione di un gruppo di sicurezza oppure in un secondo momento. Per ulteriori informazioni, consulta [Configurazione delle regole per i gruppi di sicurezza](changing-security-group.md#add-remove-security-group-rules). Per vedere esempi di regole che è possibile aggiungere a un gruppo di sicurezza, consulta [Regole del gruppo di sicurezza per diversi casi d'uso](security-group-rules-reference.md).

**Considerazioni**
+ I nuovi gruppi di sicurezza hanno solo una regola in uscita che autorizza tutto il traffico a lasciare la risorsa. Devi aggiungere le regole per autorizzare qualsiasi tipo di traffico in entrata o per limitare quello in uscita.
+ Quando configuri un'origine per una regola che consente l'accesso SSH o RDP alle tue istanze, non consentire l'accesso da nessuna parte, perché in questo modo consentiresti l'accesso all'istanza da tutti gli indirizzi IP su Internet. Questo è accettabile per un breve periodo di tempo in un ambiente di test, ma non è sicuro per gli ambienti di produzione.
+ Se esistono più regole per una determinata porta, Amazon EC2 applica la regola più permissiva. Ad esempio, se disponi di una regola che autorizza l'accesso alla porta TCP 22 (SSH) dall'indirizzo IP 203.0.113.1 e un'altra regola che autorizza l'accesso alla porta TCP 22 da ovunque, allora chiunque può accedere alla porta TCP 22.
+ Puoi associare più gruppi di sicurezza a un'istanza. Pertanto, un'istanza può disporre di centinaia di regole valide. Questo può causare problemi nell'accesso all'istanza. È consigliabile comprimere le regole il più possibile.
+ Quando specifichi un gruppo di sicurezza come l'origine o la destinazione di una regola, la regola influenza tutte le istanze associate al gruppo di sicurezza. Il traffico in entrata è autorizzato in base agli indirizzi IP privati delle istanze associate al gruppo di sicurezza di origine (e non in base agli indirizzi IP elastici o pubblici). Per ulteriori informazioni sugli indirizzi IP, consulta [Indirizzamento IP per le istanze Amazon EC2](using-instance-addressing.md).
+ Per impostazione predefinita, Amazon EC2 blocca il traffico sulla porta 25. Per ulteriori informazioni, consulta [Restrizione sull'e-mail inviata tramite la porta 25](ec2-resource-limits.md#port-25-throttle).

------
#### [ Console ]

**Per creare un gruppo di sicurezza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Fare clic su **Security Groups (Gruppi di sicurezza)** nel pannello di navigazione.

1. Scegliere **Create Security Group (Crea gruppo di sicurezza)**.

1. Immettere un nome descrittivo e una breve descrizione del gruppo di sicurezza. Non è possibile modificare il nome e la descrizione di un gruppo di sicurezza dopo averlo creato.

1. Per **VPC**, scegli il VPC su cui eseguirai le tue istanze Amazon EC2.

1. (Facoltativo) Per aggiungere regole in entrata, scegli **Regole in entrata**. Per ogni regola, scegli **Aggiungi regola** e specifica il protocollo, la porta e l'origine. **Ad esempio, per consentire il traffico SSH, scegli **SSH** per **Tipo** e specifica l' IPv4 indirizzo pubblico del computer o della rete come Sorgente.**

1. (Facoltativo) Per aggiungere regole in uscita, scegli **Regole in uscita**. Per ogni regola, scegli **Aggiungi regola** e specifica il protocollo, la porta e la destinazione. Altrimenti, puoi mantenere la regola predefinita, che autorizza tutto il traffico in uscita.

1. (Facoltativo) Per aggiungere un tag, scegli **Add new tag** (Aggiungi nuovo tag) e immetti la chiave e il valore del tag.

1. Scegliere **Create Security Group** (Crea gruppo di sicurezza).

------
#### [ AWS CLI ]

**Per creare un gruppo di sicurezza**  
Utilizza il seguente comando [create-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-security-group.html).

```
aws ec2 create-security-group \
    --group-name my-security-group \
    --description "my security group" \
    --vpc-id vpc-1234567890abcdef0
```

Per esempi che aggiungono regole, consulta [Configurazione delle regole per i gruppi di sicurezza](changing-security-group.md#add-remove-security-group-rules).

------
#### [ PowerShell ]

**Per creare un gruppo di sicurezza**  
Utilizza il cmdlet [New-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2SecurityGroup.html).

```
New-EC2SecurityGroup `
    -GroupName my-security-group `
    -Description "my security group" `
    -VpcId vpc-1234567890abcdef0
```

Per esempi che aggiungono regole, consulta [Configurazione delle regole per i gruppi di sicurezza](changing-security-group.md#add-remove-security-group-rules).

------

# Modifica i gruppi di sicurezza per l'istanza Amazon EC2.
<a name="changing-security-group"></a>

È possibile specificare i gruppi di sicurezza per le istanze Amazon EC2 durante l'avvio. Dopo l'avvio di un'istanza, è possibile aggiungere o rimuovere i gruppi di sicurezza. Puoi anche aggiungere, rimuovere o modificare le regole dei gruppi di sicurezza per i gruppi di sicurezza associati in qualsiasi momento.

I gruppi di sicurezza sono associati alle interfacce di rete. Quando si aggiungono o rimuovono gruppi di sicurezza, cambiano anche i gruppi di sicurezza associati all'interfaccia di rete primaria. Si possono modificare anche i gruppi di sicurezza associati a qualunque interfaccia di rete secondaria. Per ulteriori informazioni, consulta [Modifica degli attributi dell'interfaccia di rete](modify-network-interface-attributes.md).

**Topics**
+ [

## Aggiungi o rimuovi gruppi di sicurezza
](#add-remove-instance-security-groups)
+ [

## Configurazione delle regole per i gruppi di sicurezza
](#add-remove-security-group-rules)

## Aggiungi o rimuovi gruppi di sicurezza
<a name="add-remove-instance-security-groups"></a>

Dopo avere avviato un'istanza, puoi aggiungere o rimuovere gruppi di sicurezza dall'elenco dei gruppi di sicurezza associati. Se associ a un'istanza più gruppi di sicurezza, le regole di ciascun gruppo di sicurezza vengono aggregate efficacemente per creare un unico set di regole. Amazon EC2 utilizza questo set di regole per determinare se consentire il traffico o meno.

**Requisiti**
+ L'istanza deve trovarsi nello stato `running` o `stopped`.

------
#### [ Console ]

**Per modificare i gruppi di sicurezza per un'istanza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

1. Selezionare l'istanza, quindi scegliere **Actions (Operazioni)**, **Security (Sicurezza)**, **Change security groups (Cambia gruppi di sicurezza)**.

1. Per **Gruppi di sicurezza associati**, selezionare un gruppo di sicurezza dall'elenco e scegliere **Aggiungi gruppo di sicurezza**.

   Per rimuovere un gruppo di sicurezza già associato, scegliere **Rimuovi** per tale gruppo di sicurezza.

1. Scegli **Save** (Salva).

------
#### [ AWS CLI ]

**Per modificare i gruppi di sicurezza per un'istanza**  
Utilizza il seguente comando [modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html).

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --groups sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**Per modificare i gruppi di sicurezza per un'istanza**  
Utilizza il cmdlet [Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html).

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -Group sg-1234567890abcdef0
```

------

## Configurazione delle regole per i gruppi di sicurezza
<a name="add-remove-security-group-rules"></a>

Dopo aver creato un gruppo di sicurezza, puoi aggiungere, aggiornare ed eliminare le relative regole. Quando aggiungi, aggiorni o elimini una regola, la modifica viene applicata automaticamente alle risorse associate al gruppo di sicurezza.

Per vedere esempi di regole che è possibile aggiungere a un gruppo di sicurezza, consulta [Regole del gruppo di sicurezza per diversi casi d'uso](security-group-rules-reference.md).

**Autorizzazioni richieste**  
Prima di iniziare, assicurati di disporre delle autorizzazioni richieste. Per ulteriori informazioni, consulta [Esempio: utilizzo dei gruppi di sicurezza](iam-policies-ec2-console.md#ex-security-groups).

**Protocolli e porte**
+ Con la console, quando selezioni un tipo predefinito, il **protocollo** e l’**intervallo di porte** vengono specificati automaticamente. Per inserire un intervallo di porte, dovrai selezionare uno dei seguenti tipi personalizzati: **TCP personalizzato** o **UDP personalizzato**.
+ Con AWS CLI, puoi aggiungere una singola regola con una sola porta utilizzando le opzioni `--protocol` and`--port`. Per aggiungere più regole o una regola con un intervallo di porte, seleziona l’opzione `--ip-permissions`.

**Origini e destinazioni**
+ Tramite la console potrai indicare i seguenti dati come origine per le regole in entrata o come destinazione per le regole in uscita:
  + **Personalizzato**: un blocco IPv4 CIDR, un blocco IPv6 CIDR, un gruppo di sicurezza o un elenco di prefissi.
  + **Anywhere- IPv4** — Il blocco CIDR 0.0.0.0/0 IPv4 .
  + **Anywhere- IPv6 —** Il blocco CIDR: :/0. IPv6 
  + **Il mio IP**: l' IPv4 indirizzo pubblico del computer locale.
+ Con AWS CLI, è possibile specificare un blocco IPv4 CIDR utilizzando l'`--cidr`opzione o un gruppo di sicurezza utilizzando l'`--source-group`opzione. Per specificare un elenco di prefissi o un blocco IPv6 CIDR, utilizzate l'opzione. `--ip-permissions`

**avvertimento**  
Se aggiungi delle regole in entrata per le porte 22 (SSH) o 3389 (RDP), è consigliabile autorizzare l'accesso all'istanza solo l'indirizzo IP o l'intervallo di indirizzi specifico. Se scegli **Anywhere- IPv4**, consenti al traffico proveniente da tutti IPv4 gli indirizzi di accedere alle tue istanze utilizzando il protocollo specificato. Se scegli **Anywhere- IPv6**, consenti al traffico proveniente da tutti IPv6 gli indirizzi di accedere alle tue istanze utilizzando il protocollo specificato.

------
#### [ Console ]

**Configurazione delle regole per i gruppi di sicurezza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Fai clic su **Security Groups (Gruppi di sicurezza)** nel riquadro di navigazione.

1. Selezionare il gruppo di sicurezza.

1. Per modificare le regole in entrata, scegli **Modifica regole in entrata** dalla scheda **Azioni** o dalla scheda **Regole in entrata**.

   1. Per aggiungere una regola, scegli **Aggiungi regola** e immetti il tipo, il protocollo, la porta e l'origine della regola.

      Se il tipo è TCP o UDP, è necessario immettere l'intervallo di porte consentito. Se si sceglie un protocollo ICMP personalizzato, occorre scegliere il nome del tipo ICMP da **Protocollo** e, se applicabile, il nome del codice da **Intervallo di porte**. Se scegli qualsiasi altro tipo, il protocollo e l'intervallo di porte vengono configurati automaticamente.

   1. Per aggiornare una regola, modificane il protocollo, la descrizione e l'origine in base alle esigenze. Tuttavia, il tipo di origine non può essere modificato. Ad esempio, se l'origine è un blocco IPv4 CIDR, non è possibile specificare un blocco IPv6 CIDR, un elenco di prefissi o un gruppo di sicurezza.

   1. Per eliminare una regola, seleziona il pulsante **Elimina** corrispondente.

1. Per modificare le regole in uscita, scegli **Modifica regole in uscita** dalla scheda **Azioni** o dalla scheda **Regole in uscita**.

   1. Per aggiungere una regola, scegli **Aggiungi regola** e immetti il tipo, il protocollo, la porta e la destinazione della regola. Facoltativamente, è possibile inserire una descrizione.

      Se il tipo è TCP o UDP, è necessario immettere l'intervallo di porte consentito. Se si sceglie un protocollo ICMP personalizzato, occorre scegliere il nome del tipo ICMP da **Protocollo** e, se applicabile, il nome del codice da **Intervallo di porte**. Se scegli qualsiasi altro tipo, il protocollo e l'intervallo di porte vengono configurati automaticamente.

   1. Per aggiornare una regola, modificane il protocollo, la descrizione e l'origine in base alle esigenze. Tuttavia, il tipo di origine non può essere modificato. Ad esempio, se l'origine è un blocco IPv4 CIDR, non è possibile specificare un blocco IPv6 CIDR, un elenco di prefissi o un gruppo di sicurezza.

   1. Per eliminare una regola, seleziona il pulsante **Elimina** corrispondente.

1. Scegliere **Salva regole**.

------
#### [ AWS CLI ]

**Per aggiungere regole del gruppo di sicurezza**  
Utilizzate il [authorize-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-ingress.html)comando per aggiungere regole in entrata. Il seguente esempio consente il traffico SSH in entrata dai blocchi CIDR nell’elenco di prefissi specificato.

```
aws ec2 authorize-security-group-ingress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=22,ToPort=22,PrefixListIds=[{PrefixListId=pl-f8a6439156EXAMPLE}]'
```

Usa il [authorize-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/authorize-security-group-egress.html)comando per aggiungere regole in uscita. Il seguente esempio consente il traffico TCP in uscita sulla porta 80 alle istanze con il gruppo di sicurezza specificato.

```
aws ec2 authorize-security-group-egress \
    --group-id sg-1234567890abcdef0 \
    --ip-permissions 'IpProtocol=tcp,FromPort=80,ToPort=80,UserIdGroupPairs=[{GroupId=sg-0aad1c26bb6EXAMPLE}]'
```

**Per rimuovere le regole per del gruppo di sicurezza**  
Utilizzare il [revoke-security-group-ingress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-ingress.html)comando seguente per rimuovere una regola in entrata.

```
aws ec2 revoke-security-group-egress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-09ed298024EXAMPLE
```

Utilizzare il [revoke-security-group-egress](https://docs.aws.amazon.com/cli/latest/reference/ec2/revoke-security-group-egress.html)comando seguente per rimuovere una regola in uscita.

```
aws ec2 revoke-security-group-ingress \
    --group id sg-1234567890abcdef0 \
    --security-group-rule-ids sgr-0352250c1aEXAMPLE
```

**Per modificare le regole del gruppo di sicurezza**  
Utilizza il comando [modify-security-group-rules](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-security-group-rules.html). L'esempio seguente modifica il blocco IPv4 CIDR della regola del gruppo di sicurezza specificato.

```
aws ec2 modify-security-group-rules \
    --group id sg-1234567890abcdef0 \
    --security-group-rules 'SecurityGroupRuleId=sgr-09ed298024EXAMPLE,SecurityGroupRule={IpProtocol=tcp,FromPort=80,ToPort=80,CidrIpv4=0.0.0.0/0}'
```

------
#### [ PowerShell ]

**Per aggiungere regole del gruppo di sicurezza**  
Utilizzare il [Grant-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupIngress.html)cmdlet per aggiungere regole in entrata. Il seguente esempio consente il traffico SSH in entrata dai blocchi CIDR nell’elenco di prefissi specificato.

```
$plid = New-Object -TypeName Amazon.EC2.Model.PrefixListId
$plid.Id = "pl-f8a6439156EXAMPLE"
Grant-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=22; ToPort=22; PrefixListIds=$plid}
```

Utilizzare il [Grant-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Grant-EC2SecurityGroupEgress.html)cmdlet per aggiungere regole in uscita. Il seguente esempio consente il traffico TCP in uscita sulla porta 80 alle istanze con il gruppo di sicurezza specificato.

```
$uigp = New-Object -TypeName Amazon.EC2.Model.UserIdGroupPair
$uigp.GroupId = "sg-0aad1c26bb6EXAMPLE"
Grant-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -IpPermission @{IpProtocol="tcp"; FromPort=80; ToPort=80; UserIdGroupPairs=$uigp}
```

**Per rimuovere le regole per del gruppo di sicurezza**  
Utilizzare il [Revoke-EC2SecurityGroupIngress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupIngress.html)cmdlet per rimuovere le regole in entrata.

```
Revoke-EC2SecurityGroupIngress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-09ed298024EXAMPLE
```

Utilizzare il [Revoke-EC2SecurityGroupEgress](https://docs.aws.amazon.com/powershell/latest/reference/items/Revoke-EC2SecurityGroupEgress.html)cmdlet per rimuovere le regole in uscita.

```
Revoke-EC2SecurityGroupEgress `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRuleId sgr-0352250c1aEXAMPLE
```

**Per modificare le regole del gruppo di sicurezza**  
Utilizza il cmdlet [Edit-EC2SecurityGroupRule](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SecurityGroupRule.html). L'esempio seguente modifica il blocco IPv4 CIDR della regola del gruppo di sicurezza specificato.

```
$sgrr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleRequest
$sgrr.IpProtocol = "tcp"
$sgrr.FromPort = 80
$sgrr.ToPort = 80
$sgrr.CidrIpv4 = "0.0.0.0/0"
$sgr = New-Object -TypeName Amazon.EC2.Model.SecurityGroupRuleUpdate
$sgr.SecurityGroupRuleId = "sgr-09ed298024EXAMPLE"
$sgr.SecurityGroupRule = $sgrr
Edit-EC2SecurityGroupRule  `
    -GroupId sg-1234567890abcdef0 `
    -SecurityGroupRule $sgr
```

------

# Eliminare un gruppo di sicurezza Amazon EC2
<a name="deleting-security-group"></a>

Quando non hai più bisogno di un gruppo di sicurezza che hai creato per le istanze Amazon EC2, puoi eliminarlo.

**Requisiti**
+ Il gruppo di sicurezza non può essere associato a un'istanza o un'interfaccia di rete.
+ Il gruppo di sicurezza non può essere utilizzato come riferimento da una regola di un altro gruppo di sicurezza.

------
#### [ Console ]

**Per eliminare un gruppo di sicurezza**

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. (Facoltativo) Per verificare che il gruppo di sicurezza non sia associato a un'istanza, procedi come segue:

   1. Fai clic su **Gruppi di sicurezza** nel riquadro di navigazione.

   1. Copia l'ID del gruppo di sicurezza da eliminare.

   1. Nel riquadro di navigazione, scegliere **Instances (Istanze)**.

   1. Nella barra di ricerca, aggiungi il filtro **Security group IDs equals** e incolla l'ID del gruppo di sicurezza. Se non ci sono risultati, il gruppo di sicurezza non è associato a un'istanza. In caso contrario, è necessario disassociare il gruppo di sicurezza prima di poterlo eliminare.

1. Fai clic su **Gruppi di sicurezza** nel riquadro di navigazione.

1. Seleziona il gruppo di sicurezza e scegli **Operazioni**, **Elimina gruppi di sicurezza**.

1. Se hai selezionato più di un gruppo di sicurezza, ti verrà richiesta la conferma. Se alcuni gruppi di sicurezza non possono essere eliminati, viene visualizzato lo stato di ciascun gruppo di sicurezza, che indica se verrà eliminato. Per confermare l'eliminazione, immetti **Elimina**.

1. Scegli **Elimina**.

------
#### [ AWS CLI ]

**Per eliminare un gruppo di sicurezza**  
Utilizza il seguente comando [delete-security-group](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-security-group.html).

```
aws ec2 delete-security-group --group-id sg-1234567890abcdef0
```

------
#### [ PowerShell ]

**Per eliminare un gruppo di sicurezza**  
Utilizza il cmdlet [Remove-EC2SecurityGroup](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2SecurityGroup.html).

```
Remove-EC2SecurityGroup -GroupId sg-1234567890abcdef0
```

------

# Monitoraggio della connessione al gruppo di sicurezza Amazon EC2
<a name="security-group-connection-tracking"></a>

I gruppi di sicurezza utilizzano il monitoraggio delle connessioni per tracciare le informazioni sul traffico da e verso l'istanza. Le regole si applicano in base allo stato della connessione per stabilire se il traffico è autorizzato o negato. Con questo approccio, i gruppi di sicurezza sono con stato. Ovvero, le risposte al traffico in entrata possono uscire dall'istanza a prescindere dalle regole del gruppo di sicurezza in uscita, e viceversa.

Ad esempio, supponiamo di avviare un comando come netcat o similare sulle istanze dal computer di casa e che le regole del gruppo di sicurezza in entrata consentano il traffico ICMP. Le informazioni sulla connessione (incluse le informazioni sulla porta) vengono monitorate. Il traffico in risposta dall'istanza per il comando non viene monitorato come nuova richiesta, ma come connessione stabilita e può uscire dall'istanza, anche se le regole del gruppo di sicurezza in uscita limitano il traffico ICMP in uscita.

Per i protocolli diversi da TCP, UDP o ICMP, vengono monitorati solo l'indirizzo IP e il numero di protocollo. Se l'istanza invia traffico a un altro host e l'host invia lo stesso tipo di traffico verso l'istanza entro 600 secondi, verrà accettato dal gruppo di sicurezza dell'istanza a prescindere dalle regole del gruppo di sicurezza in entrata. Il gruppo di sicurezza lo accetta perché considerato traffico di risposta al traffico originale.

Quando si modifica una regola del gruppo di sicurezza, le connessioni tracciate non vengono interrotte immediatamente. Il gruppo di sicurezza continua a consentire i pacchetti fino al timeout delle connessioni esistenti. Per avere la certezza che il traffico venga interrotto immediatamente o che tutto il traffico sia soggetto alle regole del firewall indipendentemente dallo stato di tracciamento, è possibile utilizzare una lista di controllo degli accessi di rete per la sottorete. ACLs Le reti sono prive di stato e pertanto non consentono automaticamente il traffico di risposta. L'aggiunta di una lista di controllo degli accessi di rete che blocca il traffico in entrambe le direzioni interrompe le connessioni esistenti. Per ulteriori informazioni, consulta [Network ACLs](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) in the *Amazon VPC User* Guide.

**Nota**  
[I gruppi di sicurezza non hanno alcun effetto sul traffico DNS da o verso il Route 53 Resolver, a volte indicato come «indirizzo IP VPC\$12» (vedi Cos'è Amazon Route 53 Resolver?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver.html) nella *Amazon Route 53 Developer Guide*) o nella 'AmazonProvidedDNS' (consulta [Work with DHCP option sets](https://docs.aws.amazon.com/vpc/latest/userguide/DHCPOptionSet.html) nella *Amazon Virtual Private Cloud User Guide*). Se desideri filtrare le richieste DNS tramite il risolutore Route 53, puoi abilitare DNS Firewall per il risolutore Route 53 (consulta [DNS Firewall per il risolutore Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-dns-firewall.html) nella *Guida per sviluppatori di Amazon Route 53*).

## Connessioni non tracciate
<a name="untracked-connections"></a>

Non vengono monitorati tutti i flussi di traffico. Se una regola del gruppo di sicurezza permette flussi TCP o UDP per tutto il traffico (0.0.0.0/0 o ::/0) e nell'altra direzione c'è una regola corrispondente che autorizza tutto il traffico in risposta (0.0.0.0/0 o ::/0) per qualsiasi porta (0-65535), allora questo flusso di traffico non viene monitorato, a meno che non faccia parte di una [connessione monitorata automaticamente](#automatic-tracking). Il traffico in risposta per un flusso non monitorato può scorrere in base alla regola in entrata o in uscita che autorizza il traffico in risposta, non in base alle informazioni di monitoraggio.

Un flusso di traffico non monitorato viene interrotto immediatamente se la regola che permette il flusso è rimossa o modificata. Ad esempio, se disponi di una regola in uscita (0.0.0.0/0) aperta e rimuovi una regola che autorizza tutto il traffico SSH (porta TCP 22) in entrata (0.0.0.0/0) verso l'istanza (o la modifichi per non consentire più la connessione), le connessioni SSH all'istanza esistenti vengono immediatamente rimosse. Poiché la connessione non è stata in precedenza tracciata, la modifica interromperà la connessione. D'altra parte, se disponi di una regola in entrata più rigida che inizialmente consente una connessione SSH (ovvero la connessione è stata monitorata), ma modifichi la regola per non consentire più nuove connessioni dall'indirizzo del client SSH corrente, la connessione SSH esistente non verrà interrotta poiché è monitorata.

## Connessioni monitorate automaticamente
<a name="automatic-tracking"></a>

Le connessioni effettuate tramite il seguente vengono monitorate automaticamente, anche se la configurazione del gruppo di sicurezza non lo richiede altrimenti:
+ Internet Gateway egress-only
+ Acceleratori di Global Accelerator
+ Gateway NAT
+ Endpoint Firewall Network Firewall
+ Network Load Balancers
+ AWS PrivateLink (endpoint VPC di interfaccia)
+ AWS Lambda (interfacce di rete elastiche Hyperplane)
+ Endpoint gateway DynamoDB: ogni connessione a DynamoDB utilizza 2 voci conntrack.

## Permessi di tracciamento delle connessioni
<a name="connection-tracking-throttling"></a>

Amazon EC2 definisce il numero massimo di connessioni che possono essere monitorate per ogni istanza. Una volta raggiunto il massimo, tutti i pacchetti inviati o ricevuti vengono eliminati perché non è possibile stabilire una nuova connessione. In questo caso, le applicazioni che inviano e ricevono pacchetti non possono comunicare correttamente. Utilizza il parametro delle prestazioni di rete `conntrack_allowance_available` per determinare il numero di connessioni tracciate ancora disponibili per quel tipo di istanza.

Per determinare se i pacchetti sono stati eliminati perché il traffico di rete per l'istanza ha superato il numero massimo di connessioni che possono essere monitorate, utilizza il parametro delle prestazioni di rete `conntrack_allowance_exceeded`. Per ulteriori informazioni, consulta [Monitoraggio delle prestazioni di rete per le impostazioni ENA dell'istanza EC2](monitoring-network-performance-ena.md).

Con Elastic Load Balancing, se si supera il numero massimo di connessioni che è possibile monitorare per istanza, si consiglia di ridimensionare il numero di istanze registrate con il load balancer o la dimensione delle istanze registrate con il load balancer.

## Migliori pratiche di tracciamento delle connessioni
<a name="connection-tracking-performance"></a>

Il routing asimmetrico, in cui il traffico entra in un’istanza attraverso un’interfaccia di rete ed esce da un’altra interfaccia di rete, può ridurre le prestazioni di picco che un’istanza può raggiungere se i flussi vengono tracciati.

Per mantenere le massime prestazioni e ottimizzare la gestione delle connessioni quando il tracciamento delle connessioni è abilitato per i gruppi di sicurezza, consigliamo la seguente configurazione:
+ Evita topologie di routing asimmetriche, se possibile.
+ Invece di utilizzare i gruppi di sicurezza per il filtraggio, utilizza la rete ACLs.
+ Se devi utilizzare gruppi di sicurezza con il tracciamento delle connessioni, configura il timeout di tracciamento delle connessioni in modo che sia inattivo per il minor tempo possibile. Per ulteriori dettagli sul timeout del monitoraggio delle connessioni inattive, consulta la sezione seguente.
+ Con i timeout predefiniti più brevi sulle istanze Nitrov6, le applicazioni con connessioni di lunga durata (come pool di connessioni al database, connessioni HTTP persistenti o carichi di lavoro in streaming) dovrebbero configurare un valore appropriato all'avvio dell'istanza. `TcpEstablishedTimeout`
+ Per le connessioni di lunga durata, configura TCP keep alives in modo che vengano inviate a intervalli inferiori a 5 minuti per garantire che le connessioni rimangano aperte e mantengano il loro stato tracciato. Questo aiuta a prevenire l'interruzione delle connessioni a causa di un timeout di inattività e riduce il sovraccarico dovuto al ripristino della connessione.

Per ulteriori informazioni sull'ottimizzazione della performance sul sistema Nitro, consultare [Considerazioni sul sistema Nitro per l’ottimizzazione delle prestazioni](ena-nitro-perf.md).

## Timeout di tracciamento delle connessioni inattive
<a name="connection-tracking-timeouts"></a>

Il gruppo di sicurezza tiene traccia di ogni connessione stabilita per garantire che i pacchetti restituiti vengano consegnati come previsto. Per ciascuna istanza esiste un numero massimo di connessioni che possono essere monitorate. Le connessioni che rimangono inattive possono portare all'esaurimento del tracciamento delle connessioni, impedire il tracciamento delle connessioni ed eliminare i pacchetti. Ora puoi impostare il timeout in secondi per il tracciamento delle connessioni inattive su un'interfaccia di rete elastica.

**Nota**  
Questa funzionalità è disponibile solo con le [istanze basate su Nitro](instance-types.md#instance-hypervisor-type). È necessario testare le applicazioni sulle istanze di generazione Nitrov6 con il `350` secondo timeout predefinito di tracciamento della connessione ridotto prima di distribuirle in produzione.

Esistono tre timeout configurabili:
+ **Timeout TCP stabilito**: il timeout (in secondi) per le connessioni TCP inattive in uno stato stabilito.
  + Minimo: `60` secondi
  + Massimo: `432000` secondi
  + Impostazione predefinita: `350` secondi per i tipi di istanze [Nitrov6](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html), escluso P6e-. GB200 E `432000` secondi per altri tipi di istanze, tra cui P6e-. GB200
  + Consigliato: meno di `432000` secondi.
+ **Timeout UDP**: il timeout (in secondi) per i flussi UDP inattivi che hanno registrato traffico solo in un'unica direzione o una singola transazione richiesta-risposta.
  + Minimo: `30` secondi
  + Massimo: `60` secondi
  + Impostazione predefinita: `30` secondi
+ **Timeout del flusso UDP**: il timeout (in secondi) per i flussi UDP inattivi classificati come flussi che hanno registrato più di una transazione richiesta-risposta.
  + Minimo: `60` secondi
  + Massimo: `180` secondi
  + Impostazione predefinita: `180` secondi

Potresti voler modificare i timeout predefiniti per uno dei seguenti casi:
+  Se [stai monitorando le connessioni tracciate utilizzando i parametri delle prestazioni di rete di Amazon EC2](monitoring-network-performance-ena.md), i parametri *conntrack\$1allowance\$1exceeded* e *conntrack\$1allowance\$1available* consentono di monitorare i pacchetti persi e tenere traccia dell'utilizzo della connessione per gestire in modo proattivo la capacità delle istanze EC2 con azioni di aumento o riduzione per contribuire a soddisfare la domanda di connessioni di rete prima di perdere i pacchetti. Se stai riscontrando un calo di *conntrack\$1allowance\$1exceeded* sulle tue istanze EC2, potresti trarre vantaggio dall'impostare un timeout TCP inferiore per tenere conto delle sessioni obsolete causate da client o middlebox di rete impropri. TCP/UDP 
+ In genere, i sistemi di bilanciamento del carico o i firewall hanno un timeout di inattività stabilito dal protocollo TCP compreso tra 60 e 90 minuti. Se utilizzi carichi di lavoro che dovrebbero gestire un numero molto elevato di connessioni (superiore a 100.000) da dispositivi come i firewall di rete, si consiglia di configurare un timeout simile su un'interfaccia di rete EC2.
+ Se stai eseguendo un carico di lavoro che utilizza una topologia di routing asimmetrico, ti consigliamo di configurare un timeout di inattività di 60 secondi, come stabilito dal protocollo TCP.
+ Se esegui carichi di lavoro con un numero elevato di connessioni come DNS, SIP, SNMP, Syslog, Radius e altri servizi che utilizzano principalmente UDP per soddisfare le richieste, l'impostazione del timeout 'UDP-Stream' su 60s consente di aumentare scale/performance la capacità esistente e prevenire errori grigi.
+ Per le connessioni tramite Network Load Balancer, tutte le connessioni vengono tracciate TCP/UDP . Il valore di timeout di inattività per i flussi TCP è di 350 secondi e per i flussi UDP è di 120 secondi e varia a seconda dei valori di timeout a livello di interfaccia. Potresti voler configurare i timeout a livello di interfaccia di rete per consentire una maggiore flessibilità di timeout rispetto ai valori predefiniti per il bilanciatore del carico.

È possibile configurare i timeout di tracciamento della connessione quando si eseguono le seguenti operazioni:
+ [Creazione di un'interfaccia di rete](create-network-interface.md)
+ [Modifica degli attributi dell'interfaccia di rete](modify-network-interface-attributes.md)
+ [Avvio di un'istanza EC2](ec2-instance-launch-parameters.md#liw-network-settings)
+ [Creazione di un modello di avvio di un'istanza EC2](ec2-instance-launch-parameters.md#liw-network-settings)

## Esempio
<a name="connection-tracking-example"></a>

Nell'esempio seguente, il gruppo di sicurezza ha regole in entrata specifiche che autorizzano il traffico TCP e ICMP e regole in uscita che autorizzano tutto il traffico in uscita.


**In entrata**  

| Tipo di protocollo | Numero della porta | Origine | 
| --- | --- | --- | 
| TCP  | 22 (SSH) | 203.0.113.1/32 | 
| TCP  | 80 (HTTP) | 0.0.0.0/0 | 
| TCP  | 80 (HTTP) | ::/0 | 
| ICMP | Tutti | 0.0.0.0/0 | 


**In uscita**  

| Tipo di protocollo | Numero della porta | Destinazione | 
| --- | --- | --- | 
| Tutti | Tutti | 0.0.0.0/0 | 
| Tutti | Tutti | ::/0 | 

Con una connessione di rete diretta all'istanza o all'interfaccia di rete, il comportamento di monitoraggio è il seguente:
+ Il traffico TCP in entrata e in uscita sulla porta 22 (SSH) viene monitorato in quanto la regola in entrata consente il traffico solo da 203.0.113.1/32 e non da tutti gli indirizzi IP (0.0.0.0/0).
+ Il traffico TCP in entrata e in uscita sulla porta 80 (HTTP) non viene monitorato, perché le regole in entrata e in uscita autorizzano il traffico da tutti gli indirizzi IP.
+ Il traffico ICMP viene sempre monitorato.

Se rimuovi la regola in uscita per il IPv4 traffico, viene tracciato tutto il traffico in entrata e in uscita, incluso IPv4 il traffico sulla porta 80 (HTTP). Lo stesso vale per il IPv6 traffico se si rimuove la regola per il traffico in uscita. IPv6 

# Regole del gruppo di sicurezza per diversi casi d'uso
<a name="security-group-rules-reference"></a>

Puoi creare un gruppo di sicurezza e aggiungere regole che rispecchiano il ruolo dell'istanza associata al gruppo di sicurezza. Ad esempio, un'istanza configurata come un server Web richiede regole del gruppo di sicurezza che consentano l'accesso HTTP e HTTPS in entrata. Allo stesso modo, un'istanza di database richiede regole che consentano l'accesso per il tipo di database, ad esempio l'accesso sulla porta 3306 per MySQL.

Di seguito sono illustrati esempi dei tipi di regole che è possibile aggiungere ai gruppi di sicurezza per tipi di accesso specifici.

**Topics**
+ [

## Regole del server Web
](#sg-rules-web-server)
+ [

## Regole del server di database
](#sg-rules-db-server)
+ [

## Regole per la connessione alle istanze dal computer in uso
](#sg-rules-local-access)
+ [

## Regole per la connessione alle istanze da un'istanza con lo stesso gruppo di sicurezza
](#sg-rules-other-instances)
+ [

## Regole per Ping/ICMP
](#sg-rules-ping)
+ [

## Regole del server DNS
](#sg-rules-dns)
+ [

## Regole Amazon EFS
](#sg-rules-efs)
+ [

## Regole Elastic Load Balancing
](#sg-rules-elb)

Per istruzioni, consulta [Creare un gruppo di sicurezza](creating-security-group.md) e [Configurazione delle regole per i gruppi di sicurezza](changing-security-group.md#add-remove-security-group-rules).

## Regole del server Web
<a name="sg-rules-web-server"></a>

Le seguenti regole in entrata permettono l'accesso HTTP e HTTPS da qualunque indirizzo IP. Se il tuo VPC è abilitato per IPv6, puoi aggiungere regole per controllare il traffico HTTP e HTTPS in entrata dagli indirizzi. IPv6 


| Tipo di protocollo | Numero di protocollo | Porta | IP di origine | Note | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | Consente l'accesso HTTP in entrata da qualsiasi indirizzo IPv4  | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | Consente l'accesso HTTPS in entrata da qualsiasi indirizzo IPv4  | 
| TCP | 6 | 80 (HTTP) | ::/0 | Consente l'accesso HTTP in entrata da qualsiasi indirizzo IPv6 | 
| TCP | 6 | 443 (HTTPS) | ::/0 | Consente l'accesso HTTPS in entrata da qualsiasi indirizzo IPv6 | 

## Regole del server di database
<a name="sg-rules-db-server"></a>

Le seguenti regole in entrata sono esempi di regole che è possibile aggiungere per l'accesso al database a seconda del tipo di database in esecuzione sull'istanza. Per ulteriori informazioni sulle istanze Amazon RDS, consulta la [Guida per l'utente di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/).

Per l'IP di origine, specifica uno dei seguenti valori:
+ Un indirizzo IP specifico o un intervallo di indirizzi IP (in notazione di blocco CIDR) nella rete locale
+ Un ID del gruppo di sicurezza per un gruppo di istanze che accedono al database


| Tipo di protocollo | Numero di protocollo | Porta | Note | 
| --- | --- | --- | --- | 
| TCP | 6 | 1433 (MS SQL) | La porta predefinita di accesso al database di Microsoft SQL Server, ad esempio su un'istanza Amazon RDS | 
| TCP | 6 | 3306 (MYSQL/Aurora) | La porta predefinita di accesso a un database MySQL o Aurora, ad esempio su un'istanza Amazon RDS | 
| TCP | 6 | 5439 (Redshift) | La porta predefinita per accedere a un database di cluster Amazon Redshift. | 
| TCP | 6 | 5432 (PostgreSQL) | La porta predefinita di accesso a un database PostgreSQL, ad esempio su un'istanza Amazon RDS | 
| TCP | 6 | 1521 (Oracle) | La porta predefinita di accesso a un database Oracle, ad esempio su un'istanza Amazon RDS | 

Facoltativamente, è possibile limitare il traffico in uscita dai server di database. Ad esempio, è possibile autorizzare l'accesso a Internet per gli aggiornamenti software, ma limitare tutti gli altri tipi di traffico. Occorre prima rimuovere la regola in uscita predefinita che autorizza tutto il traffico in uscita.


| Tipo di protocollo | Numero di protocollo | Porta | IP di destinazione | Note | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 80 (HTTP) | 0.0.0.0/0 | Consente l'accesso HTTP in uscita a qualsiasi indirizzo IPv4  | 
| TCP | 6 | 443 (HTTPS) | 0.0.0.0/0 | Consente l'accesso HTTPS in uscita a qualsiasi indirizzo IPv4  | 
| TCP | 6 | 80 (HTTP) | ::/0 | (solo VPC IPv6 abilitato per -enabled) Consente l'accesso HTTP in uscita a qualsiasi indirizzo IPv6  | 
| TCP | 6 | 443 (HTTPS) | ::/0 | (solo VPC IPv6 abilitato per -enabled) Consente l'accesso HTTPS in uscita a qualsiasi indirizzo IPv6  | 

## Regole per la connessione alle istanze dal computer in uso
<a name="sg-rules-local-access"></a>

Per stabilire la connessione all'istanza, il tuo gruppo di sicurezza deve avere regole in entrata che consentono l'accesso SSH (per le istanze Linux) o l'accesso RDP (per le istanze Windows).


| Tipo di protocollo | Numero di protocollo | Porta | IP di origine | 
| --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | L' IPv4 indirizzo pubblico del computer o un intervallo di indirizzi IP nella rete locale. Se il tuo VPC è abilitato per IPv6 e l'istanza ha un IPv6 indirizzo, puoi inserire un IPv6 indirizzo o un intervallo. | 
| TCP | 6 | 3389 (RDP) | L' IPv4 indirizzo pubblico del computer o un intervallo di indirizzi IP nella rete locale. Se il tuo VPC è abilitato per IPv6 e l'istanza ha un IPv6 indirizzo, puoi inserire un IPv6 indirizzo o un intervallo. | 

## Regole per la connessione alle istanze da un'istanza con lo stesso gruppo di sicurezza
<a name="sg-rules-other-instances"></a>

Per consentire alle istanze associate allo stesso gruppo di sicurezza di comunicare tra loro, devi aggiungere esplicitamente regole apposite. 

**Nota**  
Se le route vengono configurate per inoltrare il traffico tra due istanze in sottoreti diverse attraverso un'appliance middlebox, è necessario assicurarsi che i gruppi di sicurezza per entrambe le istanze consentano il flusso del traffico tra le istanze. Il gruppo di sicurezza per ogni istanza deve fare riferimento all'indirizzo IP privato dell'altra istanza o all'intervallo CIDR della sottorete che contiene l'altra istanza come origine. Se si fa riferimento al gruppo di sicurezza dell’altra istanza come origine, allora il flusso del traffico tra le istanze non sarà consentito.

La tabella seguente descrive la regola in entrata per un gruppo di sicurezza che permette alle istanze associate di comunicare tra loro. La regola autorizza tutti i tipi di traffico.


| Tipo di protocollo | Numero di protocollo | Porte | IP di origine | 
| --- | --- | --- | --- | 
| -1 (Tutti) | -1 (Tutti) | -1 (Tutti) | L'ID del gruppo di sicurezza o l'intervallo CIDR della sottorete che contiene l'altra istanza (vedi nota). | 

## Regole per Ping/ICMP
<a name="sg-rules-ping"></a>

Il comando **ping** è un tipo di traffico ICMP. Per effettuare il ping dell'istanza, devi aggiungere una delle seguenti regole ICMP in entrata.


| Tipo | Protocollo | Origine | 
| --- | --- | --- | 
| ICMP personalizzato - IPv4 | Richiesta echo | L' IPv4 indirizzo pubblico del computer, un IPv4 indirizzo specifico o un IPv4 IPv6 indirizzo or da qualsiasi luogo. | 
| Tutto ICMP - IPv4 | IPv4 ICMP (1) | L' IPv4 indirizzo pubblico del computer, un IPv4 indirizzo specifico o un IPv4 IPv6 indirizzo or da qualsiasi luogo. | 

Per utilizzare il **ping6** comando per eseguire il ping dell' IPv6 indirizzo dell'istanza, è necessario aggiungere la seguente ICMPv6 regola in entrata.


| Tipo | Protocollo | Origine | 
| --- | --- | --- | 
| Tutto ICMP - IPv6 | IPv6 ICMP (58) | L' IPv6 indirizzo del computer, un IPv4 indirizzo specifico o un IPv4 IPv6 indirizzo or da qualsiasi luogo. | 

## Regole del server DNS
<a name="sg-rules-dns"></a>

Se hai configurato un'istanza EC2 come server DNS, devi verificare che il traffico TCP e UDP possa raggiungere il server DNS tramite la porta 53. 

Per l'IP di origine, specifica uno dei seguenti valori:
+ Un indirizzo IP o un intervallo di indirizzi IP (in notazione di blocco CIDR) in una rete
+ L'ID di un gruppo di sicurezza per il set di istanze nella rete che richiedono l'accesso al server DNS


| Tipo di protocollo | Numero di protocollo | Porta | 
| --- | --- | --- | 
| TCP | 6 | 53 | 
| UDP | 17 | 53 | 

## Regole Amazon EFS
<a name="sg-rules-efs"></a>

Se utilizzi un file system Amazon EFS con le istanze Amazon EC2 il gruppo di sicurezza che associ ai target di montaggio Amazon EFS deve autorizzare il traffico sul protocollo NFS. 


| Tipo di protocollo | Numero di protocollo | Porte | IP di origine | Note | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 2049 (NFS) | L'ID del gruppo di sicurezza | Permette l'accesso NFS in entrata dalle risorse (compreso l'obiettivo di montaggio) associate a questo gruppo di sicurezza. | 

Per montare un file system Amazon EFS su un'istanza Amazon EC2, devi connetterti all'istanza. Di conseguenza, il gruppo di sicurezza associato all'istanza deve avere regole che autorizzano il traffico SSH in entrata dal computer locale o dalla rete locale.


| Tipo di protocollo | Numero di protocollo | Porte | IP di origine | Note | 
| --- | --- | --- | --- | --- | 
| TCP | 6 | 22 (SSH) | L'intervallo di indirizzi IP del computer locale o l'intervallo di indirizzi IP (in notazione di blocco CIDR) per la rete. | Permette l'accesso SSH in entrata dal tuo computer locale. | 

## Regole Elastic Load Balancing
<a name="sg-rules-elb"></a>

Se registri le istanze EC2 in un bilanciatore del carico, il gruppo di sicurezza a esso associato deve permettere la comunicazione con le istanze. Per ulteriori informazioni, consulta la documentazione per il bilanciatore del carico elastico qui di seguito.
+ [Gruppi di sicurezza per l'Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-update-security-groups.html)
+ [Gruppi di sicurezza per il Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html)
+ [Configurazione dei gruppi di sicurezza per Classic Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-vpc-security-groups.html)

# NitroTPM per istanze Amazon EC2
<a name="nitrotpm"></a>

Nitro Trusted Platform Module (NitroTPM) è un dispositivo virtuale fornito da [AWS Nitro System](https://aws.amazon.com//ec2/nitro/) e conforme alle [specifiche TPM 2.0](https://trustedcomputinggroup.org/resource/trusted-platform-module-2-0-a-brief-introduction/). Archivia in modo sicuro gli artefatti (come password, certificati o chiavi di crittografia) utilizzati per autenticare l'istanza. NitroTPM può generare chiavi e utilizzarle per funzioni crittografiche (come hashing, firma, crittografia e decrittografia).

NitroTPM fornisce un *avvio misurato*, un processo in cui il bootloader e il sistema operativo creano hash crittografici di ogni binario di avvio e li combinano con i valori precedenti nei registri di configurazione della piattaforma interni di NitroTPM (). PCRs Con l'avvio misurato, è possibile ottenere valori PCR firmati da NitroTPM e utilizzarli per dimostrare alle entità remote l'integrità del software di avvio dell'istanza. Questo è noto come *attestazione* remota.

Con NitroTPM, è possibile taggare chiavi e segreti con un valore PCR specifico in modo da renderli sempre inaccessibili se il valore del PCR, e quindi l'integrità dell'istanza, cambia. Questa speciale forma di accesso condizionale è indicata come *sealing e annullamento del sealing*. Le tecnologie del sistema operativo, ad esempio [BitLocker](https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/), possono utilizzare NitroTPM per sigillare una chiave di decrittografia dell'unità in modo che l'unità possa essere decrittografata solo quando il sistema operativo è stato avviato correttamente e si trova in un buono stato noto.

Per utilizzare NitroTPM, è necessario selezionare una [Amazon Machine Image](AMIs.md) (AMI) configurata per supportare NitroTPM e quindi utilizzare l'AMI per avviare delle [istanze basate su Nitro](instance-types.md#instance-hypervisor-type). Puoi selezionarne uno tra quelli predefiniti di Amazon o crearne uno tu stesso. AMIs 

**Prezzi**  
L'utilizzo di NitroTPM non prevede costi aggiuntivi. È previsto un pagamento solo per le risorse sottostanti utilizzate.

**Topics**
+ [Requisiti](enable-nitrotpm-prerequisites.md)
+ [

# Abilitazione di un'AMI Linux per NitroTPM
](enable-nitrotpm-support-on-ami.md)
+ [

# Verifica che un'AMI sia abilitata per NitroTPM
](verify-nitrotpm-support-on-ami.md)
+ [Abilitazione o interruzione dell'utilizzo di NitroTPM](nitrotpm-instance.md)
+ [Verifica che un'istanza sia abilitata per NitroTPM](verify-nitrotpm-support-on-instance.md)
+ [Recupero della chiave di approvazione pubblica](retrieve-ekpub.md)

# Requisiti per l'utilizzo di NitroTPM con istanze Amazon EC2
<a name="enable-nitrotpm-prerequisites"></a>

Per avviare un'istanza con NitroTPM abilitato, devi soddisfare i seguenti requisiti.

**Topics**
+ [

## AMIs
](#nitrotpm-ami)
+ [

## Tipi di istanza
](#nitrotpm-instancetypes)
+ [

## Considerazioni
](#nitrotpm-considerations)

## AMIs
<a name="nitrotpm-ami"></a>

L'AMI deve avere NitroTPM abilitato.

**Linux AMIs**  
Non sono preconfigurati AMIs. Devi configurare la tua AMI. Per ulteriori informazioni, consulta [Abilitazione di un'AMI Linux per NitroTPM](enable-nitrotpm-support-on-ami.md).

**Windows AMIs**  
*Per trovare un'AMI AWS Windows preconfigurata per NitroTPM e UEFI Secure Boot con chiavi Microsoft, vedi [Trova Windows Server AMIs configurato con NitroTPM e UEFI](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ami-windows-tpm.html#ami-windows-tpm-find) Secure Boot nel Windows Reference.AWS AMIs *

**Nota**  
**Sistema operativo**: l'AMI deve includere un sistema operativo con driver Command Response Buffer (CRB) TPM 2.0. La maggior parte dei sistemi operativi attuali include un driver CRB TPM 2.0.  
**Modalità di avvio UEFI**: l'AMI deve essere configurata per la modalità di avvio UEFI. Per ulteriori informazioni, consulta [UEFI Secure Boot per istanze Amazon EC2](uefi-secure-boot.md).

## Tipi di istanza
<a name="nitrotpm-instancetypes"></a>

Devi utilizzare uno dei seguenti tipi di istanza virtualizzate:
+ **Uso generale**: M5, M5a, M5ad, M5d, M5dn, M5n, M5Zn, M6a, M6g, M6gd, M6i, M6iD, M6idn, M6in, M7a, M7g, M7gd, M7i, M7i-Flex, M8a, M8aZn, M8aZ, M8Azn, M8a, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8a, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8aZ, M8a G, 8 GB, M8GD, M8gN, M8i, M8iD, M8i-Flex, T3, T3a, T4G
+ **Elaborazione ottimizzata**: C5, C5a, C5ad, C5d, C5n, C6a, C6g, C6gd, C6gn, C6i, C6id, C6in, C7a, C7g, C7gd, C7gn, C7i, C7i-flex, C8a, C8g, C8gb, C8Gb, C88g, C8Gb, C88g GD, C8gN, C8i, C8iD, C8i-flex
+ **Memoria ottimizzata**: R5, R5a, R5ad, R5b, R5d, R5dn, R5n, R6a, R6g, R6gd, R6i, R6id, R6idn, R6in, R7a, R7g, R7gd, R7i, R7iZ, R8a, R8g, R8Gb, R8Gb, R8Gb, R8Gb, R8Gb, R8g GD, R8GN, R8i, R8iD, R8i-Flex, U7i-6 TB, U7i-8 TB, U7i-12 TB, U7 in 16 TB, U7 in 24 TB, U7 in 32 TB, X2IDN, X2iEZN, X8G, X8AEDZ, X8i, z1d
+ **Ottimizzate per l’archiviazione**: D3, D3en, I3en, I4i, I7i, I7ie, I8g, I8ge, Im4gn
+ **Elaborazione accelerata**: F2, G4dn, G5, G6, G6e, G6f, Gr6, Gr6f, G7e, Inf1, Inf2, P5, P5e, P5en, P6-B200, P6-B300, Trn2, TRN2u
+ **Elaborazione ad alte prestazioni**: HPC6a, HPC6iD, HPC8a

## Considerazioni
<a name="nitrotpm-considerations"></a>

Le seguenti considerazioni si applicano quando si utilizza NitroTPM:
+ Dopo aver avviato un'istanza utilizzando un'AMI con NitroTPM abilitato, se desideri modificare il tipo di istanza, anche il nuovo tipo di istanza che scegli deve supportare NitroTPM.
+ BitLocker i volumi crittografati con chiavi basate su NitroTPM possono essere utilizzati solo sull'istanza originale.
+ Lo stato di NitroTPM non viene visualizzato nella console Amazon EC2.
+ Lo stato di NitroTPM non è incluso negli [snapshot Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-snapshots.html).
+ Lo stato di NitroTPM non è incluso nelle immagini [VM Import/Export](https://docs.aws.amazon.com/vm-import/latest/userguide/).
+ NitroTPM non è supportato su AWS Outposts., Local Zones o Wavelength Zones.

# Abilitazione di un'AMI Linux per NitroTPM
<a name="enable-nitrotpm-support-on-ami"></a>

Per abilitare NitroTPM per un'istanza, è necessario avviare l'istanza utilizzando un'AMI con NitroTPM abilitato. Devi configurare l'AMI Linux per il supporto di NitroTPM quando la registri. Non è possibile configurare il supporto di NitroTPM in un secondo momento.

Per l'elenco di Windows preconfigurati per il AMIs supporto di NitroTPM, vedi. [Requisiti per l'utilizzo di NitroTPM con istanze Amazon EC2](enable-nitrotpm-prerequisites.md)

È necessario creare un'AMI con NitroTPM configurato utilizzando l'[RegisterImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage.html)API. Non puoi utilizzare la console Amazon EC2 o Import/Export VM.

**Per abilitare un'AMI Linux per NitroTPM**

1. Avvia un'istanza temporanea con l'AMI Linux richiesta. Annota l'ID del relativo volume principale, che puoi trovare nella console nella scheda **Archiviazione** dell'istanza.

1. Dopo che l'istanza ha raggiunto lo stato `running`, crea uno snapshot del volume root dell'istanza. Per ulteriori informazioni, consulta [Create a snapshot of an EBS volume](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-create-snapshot.html).

1. Registra lo snapshot che hai creato come AMI. Nella mappatura dei dispositivi a blocchi, specifica lo snapshot che hai creato per il volume principale.

   Di seguito è riportato un esempio di comando [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html). Per `--tpm-support`, specificare `v2.0`. Per `--boot-mode`, specificare `uefi`. 

   ```
   aws ec2 register-image \
       --name my-image \
       --boot-mode uefi \
       --architecture x86_64 \
       --root-device-name /dev/xvda \
       --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0abcdef1234567890} \
       --tpm-support v2.0
   ```

   Di seguito è riportato un esempio del [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html)cmdlet.

   ```
   $block = @{SnapshotId=snap-0abcdef1234567890}
   Register-EC2Image `
       -Name my-image `
       -Architecture "x86_64" `
       -RootDeviceName /dev/xvda `
       -BlockDeviceMapping @{DeviceName="/dev/xvda";Ebs=$block} `
       -BootMode Uefi `
       -TpmSupport V20
   ```

1. Interruzione dell'istanza temporanea avviata nel passaggio 1.

# Verifica che un'AMI sia abilitata per NitroTPM
<a name="verify-nitrotpm-support-on-ami"></a>

Per abilitare NitroTPM per un'istanza, è necessario avviare l'istanza utilizzando un'AMI con NitroTPM abilitato. Puoi descrivere un’immagine per verificare che sia abilitata per NitroTPM. Se sei il proprietario dell’AMI, puoi descrivere l’attributo dell’immagine `tpmSupport`.

La console Amazon EC2 non visualizza `TpmSupport`.

------
#### [ AWS CLI ]

**Per verificare che NitroTPM sia abilitato**  
Utilizzare il comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) .

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Images[*].TpmSupport
```

Se NitroTPM è abilitato per l'AMI, viene visualizzato il seguente output. Se TPM non è abilitato, l'output è vuoto.

```
[
    "v2.0"
]
```

In alternativa, se sei il proprietario dell'AMI, puoi usare il [describe-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html)comando con l'`tpmSupport`attributo.

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute tpmSupport
```

 Di seguito è riportato un output di esempio.

```
{
    "ImageId": "ami-0abcdef1234567890",
    "TpmSupport": {
        "Value": "v2.0"
    }
}
```

**Da trovare AMIs con NitroTPM abilitato**  
L'esempio seguente elenca quelli AMIs che possiedi con NitroTPM abilitato. IDs 

```
aws ec2 describe-images \
    --owners self \
    --filters Name=tpm-support,Values=v2.0 \
    --query Images[].ImageId
```

------
#### [ PowerShell ]

**Per verificare che NitroTPM sia abilitato**  
Utilizza il cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
Get-EC2Image `
    -ImageId ami-0abcdef1234567890 | Select TpmSupport
```

Se NitroTPM è abilitato per l'AMI, viene visualizzato il seguente output. Se TPM non è abilitato, l'output è vuoto.

```
TpmSupport
----------
v2.0
```

In alternativa, se sei il proprietario dell'AMI, puoi utilizzare il [Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html)cmdlet con l'`tpmSupport`attributo.

```
Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute tpmSupport
```

**Da trovare con NitroTPM AMIs abilitato**  
L'esempio seguente elenca quelli AMIs che possiedi con NitroTPM abilitato. IDs 

```
Get-EC2Image `
    -Owner self `
    -Filter @{Name="tpm-support; Values="v2.0"} | Select ImageId
```

------

# Abilitazione o interruzione dell'utilizzo di NitroTPM su un'istanza Amazon EC2
<a name="nitrotpm-instance"></a>

Puoi abilitare un'istanza Amazon EC2 per NitroTPM solo all'avvio. Una volta abilitata un'istanza per NitroTPM, non è più possibile disabilitarla. Se non si devono più utilizzare NitroTPM, è necessario configurare il sistema operativo per interrompere l'utilizzo di NitroTPM.

**Topics**
+ [

## Avvio di un'istanza con NitroTPM abilitato
](#launch-instance-with-nitrotpm)
+ [

## Interruzione dell'utilizzo di NitroTPM su un'istanza
](#disable-nitrotpm-support-on-instance)

## Avvio di un'istanza con NitroTPM abilitato
<a name="launch-instance-with-nitrotpm"></a>

Quando viene avviata un'istanza con i [prerequisiti](enable-nitrotpm-prerequisites.md), NitroTPM viene abilitato automaticamente sull'istanza. È possibile abilitare NitroTPM su un'istanza all'avvio. Per ulteriori informazioni sull'avvio di un'istanza MySQL, consulta [Avviare un'istanza Amazon EC2](LaunchingAndUsingInstances.md).

## Interruzione dell'utilizzo di NitroTPM su un'istanza
<a name="disable-nitrotpm-support-on-instance"></a>

Dopo aver avviato un'istanza con NitroTPM abilitato, non è possibile disabilitare NitroTPM per l'istanza. Tuttavia, puoi configurare il sistema operativo affinché interrompa l'utilizzo di NitroTPM disabilitando il driver del dispositivo TPM 2.0 sull'istanza utilizzando i seguenti strumenti:
+ Per le **istanze Linux**, utilizza tpm-tools.
+ Per le **istanze Windows**, utilizza la console di gestione TPM (tpm.msc).

Per ulteriori informazioni sulla disabilitazione del driver del dispositivo, consulta la documentazione per il sistema operativo in uso.

# Verifica che un'istanza Amazon EC2 sia abilitata per NitroTPM
<a name="verify-nitrotpm-support-on-instance"></a>

Puoi verificare se un'istanza Amazon EC2 è abilitata per NitroTPM. Se il supporto NitroTPM è abilitato sull’istanza, il comando restituisce `"v2.0"`. Altrimenti, il campo `TpmSupport` non è presente nell’output.

La console Amazon EC2 non visualizza il campo `TpmSupport`.

------
#### [ AWS CLI ]

**Per verificare se un'istanza è abilitata per NitroTPM**  
Utilizzare il comando [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html).

```
aws ec2 describe-instances \
    --instance-ids i-1234567890abcdef0 \
    --query Reservations[].Instances[].TpmSupport
```

------
#### [ PowerShell ]

**Per verificare se un'istanza è abilitata per NitroTPM**  
Utilizza il cmdlet [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html).

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.TpmSupport
```

------

## Verifica l’accesso a NitroTPM sulla tua istanza di Windows
<a name="verify-nitrotpm-support-windows-instance"></a>

**(Solo istanze Windows) Per verificare se NitroTPM è accessibile a Windows**

1. [Connettiti all'istanza EC2 Windows.](connecting_to_windows_instance.md)

1. Nell'istanza, esegui il programma tpm.msc.

   Viene visualizzata la finestra **TPM Management on Local Computer** (Gestione TPM sul computer locale).

1. Seleziona il campo **TPM Manufacturer Information** (Informazioni sul produttore TPM). Contiene il nome del produttore e la versione di NitroTPM sull'istanza.  
![\[La finestra TPM Management on Local Computer (Gestione TPM sul computer locale) e il campo TPM Manufacturer Information (Informazioni sul produttore TPM) che mostra la versione di NitroTPM sull'istanza.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/tpm-1.png)

# Recuperare la chiave di approvazione pubblica per un’istanza EC2
<a name="retrieve-ekpub"></a>

Puoi recuperare in modo sicuro la chiave di approvazione pubblica per un’istanza in qualsiasi momento.

------
#### [ AWS CLI ]

**Come recuperare la chiave di approvazione pubblica per un'istanza**  
Usate il comando [get-instance-tpm-ek-pub](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-tpm-ek-pub.html).

**Esempio 1**  
L’esempio seguente ottiene la chiave di approvazione pubblica `rsa-2048`nel formato `tpmt` per l’istanza specificata.

```
aws ec2 get-instance-tpm-ek-pub \
    --instance-id i-1234567890abcdef0 \
    --key-format tpmt \ 
    --key-type rsa-2048
```

Di seguito è riportato l'output di esempio.

```
{
    "InstanceId": "i-01234567890abcdef",
    "KeyFormat": "tpmt",
    "KeyType": "rsa-2048",
    "KeyValue": "AAEACwADALIAIINxl2dEhLEXAMPLEUal1yT9UtduBlILZPKh2hszFGmqAAYAgABDA
    EXAMPLEAAABAOiRd7WmgtdGNoV1h/AxmW+CXExblG8pEUfNm0LOLiYnEXAMPLERqApiFa/UhvEYqN4
    Z7jKMD/usbhsQaAB1gKA5RmzuhSazHQkax7EXAMPLEzDthlS7HNGuYn5eG7qnJndRcakS+iNxT8Hvf
    0S1ZtNuItMs+Yp4SO6aU28MT/JZkOKsXIdMerY3GdWbNQz9AvYbMEXAMPLEPyHfzgVO0QTTJVGdDxh
    vxtXCOu9GYf0crbjEXAMPLEd4YTbWdDdgOKWF9fjzDytJSDhrLAOUctNzHPCd/92l5zEXAMPLEOIFA
    Ss50C0/802c17W2pMSVHvCCa9lYCiAfxH/vYKovAAE="
}
```

**Esempio 2**  
L’esempio seguente ottiene la chiave di approvazione pubblica `rsa-2048`nel formato `der` per l’istanza specificata.

```
aws ec2 get-instance-tpm-ek-pub \
    --instance-id i-1234567890abcdef0 \
    --key-format der \ 
    --key-type rsa-2048
```

Di seguito è riportato l'output di esempio.

```
{
    "InstanceId": "i-1234567890abcdef0",
    "KeyFormat": "der",
    "KeyType": "rsa-2048",
    "KeyValue": "MIIBIjANBgEXAMPLEw0BAQEFAAOCAQ8AMIIBCgKCAQEA6JF3taEXAMPLEXWH8DGZb4
    JcTFuUbykRR82bQs4uJifaKSOv5NGoEXAMPLEG8Rio3hnuMowP+6xuGxBoAHWAoDlGbO6FJrMdEXAMP
    LEnYUHvMO2GVLsc0a5ifl4buqcmd1FxqRL6I3FPwe9/REXAMPLE0yz5inhI7ppTbwxP8lmQ4qxch0x6
    tjcZ1Zs1DP0EXAMPLERUYLQ/Id/OBU7RBNMlUZ0PGG/G1cI670Zh/RytuOdx9iEXAMPLEtZ0N2A4pYX
    1+PMPK0lIOGssA5Ry03Mc8J3/3aXnOD2/ASRQ4gUBKznQLT/zTZEXAMPLEJUe8IJr2VgKIB/Ef+9gqi
    8AAQIDAQAB"
}
```

------
#### [ PowerShell ]

**Come recuperare la chiave di approvazione pubblica per un'istanza**  
Utilizza il cmdlet [Get-EC2InstanceTpmEkPub](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceTpmEkPub.html).

**Esempio 1**  
L’esempio seguente ottiene la chiave di approvazione pubblica `rsa-2048`nel formato `tpmt` per l’istanza specificata.

```
Get-EC2InstanceTpmEkPub `
    -InstanceId i-1234567890abcdef0 `
    -KeyFormat tpmt `
    -KeyType rsa-2048
```

**Esempio 2**  
L’esempio seguente ottiene la chiave di approvazione pubblica `rsa-2048`nel formato `der` per l’istanza specificata.

```
Get-EC2InstanceTpmEkPub `
    -InstanceId i-1234567890abcdef0 `
    -KeyFormat der `
    -KeyType rsa-2048
```

------

# Attestazione dell’istanza Amazon EC2
<a name="nitrotpm-attestation"></a>

L’attestazione è un processo che permette di dimostrare crittograficamente a qualsiasi parte che su un’istanza Amazon EC2 sono in esecuzione solo software, driver e processi di avvio affidabili. *L'attestazione delle istanze Amazon EC2 è basata su Nitro Trusted Platform Module (NitroTPM) e Attestable. AMIs*

Il primo passo per l’attestazione consiste nella **creazione di un’AMI attestabile** e nella determinazione delle *misure di riferimento di tale AMI*. Un’AMI attestabile è un’AMI creata da zero per l’attestazione. Le misurazioni di riferimento sono misurazioni di tutti i software e le configurazioni che hai incluso nella tua AMI. Per ulteriori informazioni su come ottenere le misurazioni di riferimento, consulta [Crea la descrizione dell’immagine di esempio](build-sample-ami.md).

![\[Generazione di misurazioni di riferimento con Attestable. AMIs\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/attestable-ami.PNG)


Il passaggio successivo consiste nell’avviare un’[istanza EC2 abilitata per Nitro-TPM](enable-nitrotpm-prerequisites.md#nitrotpm-instancetypes) con l’AMI attestabile. Dopo aver avviato l’istanza, puoi utilizzare gli [strumenti NitroTPM](attestation-get-doc.md) per generare il *documento di attestazione*. Quindi puoi confrontare le misure effettive della tua istanza EC2 tratte dal Documento di attestazione con le misurazioni di riferimento per verificare se l’istanza dispone del software e delle configurazioni di cui ti fidi.

Confrontando le misurazioni di riferimento generate durante il processo di creazione dell’AMI attestabile con le misurazioni incluse nel documento di attestazione di un’istanza, puoi verificare che sull’istanza siano in esecuzione solo software e codice di cui ti fidi.

![\[Generare un documento di attestazione.\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/attestation-document.PNG)


## Integrazione con AWS KMS
<a name="attestation-kms"></a>

Per semplificare il processo di confronto delle misurazioni, puoi utilizzare AWS Key Management Service (AWS KMS) come verificatore per i documenti di attestazione. Con AWS KMS, puoi creare politiche chiave KMS basate sugli attestati che consentono operazioni specifiche con la chiave KMS solo se fornisci un documento di attestazione con misurazioni che corrispondono alle misure di riferimento. A tale scopo, aggiungi chiavi di condizione specifiche alle policy della chiave KMS che utilizzano le misurazioni di riferimento come valori della chiave di condizione, quindi specifica quali operazioni KMS sono consentite se la chiave di condizione è soddisfatta.

Quando esegui operazioni KMS utilizzando la chiave KMS, devi allegare un documento di attestazione alla richiesta KMS. AWS KMS quindi convalida le misurazioni del Documento di attestazione rispetto alle misurazioni di riferimento nella politica chiave KMS e consente l'accesso alle chiavi solo se le misurazioni corrispondono.

Inoltre, quando generi il documento di attestazione per un’istanza, è necessario specificare una chiave pubblica per una coppia di chiavi che ti appartengono. La chiave pubblica specificata è compresa nel documento di attestazione. Quando AWS KMS convalida il documento di attestazione e consente un'operazione di decrittografia, crittografa automaticamente la risposta con la chiave pubblica inclusa nel documento di attestazione prima che venga restituita. Ciò garantisce che la risposta possa essere decrittografata e utilizzata solo con la chiave privata corrispondente per la chiave pubblica compresa nel documento di attestazione. 

Questo garantisce che solo le istanze che eseguono software e codici affidabili possano eseguire operazioni di crittografia utilizzando una chiave KMS.

## Attestazione di ambienti di elaborazione isolati
<a name="attestation-isolated-compute-environments"></a>

In generale, puoi creare e configurare un’istanza EC2 in modo che diventi un **ambiente di calcolo isolato**, che non fornisce alcun accesso interattivo né alcun meccanismo che consenta agli amministratori e agli utenti di accedere ai dati elaborati nell’istanza EC2. Con l’attestazione dell’istanza EC2 puoi dimostrare a terzi o a un servizio che la tua istanza funziona come un ambiente di calcolo isolato. Per ulteriori informazioni, consulta [Isola i dati dai tuoi operatori](isolate-data-operators.md).

Per un esempio, consulta la [descrizione dell’immagine di esempio di Amazon Linux 2023](build-sample-ami.md), che crea un ambiente di calcolo isolato. Puoi utilizzare questa descrizione dell’immagine di esempio come punto di partenza e personalizzarla per soddisfare le tue esigenze.

## AWS modello di responsabilità condivisa
<a name="attestation-shared-responsibility"></a>

Le AMI attestabile e NitroTPM sono elementi costitutivi che possono aiutarti a configurare e impostare l’attestazione sulle tue istanze EC2. L’utente è responsabile della configurazione dell’AMI per soddisfare il proprio caso d’uso. Per ulteriori informazioni, consulta [AWS Shared Responsibility Model](https://aws.amazon.com/compliance/shared-responsibility-model/).

**Topics**
+ [

## Integrazione con AWS KMS
](#attestation-kms)
+ [

## Attestazione di ambienti di elaborazione isolati
](#attestation-isolated-compute-environments)
+ [

## AWS modello di responsabilità condivisa
](#attestation-shared-responsibility)
+ [

# Attestabile AMIs
](attestable-ami.md)
+ [

# Preparati per AWS KMS l'attestazione
](prepare-attestation-service.md)
+ [

# Ottieni il documento di attestazione NitroTPM
](attestation-get-doc.md)
+ [

# Integrazione con AWS KMS
](attestation-attest.md)
+ [

# Isola i dati dai tuoi operatori
](isolate-data-operators.md)

# Attestabile AMIs
<a name="attestable-ami"></a>

Un’AMI attestabile è un’Amazon Machine Image (AMI) con un hash crittografico corrispondente che ne rappresenta tutto il contenuto. L’hash viene generato durante il processo di creazione dell’AMI e viene calcolato in base all’intero contenuto dell’AMI, incluse le applicazioni, il codice e il processo di avvio.

## Mantenere uno stato attestabile
<a name="maintain-attestability"></a>

Le misurazioni di un’istanza si basano sul suo stato di avvio iniziale. Qualsiasi modifica al software o al codice apportata all’istanza dopo l’avvio e che persiste dopo il riavvio modificherà la misurazione dell’istanza dopo il riavvio. Se le misurazioni vengono alterate, si discostano dalle misurazioni di riferimento dell’AMI attestabile e l’istanza non sarà più in grado di AWS KMS attestarla con successo dopo il riavvio dell’istanza. Pertanto, affinché Attestable AMIs sia utile, le istanze devono tornare allo stato di avvio originale dopo il riavvio.

Il ritorno costante allo stato di avvio originale garantisce che un’istanza possa attestarsi correttamente dopo il riavvio. Le seguenti utilità possono essere utilizzate per assicurare che le istanze rimangano attestabili dopo il riavvio:
+ `erofs`: file system di sola lettura avanzato. Questa utilità garantisce che il filesystem root sia di sola lettura. Con questa utilità, le scritture sul filesystem, tra cui, e `/etc`, `/run` e `/var`, vengono archiviate in memoria e perse al riavvio dell’istanza, lasciando il filesystem root nello stato di avvio originale. Per ulteriori informazioni, consulta la [documentazione erofs](https://docs.kernel.org/filesystems/erofs.html).
+ `dm-verity`: fornisce protezione dell’integrità per il filesystem root di sola lettura. L’utilità calcola un hash dei blocchi del filesystem e lo memorizza nella riga di comando del kernel. Ciò permette al kernel di verificare l’integrità del filesystem durante l’avvio. Per ulteriori informazioni, consulta la [documentazione dm-verity](https://docs.kernel.org/admin-guide/device-mapper/verity.html).

## Requisiti per la creazione di Attestable AMIs
<a name="ami-attestable-requirements"></a>

Attestable AMIs ha i seguenti requisiti:
+ **Sistema operativo di base**: Amazon Linux 2023 e [NixOS](https://github.com/aws/nitrotpm-attestation-samples)
+ **Architettura ** – architettura `x86_64` o `arm64`
+ **Supporto TPM**: NitroTPM deve essere abilitato. Per ulteriori informazioni, consulta [Requisiti per l'utilizzo di NitroTPM con istanze Amazon EC2](enable-nitrotpm-prerequisites.md).
+ **Modalità di avvio**: la modalità di avvio UEFI deve essere abilitata.

**Topics**
+ [

## Mantenere uno stato attestabile
](#maintain-attestability)
+ [

## Requisiti per la creazione di Attestable AMIs
](#ami-attestable-requirements)
+ [

## Creazione di Attestable AMIs
](#sample-ami)
+ [Crea la descrizione dell’immagine di esempio](build-sample-ami.md)
+ [

# Descrizione dell’immagine di esempio di Amazon Linux 2023
](al2023-isolated-compute-recipe.md)
+ [Personalizza la descrizione delle immagini di esempio](customize-sample-ami.md)
+ [Calcolo delle misurazioni PCR](create-pcr-compute.md)

## Creazione di Attestable AMIs
<a name="sample-ami"></a>

Per creare un’AMI attestabile, dovrai utilizzare Amazon Linux 2023 con [KIWI Next Generation (KIWI NG](https://osinside.github.io/kiwi/)). Amazon Linux 2023 fornisce tutto il software e le utilità necessari per creare un’AMI attestabile utilizzando KIWI NG. 

KIWI NG è uno strumento open source per la creazione di immagini preconfigurate basate su Linux. KIWI NG utilizza *descrizioni di immagini* XML che definiscono il contenuto di un’immagine. La descrizione dell'immagine specifica il sistema operativo di base, il software, la configurazione del kernel e gli script da eseguire per creare un' ready-to-useAMI per un caso d'uso specifico.

Durante la fase di compilazione dell’AMI, devi utilizzare l’utilità `nitro-tpm-pcr-compute`per generare le misurazioni di riferimento basate sull’Unified Kernel Image (UKI) generata da KIWI NG. Per ulteriori informazioni sull’uso dell’utilità `nitro-tpm-pcr-compute`, consulta [Calcola le misurazioni PCR per un’AMI personalizzata](create-pcr-compute.md).

AWS fornisce un esempio di descrizione dell'immagine Amazon Linux 2023 che include tutte le configurazioni necessarie per configurare un'istanza EC2 in un ambiente di calcolo isolato. Per ulteriori informazioni, consulta [Crea la descrizione dell’immagine di esempio di Amazon Linux 2023](build-sample-ami.md).

# Crea la descrizione dell’immagine di esempio di Amazon Linux 2023
<a name="build-sample-ami"></a>

AWS fornisce un esempio di descrizione dell'immagine Amazon Linux 2023 che puoi usare come punto di partenza per creare il tuo Attestable personalizzato AMIs per i tuoi carichi di lavoro. La descrizione dell’immagine di esempio include Amazon Linux 2023 come sistema operativo di base, configurazioni `dm-verity` ed `erofs` per l’immutabilità del file system e rimuove tutti gli accessi interattivi (come SSH, connessione all’istanza EC2 e console seriale) per creare un ambiente di calcolo isolato. Per ulteriori informazioni sulla descrizione dell’immagine di esempio, consulta il [repository Github](https://github.com/amazonlinux/kiwi-image-descriptions-examples).

La descrizione dell’immagine di esempio installa automaticamente gli strumenti NitroTPM (`nitro-tpm-pcr-compute` e `nitro-tpm-attest`) nell’immagine creata nella directory `/usr/bin/`. Questo garantisce che gli strumenti siano preinstallati sulle istanze avviate dall’AMI.

La descrizione dell’immagine di esempio comprende uno script, `edit_boot_install.sh`, che include i comandi necessari per generare le misurazioni di riferimento. Lo script monta il file immagine disco raw (`.raw`) creato da KIWI NG su un dispositivo loopback, individua l’UKI, che ha l’estensione `.efi`, quindi esegue l’utilità `nitro-tpm-pcr-compute` per generare le misurazioni di riferimento per l’AMI. Lo script viene automaticamente eseguito da KIWI NG durante la compilazione.

Questo tutorial mostra come creare la descrizione dell’immagine di esempio per generare un’AMI attestabile.

Per ulteriori informazioni sulla creazione di descrizioni delle immagini, consulta la seguente documentazione di KIWI NG:
+ [Quick Start](https://osinside.github.io/kiwi/quickstart.html)
+ [Descrizione delle immagini](https://osinside.github.io/kiwi/image_description.html)
+ [Descrizione dell’immagine di esempio di Amazon Linux 2023](https://github.com/amazonlinux/kiwi-image-descriptions-examples)

Prerequisiti

La tua identità IAM deve disporre delle seguenti autorizzazioni per completare questo tutorial:
+ `ebs:CompleteSnapshot``ebs:StartSnapshot`, e così via `ebs:PutSnapshotBlock` `arn:aws:ec2:*::snapshot/*`
+ `ec2:RegisterImage`su tutte le risorse

**Per creare la descrizione dell’immagine di esempio di Amazon Linux 2023 utilizzando KIWI NG**

1. Avvia un'istanza Amazon EC2 utilizzando l'AMI AL2023 più recente. Per assicurarti che l’istanza disponga di spazio di archiviazione sufficiente per creare l’AMI, verifica di fornire almeno 12 GB di spazio di archiviazione.

1. Installare le dipendenze richieste. Il seguente comando installa le seguenti utilità:
   + `kiwi-cli`
   + `veritysetup`
   + `erofs-utils`
   + `aws-nitro-tpm-tools`

   ```
   sudo dnf install -y kiwi-cli python3-kiwi kiwi-systemdeps-core python3-poetry-core qemu-img veritysetup erofs-utils git cargo aws-nitro-tpm-tools
   ```

1. Installa l’utilità `coldsnap`. Questa utilità consente di creare snapshot di Amazon EBS da dati di immagini non elaborati. Userai questa utilità per creare uno snapshot EBS dal file di immagine del disco non elaborato creato da KIWI NG.

   ```
   git clone https://github.com/awslabs/coldsnap.git
   cd coldsnap
   cargo install --locked coldsnap
   cd ..
   ```

1. Ottieni i file di descrizione dell’immagine di esempio.

   ```
   sudo dnf install kiwi-image-descriptions-examples
   ```

   I file di descrizione dell’immagine di esempio vengono scaricati nella seguente directory: `/usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example`

1. Crea la descrizione dell’immagine di esempio utilizzando il comando `system build` KIWI NG. Il seguente comando crea un file di immagine non elaborato del disco nella directory `./image`.

   ```
   sudo kiwi-ng \
   --color-output \
   --loglevel 0 \
   system build \
   --description /usr/share/kiwi-image-descriptions-examples/al2023/attestable-image-example \
   --target-dir ./image
   ```

   Per ulteriori informazioni, consulta la documentazione relativa alla [compilazione del sistema kiwi-ng](https://osinside.github.io/kiwi/commands/system_build.html).

1. Ottieni le misure di riferimento per l’AMI. Le misurazioni vengono generate dall’utilità `nitro-tpm-pcr-compute`durante la creazione dell’immagine nel passaggio precedente. Puoi individuare le misurazioni di riferimento nel seguente file: `./image/pcr_measurements.json`.

   Le misurazioni sono fornite nel seguente formato JSON:

   ```
   {
     "Measurements": {
       "HashAlgorithm": "SHA384 { ... }",
       "PCR4": "PCR4_measurement",
       "PCR7": "PCR7_measurement",
       "PCR12": "PCR12_measurement"
     }
   }
   ```

1. Utilizza l’utilità `coldsnap` per caricare l’immagine grezza del disco creata da KIWI NG su uno snapshot EBS. Questo comando restituisce l’ID dello snapshot. Prendi nota dell’ID, ti servirà per il passaggio successivo.

   ```
   SNAPSHOT=$(.cargo/bin/coldsnap upload ./image/al2023*.raw)
   echo "Created snapshot: $SNAPSHOT"
   ```

   Per ulteriori informazioni sull'`coldsnap`utilità, consulta il repository [coldsnap GitHub ](https://github.com/awslabs/coldsnap).

1. Registra un’AMI abilitata per TPM 2.0 con la modalità di avvio UEFI utilizzando lo snapshot del passaggio precedente. Per `--architecture`, specifica `x86_64` per Intel o `arm64` per Graviton.

   ```
   aws ec2 register-image \
   --name "attestable_isolated_al2023_ami" \
   --virtualization-type hvm \
   --boot-mode uefi \
   --architecture x86_64|arm64 \
   --root-device-name /dev/xvda \
   --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=${SNAPSHOT}} \
   --tpm-support v2.0 \
   --ena-support
   ```

# Descrizione dell’immagine di esempio di Amazon Linux 2023
<a name="al2023-isolated-compute-recipe"></a>

La descrizione dell’immagine di esempio di Amazon Linux 2023 presenta le seguenti caratteristiche: 

1. **Avvio con Unified Kernel Image (UKI)**: avvio utilizzando un unico file binario firmato che combina il kernel `initrd` e i parametri di avvio in un’unica immagine immutabile.

1. **Filesystem root di sola lettura**: utilizza Enhanced Read-Only File System (`erofs`) con protezione dm-verity per assicurarti che il filesystem root non possa essere modificato e mantenga la verifica dell’integrità crittografica.

1. **Filesystem overlay temporaneo**: crea un filesystem overlay temporaneo che consenta scritture temporanee su directory come `/etc`, `/run` e `/var`. Dato che questo filesystem overlay esiste solo in memoria, tutte le modifiche vengono automaticamente perse al riavvio dell’istanza, garantendo che il sistema torni allo stato attendibile originale.

1. **Metodi di accesso remoto disabilitati**: rimuovi i meccanismi di accesso remoto seguenti per impedire l’accesso remoto:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/al2023-isolated-compute-recipe.html)

   \$1 Per ulteriori informazioni, consulta [Image Description Elements](https://osinside.github.io/kiwi/image_description/elements.html#packages-ignore).

# Personalizza la descrizione delle immagini di esempio di Amazon Linux 2023 per il tuo carico di lavoro
<a name="customize-sample-ami"></a>

Puoi personalizzare la descrizione dell’immagine di esempio di Amazon Linux 2023 e includere pacchetti software, script e i file necessari per il tuo carico di lavoro specifico. Le personalizzazioni si ottengono aggiungendo o modificando vari elementi nella descrizione delle immagini KIWI NG.

**Topics**
+ [

## Gestione del repository
](#prepare-custom-image-repos)
+ [

## Gestione dei pacchetti
](#customize-sample-ami-packages)
+ [

## Aggiungi file e directory
](#customize-sample-ami-overlay)
+ [

## Aggiunta di script personalizzati
](#customize-sample-ami-script)

## Gestione del repository
<a name="prepare-custom-image-repos"></a>

Per impostazione predefinita, la descrizione dell’immagine di esempio include un singolo elemento `<repository>` che punta a un endpoint mirror per i repository principali di Amazon Linux 2023. Se necessario, puoi aggiungere riferimenti ad altri repository da cui installare il software richiesto.

La descrizione dell’immagine di esempio utilizza il gestore di pacchetti `dnf`, come definito nell’elemento `<packagemanager>`.

Per ulteriori informazioni sull’aggiunta di repository, consulta [Configurazione dei repository](https://osinside.github.io/kiwi/concept_and_workflow/repository_setup.html).

## Gestione dei pacchetti
<a name="customize-sample-ami-packages"></a>

Per impostazione predefinita, la descrizione dell’immagine di esempio comprende tutti i pacchetti necessari per creare un’AMI attestabile di Amazon Linux 2023 per un ambiente di calcolo isolato con un file system `erofs` di sola lettura.

Puoi includere pacchetti software aggiuntivi nella descrizione dell’immagine aggiungendoli all’elemento `<packages>` nella descrizione dell’immagine. L’elemento `<packages>` definisce tutto il software che deve essere installato nell’AMI.

Puoi anche utilizzare l’elemento `<packages>` per disinstallare o eliminare pacchetti software specifici.

Per ulteriori informazioni sull’aggiunta o la rimozione di pacchetti nella descrizione dell’immagine, consulta [Adding and Removing Packages](https://osinside.github.io/kiwi/concept_and_workflow/packages.html#).

## Aggiungi file e directory
<a name="customize-sample-ami-overlay"></a>

La descrizione dell’immagine di esempio include una directory ad albero sovrapposta (`/root/`). La directory ad albero sovrapposta è una directory che contiene file e directory che verranno copiati nell’immagine durante il processo di creazione dell’immagine. Tutti i file e le directory inseriti nella directory ad albero di overlay verranno copiati direttamente nel filesystem root dell’immagine durante il processo di creazione dell’immagine.

La directory ad albero sovrapposta viene copiata nell’immagine dopo che tutti i pacchetti sono stati installati. Vengono aggiunti nuovi file e vengono sovrascritti i file esistenti.

## Aggiunta di script personalizzati
<a name="customize-sample-ami-script"></a>

La descrizione dell’immagine di esempio comprende un singolo script personalizzato, `edit_boot_install.sh`. Questo script include i comandi necessari per eseguire l’utilità `nitro-tpm-pcr-compute`, che genera le misurazioni di riferimento in base al contenuto dell’immagine. Questo script viene chiamato subito dopo l’installazione del bootloader.

Se necessario, puoi includere script personalizzati nella descrizione dell’immagine per eseguire operazioni o configurazioni durante il processo di creazione dell’immagine o al primo avvio dell’immagine. L’uso degli script consente di personalizzare le immagini in modi che non possono essere ottenuti utilizzando la sola descrizione dell’immagine.

Per includere script personalizzati nella descrizione dell’immagine, devi denominarli correttamente in base al tipo di script e aggiungerli alla stessa directory del file `appliance.kiwi`. KIWI NG rileva ed esegue automaticamente gli script se sono denominati correttamente e collocati nella posizione corretta, senza che sia necessario farvi riferimento esplicitamente nel file di descrizione dell’immagine.

Per ulteriori informazioni sugli script supportati da KIWI NG, consulta [User-Defined Scripts](https://osinside.github.io/kiwi/concept_and_workflow/shell_scripts.html).

# Calcola le misurazioni PCR per un’AMI personalizzata
<a name="create-pcr-compute"></a>

L’utilità `nitro-tpm-pcr-compute` consente di generare le misurazioni di riferimento per un’AMI attestabile durante la fase di compilazione in base alla relativa Unified Kernel Image (UKI).

La descrizione dell’immagine di esempio di Amazon Linux 2023 installa automaticamente l’utilità nell’immagine incorporata nella directory `/usr/bin/`. La descrizione dell’immagine di esempio comprende anche uno script con i comandi necessari per eseguire l’utilità e generare le misurazioni di riferimento durante la creazione dell’immagine. Se stai utilizzando la descrizione dell’immagine di esempio, non è necessario installare l’utilità o eseguirla manualmente. Per ulteriori informazioni, consulta [Crea la descrizione dell’immagine di esempio di Amazon Linux 2023](build-sample-ami.md).

## Installa l’utilità `nitro-tpm-pcr-compute`
<a name="nitro-tpm-compute-install"></a>

Se usi Amazon Linux 2023, puoi installare l’utilità `nitro-tpm-pcr-compute` dal repository Amazon Linux come segue.

```
sudo yum install aws-nitro-tpm-tools
```

Gli strumenti vengono installati nella directory `/usr/bin`.

## Utilizza l’utilità `nitro-tpm-pcr-compute`
<a name="nitro-tpm-compute-use"></a>

L’utilità fornisce un solo comando, `nitro-tpm-pcr-compute`, per generare le misurazioni di riferimento.

Quando esegui il comando, devi specificare quanto segue:
+ Unified kernel image (`UKI.efi`): richiesta per l’avvio standard e UEFI.

**Per generare le misurazioni di riferimento per un’AMI attestabile:**  
Utilizza il comando e i parametri seguenti:

```
/usr/bin/nitro-tpm-pcr-compute \
--image UKI.efi
```

L’utilità restituisce le misure di riferimento nel seguente formato JSON:

```
{
  "Measurements": {
    "HashAlgorithm": "SHA384 { ... }",
    "PCR4": "PCR4_measurement",
    "PCR7": "PCR7_measurement",
    "PCR12": "PCR12_measurement"
  }
}
```

Per un esempio pratico di uso dell’utilità `nitro-tpm-pcr-compute`, consulta lo script `edit_boot_install.sh` incluso nella [descrizione dell’immagine di esempio di Amazon Linux 2023](build-sample-ami.md).

# Preparati per AWS KMS l'attestazione
<a name="prepare-attestation-service"></a>

**Nota**  
Se stai attestando un servizio di terze parti, devi creare i tuoi meccanismi personalizzati per ricevere, analizzare e convalidare i documenti di attestazione. Per ulteriori informazioni, consulta [Convalida un documento di attestazione NitroTPM](nitrotpm-attestation-document-validate.md).

Dopo aver creato l'AMI Attestable, dovresti disporre di misure di riferimento da utilizzare per convalidare le richieste da un'istanza Amazon EC2. AWS KMS fornisce supporto integrato per l'attestazione con NitroTPM.

Per la AWS KMS chiave che hai usato per crittografare i tuoi dati segreti, aggiungi una policy chiave che consenta l'accesso alle chiavi solo se le richieste API includono un documento di attestazione con misurazioni che corrispondono alle misurazioni di riferimento generate durante il processo di creazione dell'AMI attestabile. Utilizzo PCR4 e PCR12 misurazioni per l'avvio standard o PCR7 misurazioni per Secure Boot. Ciò garantisce che solo le richieste provenienti da istanze avviate utilizzando l'AMI Attestable possano eseguire operazioni crittografiche utilizzando la chiave. AWS KMS 

AWS KMS fornisce `kms:RecipientAttestation:NitroTPMPCR4` e chiavi di `kms:RecipientAttestation:NitroTPMPCR12` condizione che consentono di creare condizioni basate sull'attestazione per le politiche chiave di NitroTPM KMS. `kms:RecipientAttestation:NitroTPMPCR7` Per ulteriori informazioni, consulta [Condition keys for NitroTPM](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-nitro-tpm.html).

Ad esempio, la seguente politica AWS KMS chiave consente l'accesso alle chiavi solo se la richiesta proviene da un'istanza con il profilo dell'istanza allegato e se la `MyEC2InstanceRole` richiesta include un documento di attestazione con valori PCR 4 e PCR 12 specifici.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "Allow requests from instances with attested AMI only",
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:role/MyEC2InstanceRole"
      },
      "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:GenerateRandom"
      ],
      "Resource": "*",
      "Condition": {
        "StringEqualsIgnoreCase": {
          "kms:RecipientAttestation:NitroTPMPCR4":"EXAMPLE6b9b3d89a53b13f5dfd14a1049ec0b80a9ae4b159adde479e9f7f512f33e835a0b9023ca51ada02160EXAMPLE",
          "kms:RecipientAttestation:NitroTPMPCR12":"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
        }
      }
    }
  ]
}
```

# Ottieni il documento di attestazione NitroTPM
<a name="attestation-get-doc"></a>

Il documento di attestazione è un componente chiave del processo di attestazione NitroTPM. Contiene una serie di misurazioni crittografiche che possono essere utilizzate per verificare l’identità dell’istanza e per dimostrare che sta eseguendo solo software affidabile. È possibile utilizzare l'Attestation Document with AWS KMS, che fornisce supporto integrato per l'attestazione NitroTPM, o per creare meccanismi di attestazione crittografici personalizzati.

L’utilità `nitro-tpm-attest` consente di recuperare un documento di attestazione NitroTPM firmato per un’istanza Amazon EC2 durante il runtime.

La descrizione dell’immagine di esempio di Amazon Linux 2023 installa automaticamente l’utilità nell’immagine incorporata nella directory `/usr/bin/`. Questo garantisce che l’utilità sia preinstallata sulle istanze avviate utilizzando l’AMI. Non è necessario installare l’utilità manualmente. Per ulteriori informazioni, consulta [Crea la descrizione dell’immagine di esempio di Amazon Linux 2023](build-sample-ami.md).

**Topics**
+ [

## Installa l’utilità `nitro-tpm-attest`
](#nitro-tpm-attest-install)
+ [

## Utilizza l’utilità `nitro-tpm-attest`
](#nitro-tpm-attest-use)
+ [Documento di attestazione NitroTPM](nitrotpm-attestation-document-content.md)
+ [Convalida documento di attestazione](nitrotpm-attestation-document-validate.md)

## Installa l’utilità `nitro-tpm-attest`
<a name="nitro-tpm-attest-install"></a>

Se usi Amazon Linux 2023, puoi installare l’utilità `nitro-tpm-attest` dal repository Amazon Linux come segue.

```
sudo yum install aws-nitro-tpm-tools
```

## Utilizza l’utilità `nitro-tpm-attest`
<a name="nitro-tpm-attest-use"></a>

L’utilità fornisce un solo comando, `nitro-tpm-attest`, per recuperare il documento di attestazione. Il comando restituisce il documento di attestazione codificato in Concise Binary Object Representation (CBOR) e firmato utilizzando CBOR Object Signing and Encryption (COSE).

Quando esegui il comando, puoi specificare i seguenti parametri facoltativi:
+ `public-key`— Una chiave pubblica che può essere utilizzata da AWS KMS o da un servizio esterno per crittografare i dati di risposta prima che vengano restituiti. Questo garantisce che solo il destinatario previsto, in possesso della chiave privata, possa decrittografare i dati. Ad esempio, se si attesta con AWS KMS, il servizio crittografa i dati in chiaro con la chiave pubblica nel documento di attestazione e restituisce il testo cifrato risultante nel campo della risposta. `CiphertextForRecipient` Sono supportate solo le chiavi RSA.
+ `user-data`: i dati utente possono essere utilizzati per fornire eventuali dati firmati aggiuntivi a un servizio esterno. Questi dati utente possono essere utilizzati per completare un protocollo concordato tra l’istanza richiedente e il servizio esterno. AWS KMS Non utilizzato per l'attestazione con.
+ `nonce`: il nonce può essere utilizzato per configurare l’autenticazione challenge-response tra l’istanza e il servizio esterno per aiutare a prevenire attacchi di impersonificazione. L’uso di un nonce consente al servizio esterno di verificare che stia interagendo con un’istanza live e non con un imitatore che riutilizza un vecchio documento di attestazione. Non utilizzato per l'attestazione con. AWS KMS

**Per recuperare il documento di attestazione**  
Utilizza il comando e i seguenti parametri facoltativi:

```
/usr/bin/nitro-tpm-attest \
--public-key rsa_public_key \
--user-data user_data \
--nonce nonce
```

[Per un esempio completo che mostra come generare una coppia di chiavi RSA e come richiedere un attestato con la chiave pubblica, consulta il nitro-tpm-attest GitHub repository.](https://github.com/aws/NitroTPM-Tools/)

# Contenuto del documento di attestazione Nitro-PM
<a name="nitrotpm-attestation-document-content"></a>

Un documento di attestazione viene generato dal NitroTPM ed è firmato dall’hypervisor Nitro. Comprende una serie di valori dei registri di configurazione della piattaforma (PCR) relativi a un’istanza Amazon EC2. Quanto segue PCRs è incluso nel documento di attestazione:

**Importante**  
PCR0 e PCR1 vengono generalmente utilizzati per misurare il codice di avvio iniziale, controllato da AWS. Per consentire aggiornamenti sicuri del codice di avvio iniziale, questi PCRs conterranno sempre valori costanti.
+ `PCR0`: codice eseguibile del firmware del sistema principale
+ `PCR1`: dati del firmware del sistema principale
+ `PCR2`: codice eseguibile esteso o collegabile
+ `PCR3`: dati firmware estesi o collegabili
+ `PCR4`: codice di Boot Manager
+ `PCR5`: configurazione del codice di Boot Manager e tabella dei dati e delle partizioni GPT
+ `PCR6`: specifiche del produttore della piattaforma host
+ `PCR7`: policy di avvio sicuro
+ `PCR8 - 15`: definito per l’uso da parte del sistema operativo statico
+ `PCR16`: debug
+ `PCR23`: supporto per le applicazioni

**PCR4**PCR7****, e **PCR12**in particolare vengono utilizzati per verificare che un'istanza sia stata avviata utilizzando un'AMI attestabile. PCR4 e PCR12 possono essere utilizzati per convalidare con avvio standard e PCR7 possono essere utilizzati per convalidare con Secure Boot.
+ **PCR4 (Boot Manager Code)** — All'avvio di un'istanza, NitroTPM crea hash crittografici di tutti i file binari eseguiti dal suo ambiente UEFI. Con Attestable AMIs, questi file binari di avvio incorporano hash che impediscono il caricamento futuro di file binari che non hanno hash corrispondenti. In questo modo, l’hash binario ad avvio singolo può descrivere esattamente quale codice verrà eseguito da un’istanza.
+ **PCR7 (Secure Boot Policy)** — I file binari di avvio UEFI possono essere firmati con una chiave di firma UEFI Secure Boot. Quando UEFI Secure Boot è abilitato, UEFI impedirà l'esecuzione di file binari di avvio UEFI che non corrispondono alla politica configurata. PCR7 contiene un hash della politica UEFI Secure Boot dell'istanza.

  Se hai bisogno di mantenere un'unica policy KMS che persista tra gli aggiornamenti delle istanze, puoi creare una policy che convalidi in base alla quale PCR7 convalidare un certificato UEFI Secure Boot. Durante la creazione di un’AMI attestabile, puoi quindi firmare il file binario di avvio con il tuo certificato e installarlo come unico certificato consentito nei dati UEFI dell’AMI. Tieni presente che questo modello richiede di generare comunque un nuovo certificato, installarlo nella tua policy e aggiornarlo AMIs se vuoi evitare che le istanze lanciate da vecchie istanze (non attendibili) superino la tua policy KMS. AMIs 
+ **PCR12**— Contiene l'hash della riga di comando passato al binario di avvio UEFI. Richiesto insieme all'avvio standard PCR4 per convalidare la riga di comando non è stata modificata.

# Convalida un documento di attestazione NitroTPM
<a name="nitrotpm-attestation-document-validate"></a>

**Nota**  
Questo argomento è destinato agli utenti che utilizzano un servizio di gestione delle chiavi di terze parti e devono creare i propri meccanismi di convalida dei documenti di attestazione.

Questo argomento fornisce una panoramica dettagliata dell’intero flusso di attestazione NitroTPM. Descrive inoltre cosa viene generato dal sistema AWS Nitro quando viene richiesto un documento di attestazione e spiega come un servizio di gestione delle chiavi dovrebbe elaborare un documento di attestazione.

**Topics**
+ [

## Il documento di attestazione
](#doc-def)
+ [

## Convalida del documento di attestazione
](#validation-process)

Lo scopo dell’attestazione è dimostrare che un’istanza è un’entità affidabile, in base al codice e alla configurazione che sta eseguendo. La base della fiducia per l'istanza risiede nel sistema AWS Nitro, che fornisce documenti di attestazione. 

I documenti di attestazione sono firmati dalla AWS Nitro Attestation Public Key Infrastructure (PKI), che include un'autorità di certificazione pubblicata che può essere incorporata in qualsiasi servizio. 

## Il documento di attestazione
<a name="doc-def"></a>

I documenti di attestazione sono codificati in Concise Binary Object Representation (CBOR) e firmati utilizzando CBOR Object Signing and Encryption (COSE).

Per ulteriori informazioni su CBOR, consulta [RFC 8949: Concise Binary Object Representation (CBOR)](https://www.rfc-editor.org/rfc/rfc8949.html).

### Specifiche del documento di attestazione
<a name="doc-spec"></a>

Il seguente esempio illustra la struttura di un documento di attestazione.

```
AttestationDocument = {
    module_id: text,                     ; issuing Nitro hypervisor module ID
    timestamp: uint .size 8,             ; UTC time when document was created, in
                                         ; milliseconds since UNIX epoch
    digest: digest,                      ; the digest function used for calculating the
                                         ; register values
    nitrotpm_pcrs: { + index => pcr },   ; map of PCRs at the moment the Attestation Document was generated
    certificate: cert,                   ; the public key certificate for the public key 
                                         ; that was used to sign the Attestation Document
    cabundle: [* cert],                  ; issuing CA bundle for infrastructure certificate
    ? public_key: user_data,             ; an optional DER-encoded key the attestation
                                         ; consumer can use to encrypt data with
    ? user_data: user_data,              ; additional signed user data, defined by protocol
    ? nonce: user_data,                  ; an optional cryptographic nonce provided by the
                                         ; attestation consumer as a proof of authenticity
}

cert = bytes .size (1..1024)       ; DER encoded certificate
user_data = bytes .size (0..1024)
pcr = bytes .size (32/48/64)       ; PCR content
index = 0..31
digest = "SHA384"
```

I parametri facoltativi nel documento di attestazione (`public_key`,`user_data`, e `nonce`) possono essere utilizzati per stabilire un protocollo di convalida personalizzato tra un’istanza di attestazione e il servizio esterno.

## Convalida del documento di attestazione
<a name="validation-process"></a>

Quando richiedi un documento di attestazione dall’hypervisor Nitro, ricevi un blob binario che contiene il documento di attestazione firmato. Il documento di attestazione firmato è un oggetto codificato in CBOR e firmato COSE (utilizzando la struttura di firma COSE\$1Sign1). Il processo di convalida complessivo comprende le seguenti fasi:

1. Decodifica l’oggetto CBOR e mappalo su una struttura COSE\$1Sign1.

1. Estrai il documento di attestazione dalla struttura COSE\$1sign1.

1. Verifica la catena del certificato.

1. Controlla che il documento di attestazione sia firmato correttamente.

I documenti di attestazione sono firmati da AWS Nitro Attestation PKI, che include un certificato root per le partizioni commerciali. AWS Il certificato principale può essere scaricato da [https://aws-nitro-enclaves.amazonaws.com/AWS\$1NitroEnclaves\$1Root-G1.zip](https://aws-nitro-enclaves.amazonaws.com/AWS_NitroEnclaves_Root-G1.zip) e può essere verificato utilizzando la seguente impronta digitale.

```
64:1A:03:21:A3:E2:44:EF:E4:56:46:31:95:D6:06:31:7E:D7:CD:CC:3C:17:56:E0:98:93:F3:C6:8F:79:BB:5B
```

Il certificato radice si basa su una chiave AWS Certificate Manager privata della Private Certificate Authority (AWS Private CA) e ha una durata di 30 anni. L’oggetto del PCA ha il seguente formato.

```
CN=aws.nitro-enclaves, C=US, O=Amazon, OU=AWS
```

**Topics**
+ [

### COSE e CBOR
](#COSE-CBOR)
+ [

### Validità semantica
](#semantic-validation)
+ [

### Validità dei certificati
](#cert-validity)
+ [

### Validità della catena di certificati
](#chain)

### COSE e CBOR
<a name="COSE-CBOR"></a>

Di solito, la struttura della firma COSE\$1Sign1 viene utilizzata quando viene inserita una sola firma su un messaggio. I parametri relativi al contenuto e alla firma vengono inseriti nell’intestazione protetta invece di avere la separazione di COSE\$1Sign. La struttura può essere codificata come etichettata o senza tag, a seconda del contesto in cui verrà utilizzata. Una struttura COSE\$1Sign1 con tag è identificata dal tag CBOR 18. 

L’oggetto CBOR che contiene il corpo, la firma e le informazioni sul corpo e sulla firma è chiamato struttura COSE\$1Sign1. La struttura COSE\$1Sign1 è un array CBOR. L’array include i seguenti campi.

```
[
  protected:   Header,
  unprotected: Header,
  payload:     This field contains the serialized content to be signed,
  signature:   This field contains the computed signature value.
]
```

Nel contesto di un documento di attestazione, l’array include quanto segue.

```
18(/* COSE_Sign1 CBOR tag is 18 */
    {1: -35}, /* This is equivalent with {algorithm: ECDS 384} */
    {}, /* We have nothing in unprotected */
    $ATTESTATION_DOCUMENT_CONTENT /* Attestation Document */,
    signature /* This is the signature */
)
```

Per ulteriori informazioni su CBOR, consulta [RFC 8949: Concise Binary Object Representation (CBOR)](https://www.rfc-editor.org/rfc/rfc8949.html).

### Validità semantica
<a name="semantic-validation"></a>

Un documento di attestazione avrà sempre il relativo pacchetto CA nel seguente ordine.

```
[ ROOT_CERT - INTERM_1 - INTERM_2 .... - INTERM_N]
      0          1          2             N - 1
```

Tieni presente questo ordine, poiché alcuni strumenti esistenti, come la [Guida per programmatori dell'API Java CertPath di Java PKI](https://docs.oracle.com/javase/8/docs/technotes/guides/security/certpath/CertPathProgGuide.html), potrebbero richiedere che vengano ordinati in modo diverso.

Per convalidare i certificati, inizia dal pacchetto Attestation Document CA e genera la catena richiesta, dove `TARGET_CERT` è il certificato nel documento di attestazione.

```
[TARGET_CERT, INTERM_N, ..... , INTERM_2, INTERM_1, ROOT_CERT]
```

### Validità dei certificati
<a name="cert-validity"></a>

Per tutti i certificati della catena, devi assicurarti che la data corrente rientri nel periodo di validità specificato nel certificato.

### Validità della catena di certificati
<a name="chain"></a>

In generale, potrebbe essere necessaria una catena di più certificati, comprendente un certificato del proprietario della chiave pubblica firmato da una CA e zero o più certificati aggiuntivi firmati da un'altra. CAs CAs Queste catene, chiamate percorsi di certificazione, sono necessarie perché un utente con chiave pubblica viene inizializzato solo con un numero limitato di chiavi pubbliche CA garantite. Le procedure di convalida dei percorsi di certificazione per la PKI Internet si basano sull’algoritmo fornito in X.509. L'elaborazione del percorso di certificazione verifica l'associazione tra il nome distinto del soggetto, il nome alternativo del and/or soggetto e la chiave pubblica del soggetto. L’associazione è limitata dai vincoli specificati nei certificati che comprendono il percorso e gli input specificati dalla parte affidante. I vincoli di base e le estensioni dei vincoli delle policy permettono alla logica di elaborazione del percorso di certificazione di automatizzare il processo decisionale.

**Nota**  
Il CRL deve essere disabilitato durante la convalida.

Utilizzando Java, a partire dal percorso principale e dalla catena di certificati generata, la convalida della catena è la seguente.

```
validateCertsPath(certChain, rootCertficate) {
    /* The trust anchor is the root CA to trust */
    trustAnchors.add(rootCertificate);

    /* We need PKIX parameters to specify the trust anchors
     * and disable the CRL validation
     */
    validationParameters = new PKIXParameters(trustAnchors);
    certPathValidator = CertPathValidator.getInstance(PKIX);
    validationParameters.setRevocationEnabled(false);

    /* We are ensuring that certificates are chained correctly */
    certPathValidator.validate(certPath, validationParameters);
}
```

# Integrazione con AWS KMS
<a name="attestation-attest"></a>

La tua istanza dovrebbe avere un'applicazione in grado di effettuare richieste AWS KMS API con il documento di attestazione recuperato da NitroTPM. Quando effettui una richiesta con un documento di attestazione, AWS KMS convalida le misurazioni nel documento di attestazione fornito rispetto alle misure di riferimento nella politica chiave KMS. Le richieste sono consentite solo se le misurazioni nel Documento di Attestazione corrispondono alle misurazioni di riferimento nella policy della chiave KMS.

Quando richiami le operazioni [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html),, [DeriveSharedSecret[GenerateDataKey[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html), o [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom.html)API con un documento di attestazione, queste APIs crittografano il testo in chiaro nella risposta utilizzando la chiave pubblica del Documento di attestazione e restituiscono testo cifrato anziché testo semplice. Questo testo criptato può essere decrittografato solo utilizzando la chiave privata corrispondente generata nell’istanza.

Per ulteriori informazioni, consulta [Cryptographic attestation for NitroTPM](https://docs.aws.amazon.com/kms/latest/developerguide/services-nitro-enclaves.html) nella *Guida per gli sviluppatori AWS Key Management Service *.

**Nota**  
Se stai attestando un servizio di terze parti, devi creare i tuoi meccanismi personalizzati per ricevere, analizzare e convalidare i documenti di attestazione. Per ulteriori informazioni, consulta [Convalida un documento di attestazione NitroTPM](nitrotpm-attestation-document-validate.md).

# Isola i dati dai tuoi operatori
<a name="isolate-data-operators"></a>

Il [sistema Nitro](https://docs.aws.amazon.com/whitepapers/latest/security-design-of-aws-nitro-system/no-aws-operator-access.html) non ha accesso da parte dell'operatore. AWS Non esiste alcun meccanismo che consenta a nessun AWS sistema o persona di accedere agli host Amazon EC2 Nitro, accedere alla memoria delle istanze EC2 o accedere ai dati dei clienti archiviati nello storage di istanze crittografate locali o nei volumi Amazon EBS crittografati remoti.

Durante l’elaborazione di dati altamente sensibili, potresti prendere in considerazione la possibilità di limitare l’accesso a tali dati impedendo anche ai tuoi operatori di accedere all’istanza EC2.

Puoi creare Attestable personalizzati configurati per fornire un AMIs ambiente di calcolo isolato. La configurazione AMI dipende dal carico di lavoro e dai requisiti dell’applicazione. Prendi in considerazione queste best practice quando crei la tua AMI per creare un ambiente di calcolo isolato.
+ **Rimuovi tutti gli accessi interattivi** per impedire agli operatori o agli utenti di accedere all’istanza.
+ Assicurati che nell’AMI **siano inclusi solo software e codice affidabili**.
+ **Configura un firewall di rete** all’interno dell’istanza per bloccare l’accesso.
+ **Garantisci stati di sola lettura e immutabili per tutti gli** archivi e i file system.
+ **Limita l’accesso delle istanze** alle chiamate API autenticate, autorizzate e registrate.

# Attestabili di aggiornamento AMIs che non dispongono di accesso interattivo
<a name="working-with-isolated-amis"></a>

Una volta avviata un’istanza utilizzando un ambiente di calcolo isolato AMI, nessun utente o operatore può connettersi all’istanza. Ciò significa che non è possibile installare o aggiornare alcun software sull’istanza dopo l’avvio.

Se serve un nuovo software o un aggiornamento software, bisogna creare una nuova AMI attestabile che includa il software o gli aggiornamenti software richiesti. Quindi, utilizza quell’AMI per avviare una nuova istanza o eseguire una sostituzione del volume root sull’istanza originale. Qualsiasi modifica software apportata all’AMI comporterà la generazione di un nuovo hash.

Le seguenti azioni comporteranno una modifica alle misurazioni di riferimento nel documento di attestazione NitroTPM:
+ Arresto e avvio di un’istanza avviata con un’AMI attestabile
+ Esecuzione di una sostituzione del volume root con un’AMI diversa

Se esegui una di queste azioni, devi aggiornare il servizio di attestazione con le nuove misurazioni di riferimento. Ad esempio, è necessario aggiornare la politica chiave KMS alle nuove misurazioni di riferimento se si utilizza AWS KMS per l'attestazione.

Un'istanza conserva il materiale chiave NitroTPM per l'intero ciclo di vita dell'istanza e persiste durante le operazioni di sostituzione del volume principale. stop/starts 

# Credential Guard per istanze Windows
<a name="credential-guard"></a>

Il sistema AWS Nitro supporta Credential Guard per le istanze Windows di Amazon Elastic Compute Cloud (Amazon EC2). Credential Guard è una funzionalità di sicurezza basata sulla virtualizzazione di Windows (VBS) che consente la creazione di ambienti isolati per proteggere le risorse di sicurezza, come le credenziali utente di Windows e l'applicazione dell'integrità del codice, oltre alle protezioni del kernel di Windows. Quando esegui istanze EC2 per Windows, Credential Guard utilizza il sistema AWS Nitro per proteggere le credenziali di accesso di Windows dall'estrazione dalla memoria del sistema operativo.

**Topics**
+ [

## Prerequisiti
](#credential-guard-prerequisites)
+ [

## Avviare un'istanza supportata
](#credential-guard-launch-instance)
+ [

## Disattivare l'integrità della memoria
](#disable-memory-integrity)
+ [

## Attivare Credential Guard
](#turn-on-credential-guard)
+ [

## Verificare se Credential Guard è in esecuzione
](#verify-credential-guard)

## Prerequisiti
<a name="credential-guard-prerequisites"></a>

L'istanza Windows deve soddisfare i seguenti prerequisiti per utilizzare Credential Guard.

**Immagini di macchine Amazon (AMIs)**  
L'AMI deve essere preconfigurata per abilitare NitroTPM e UEFI Secure Boot. Per ulteriori informazioni sui supporti AMIs, consulta[Requisiti per l'utilizzo di NitroTPM con istanze Amazon EC2](enable-nitrotpm-prerequisites.md).

**Integrità della memoria**  
*L'integrità della memoria*, nota anche come *Hypervisor-protected Code Integrity (HVCI)* o *Hypervisor enforced Code Integrity*, non è supportata. Prima di attivare Credential Guard, devi assicurarti che questa funzionalità sia disattivata. Per ulteriori informazioni, consulta [Disattivare l'integrità della memoria](#disable-memory-integrity).

**Tipi di istanza**  
I seguenti tipi di istanza supportano Credential Guard per tutte le dimensioni se non diversamente indicato: `C5`, `C5d`, `C5n`, `C6i`, `C6id`, `C6in`, `C7i`, `C7i-flex`, `M5`, `M5d`, `M5dn`, `M5n`, `M5zn`, `M6i`, `M6id`, `M6idn`, `M6in`, `M7i`, `M7i-flex`, `R5`, `R5b`, `R5d`, `R5dn`, `R5n`, `R6i`, `R6id`, `R6idn`, `R6in`, `R7i`, `R7iz`, `T3`.  
+ Sebbene NitroTPM abbia in comune alcuni tipi di istanza obbligatori, il tipo di istanza deve essere uno dei precedenti per supportare Credential Guard.
+ Credential Guard non è supportato per:
  + Istanze Bare Metal.
  + I seguenti tipi di istanza: `C7i.48xlarge`, `M7i.48xlarge` e `R7i.48xlarge`.
Per ulteriori informazioni sui tipi di istanza, consulta [Guida a tipi di istanza di Amazon EC2](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html).

## Avviare un'istanza supportata
<a name="credential-guard-launch-instance"></a>

Puoi utilizzare la console Amazon EC2 o AWS Command Line Interface (AWS CLI) per avviare un'istanza in grado di supportare Credential Guard. Avrai bisogno di un ID AMI compatibile per avviare l'istanza, che sia unico per ciascuna Regione AWS.

**Suggerimento**  
Puoi utilizzare il seguente link per scoprire e avviare istanze con AMI compatibili fornite da Amazon nella console Amazon EC2:  
[https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon](https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon)

------
#### [ Console ]

**Per avviare un'istanza**  
Segui la procedura [avviare di un'istanza](ec2-launch-instance-wizard.md) specificando un tipo di istanza supportato e un'AMI Windows preconfigurata.

------
#### [ AWS CLI ]

**Per avviare un'istanza**  
Utilizza il comando [https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) per avviare un'istanza utilizzando un tipo di istanza supportato e un'AMI Windows preconfigurata.

```
aws ec2 run-instances \
    --image-id resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base \
    --instance-type c6i.large \
    --region us-east-1 \
    --subnet-id subnet-0abcdef1234567890
    --key-name key-name
```

------
#### [ PowerShell ]

**Per avviare un'istanza**  
Utilizza il comando [https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) per avviare un'istanza utilizzando un tipo di istanza supportato e un'AMI Windows preconfigurata.

```
New-EC2Instance `
    -ImageId resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base `
    -InstanceType c6i.large `
    -Region us-east-1 `
    -SubnetId subnet-0abcdef1234567890 `
    -KeyName key-name
```

------

## Disattivare l'integrità della memoria
<a name="disable-memory-integrity"></a>

È possibile utilizzare l'Editor Criteri di gruppo locali per disabilitare l'integrità della memoria negli scenari supportati. Le seguenti linee guida possono essere applicate per ciascuna impostazione di configurazione in **Protezione basata su virtualizzazione dell'integrità del codice**:
+ **Abilitata senza blocco**: modifica l'impostazione impostandola su **Disabilitato** per disabilitare l'integrità della memoria.
+ **Abilitato con blocco UEFI**: l'integrità della memoria è stata abilitata con il blocco UEFI. L'integrità della memoria non può essere disabilitata una volta abilitata con il blocco UEFI. Ti consigliamo di creare una nuova istanza con l'integrità della memoria disabilitata e di terminare l'istanza non supportata se non è in uso.

**Per disabilitare l'integrità della memoria con l'Editor Criteri di gruppo locali**

1. Connettiti alla tua istanza come account utente con privilegi di amministrazione utilizzando il protocollo RDP (Remote Desktop Protocol). Per ulteriori informazioni, consulta [Connettiti alla tua istanza Windows utilizzando un client RDP](connect-rdp.md).

1. Apri il menu Start e cerca **cmd** per avviare un prompt dei comandi.

1. Esegui i comandi seguenti per aprire l'Editor Criteri di gruppo locali: `gpedit.msc`

1. Nell'Editor Criteri di gruppo locali, scegli **Configurazione computer**, **Modelli amministrativi**, **Sistema**, **Protezione dispositivi**.

1. Seleziona **Attiva la sicurezza basata sulla virtualizzazione**, quindi seleziona **Modifica impostazione delle policy**.

1. Apri il menu a discesa delle impostazioni per **Protezione basata su virtualizzazione dell'integrità del codice**, scegli **Disabilitata**, quindi scegli **Applica**.

1. Riavvia l'istanza per applicare le modifiche.

## Attivare Credential Guard
<a name="turn-on-credential-guard"></a>

Dopo aver avviato un'istanza Windows con un tipo di istanza supportato e un'AMI compatibile e aver confermato che l'integrità della memoria è disabilitata, puoi attivare Credential Guard.

**Importante**  
Per eseguire i seguenti passaggi di attivazione di Credential Guard sono necessari i seguenti privilegi di amministratore.

**Per attivare Credential Guard**

1. Connettiti alla tua istanza come account utente con privilegi di amministrazione utilizzando il protocollo RDP (Remote Desktop Protocol). Per ulteriori informazioni, consulta [Connettiti alla tua istanza Windows utilizzando un client RDP](connect-rdp.md).

1. Apri il menu Start e cerca **cmd** per avviare un prompt dei comandi.

1. Esegui i comandi seguenti per aprire l'Editor Criteri di gruppo locali: `gpedit.msc`

1. Nell'Editor Criteri di gruppo locali, scegli **Configurazione computer**, **Modelli amministrativi**, **Sistema**, **Protezione dispositivi**.

1. Seleziona **Attiva la sicurezza basata sulla virtualizzazione**, quindi seleziona **Modifica impostazione delle policy**.

1. Scegli **Abilitata** nel menu **Attiva la sicurezza basata sulla virtualizzazione**.

1. Per **Seleziona livello di sicurezza della piattaforma**, scegli **Secure Boot e protezione DMA**.

1. Per **Configurazione di Credential Guard**, scegli **Abilitato con blocco UEFI**.
**Nota**  
Le restanti impostazioni delle policy non sono necessarie per abilitare Credential Guard e possono essere lasciate come **Non configurate**.

   L'immagine seguente mostra le impostazioni VBS configurate come descritto in precedenza:  
![\[\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/vbs-credential-guard-gpo-enabled.png)

1. Riavvia l'istanza per applicare le impostazioni.

## Verificare se Credential Guard è in esecuzione
<a name="verify-credential-guard"></a>

Puoi utilizzare lo strumento Microsoft System Information (`Msinfo32.exe`) per confermare che Credential Guard è in esecuzione.

**Importante**  
È necessario innanzitutto riavviare l'istanza per completare l'applicazione delle impostazioni delle policy richieste per abilitare Credential Guard.

**Per verificare se Credential Guard è in esecuzione**

1. Connettiti all'istanza utilizzando il protocollo RDP (Remote Desktop Protocol). Per ulteriori informazioni, consulta [Connettiti alla tua istanza Windows utilizzando un client RDP](connect-rdp.md).

1. All'interno della sessione RDP dell'istanza, apri il menu Start e cerca **cmd** per avviare un prompt dei comandi.

1. Apri Informazioni sul sistema eseguendo il comando seguente: `msinfo32.exe`

1. Lo strumento Microsoft System Information elenca i dettagli per la configurazione VBS. Accanto a Servizi di sicurezza basati sulla virtualizzazione, verifica che **Credential Guard** sia visualizzato come **In esecuzione**.

   L'immagine seguente mostra che VBS è in esecuzione come descritto in precedenza:  
![\[\]](http://docs.aws.amazon.com/it_it/AWSEC2/latest/UserGuide/images/vbs-credential-guard-msinfo32-enabled.png)

# Accesso ad Amazon EC2 utilizzando un endpoint VPC di interfaccia
<a name="interface-vpc-endpoints"></a>

Puoi migliorare la sicurezza della tua VPC creando una connessione privata tra le risorse nella tua VPC e l’API Amazon EC2. Puoi accedere all'API Amazon EC2 come se fosse nel tuo VPC, senza l'uso di un gateway Internet, un dispositivo NAT, una connessione VPN o una connessione. Direct Connect Le istanze EC2 presenti nel VPC non richiedono indirizzi IP pubblici per accedere all’API Amazon EC2.

*Per ulteriori informazioni, consulta [Access Servizi AWS through AWS PrivateLink nella Guida](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-access-aws-services.html).AWS PrivateLink *

**Topics**
+ [

## Creazione di un endpoint VPC dell'interfaccia
](#create-endpoint)
+ [

## Creazione di una policy di endpoint
](#endpoint-policy)

## Creazione di un endpoint VPC dell'interfaccia
<a name="create-endpoint"></a>

Crea un endpoint di interfaccia per Amazon EC2 utilizzando uno dei seguenti nomi di servizi:
+ **com.amazonaws. *region*.ec2** — Crea un endpoint per le azioni dell'API Amazon EC2.

*Per ulteriori informazioni, consulta [Accedere a un endpoint VPC Servizio AWS con interfaccia nella Guida](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html).AWS PrivateLink *

## Creazione di una policy di endpoint
<a name="endpoint-policy"></a>

Una policy di endpoint è una risorsa IAM che è possibile allegare all'endpoint di interfaccia. La policy di endpoint di default permette l'accesso completo all'API Amazon EC2 tramite l'endpoint di interfaccia. Per controllare l'accesso consentito all'API Amazon EC2 dal VPC, allegare una policy di endpoint personalizzata all'endpoint di interfaccia.

Una policy di endpoint specifica le informazioni riportate di seguito:
+ I principali che possono eseguire operazioni.
+ Le operazioni che possono essere eseguite.
+ La risorsa su cui è possibile eseguire le operazioni.

**Importante**  
Quando viene applicata una policy non predefinita a un endpoint VPC di interfaccia per Amazon EC2, alcune richieste API non riuscite, ad esempio quelle `RequestLimitExceeded` provenienti da, potrebbero non essere registrate su Amazon o Amazon. AWS CloudTrail CloudWatch

Per ulteriori informazioni, consulta la sezione [Controllo dell'accesso ai servizi con policy di endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html) nella *Guida di AWS PrivateLink *.

Nell'esempio seguente viene illustrata una policy endpoint VPC che nega l'autorizzazione per creare volumi non crittografati o per lanciare istanze con volumi non crittografati. Inoltre, la policy di esempio concede a chiunque l'autorizzazione per eseguire tutte le altre operazioni Amazon EC2.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
        "Action": "ec2:*",
        "Effect": "Allow",
        "Resource": "*",
        "Principal": "*"
    },
    {
        "Action": [
            "ec2:CreateVolume"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    },
    {
        "Action": [
            "ec2:RunInstances"
        ],
        "Effect": "Deny",
        "Resource": "*",
        "Principal": "*",
        "Condition": {
            "Bool": {
                "ec2:Encrypted": "false"
            }
        }
    }]
}
```

------