

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

# Protezione dei dati in AWS IoT Greengrass
<a name="data-protection"></a>

Il modello di [responsabilità AWS condivisa modello](https://aws.amazon.com/compliance/shared-responsibility-model/) di di si applica alla protezione dei dati in AWS IoT Greengrass. 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 AWS IoT Greengrass o Servizi AWS utilizzi 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.

Per ulteriori informazioni sulla protezione delle informazioni sensibili in AWS IoT Greengrass, consulta[Non registrare informazioni riservate](security-best-practices.md#protect-pii).

Per ulteriori informazioni sulla protezione dei dati, consulta il post del blog [AWS Modello di responsabilità condivisa e GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/) su *AWS Security Blog*.

**Topics**
+ [Crittografia dei dati](data-encryption.md)
+ [Integrazione della sicurezza hardware](hardware-security.md)

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

AWS IoT Greengrass utilizza la crittografia per proteggere i dati durante il transito (su Internet o rete locale) e quando sono inattivi (archiviati in). Cloud AWS

I dispositivi in un AWS IoT Greengrass ambiente spesso raccolgono dati che vengono inviati ai AWS servizi per un'ulteriore elaborazione. Per ulteriori informazioni sulla crittografia dei dati su altri AWS servizi, consulta la documentazione sulla sicurezza relativa a tale servizio.

**Topics**
+ [Crittografia in transito](encryption-in-transit.md)
+ [Crittografia a riposo](encryption-at-rest.md)
+ [Gestione delle chiavi per il dispositivo Core Greengrass](key-management.md)

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

AWS IoT Greengrass dispone di due modalità di comunicazione in cui i dati sono in transito:
+ [Dati in transito su Internet](#data-in-transit-internet). La comunicazione tra un core Greengrass e AWS IoT Greengrass Internet è crittografata.
+ [Dati sul dispositivo core](#data-in-transit-locally). La comunicazione tra i componenti del dispositivo centrale Greengrass non è crittografata.

## Dati in transito su Internet
<a name="data-in-transit-internet"></a>

AWS IoT Greengrass utilizza Transport Layer Security (TLS) per crittografare tutte le comunicazioni su Internet. Tutti i dati inviati a vengono inviati tramite una connessione TLS utilizzando i protocolli MQTT o HTTPS, quindi sono sicuri per impostazione predefinita. Cloud AWS AWS IoT Greengrass utilizza il modello di sicurezza del AWS IoT trasporto. Per ulteriori informazioni, consulta l'argomento relativo alla [sicurezza del trasporto](https://docs.aws.amazon.com/iot/latest/developerguide/transport-security.html) nella *Guida per gli sviluppatori AWS IoT Core *.

## Dati sul dispositivo core
<a name="data-in-transit-locally"></a>

AWS IoT Greengrass non crittografa i dati scambiati localmente sul dispositivo principale Greengrass perché i dati non escono dal dispositivo. Ciò include la comunicazione tra componenti definiti dall'utente, l'SDK del AWS IoT dispositivo e componenti pubblici, come lo stream manager.

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

AWS IoT Greengrass archivia i tuoi dati:
+ [Dati inattivi in Cloud AWS](#data-at-rest-cloud). Questi dati sono criptati.
+ [Dati inattivi sul core Greengrass](#data-at-rest-device). Questi dati non sono crittografati (tranne le copie locali dei tuoi segreti).

## Dati inattivi in Cloud AWS
<a name="data-at-rest-cloud"></a>

AWS IoT Greengrass crittografa i dati dei clienti archiviati in. Cloud AWS Questi dati sono protetti mediante AWS KMS chiavi gestite da AWS IoT Greengrass.

## Dati inattivi sul core Greengrass
<a name="data-at-rest-device"></a>

AWS IoT Greengrass si affida alle autorizzazioni di file Unix e alla crittografia dell'intero disco (se abilitata) per proteggere i dati archiviati integralmente. È tua responsabilità proteggere il file system e il dispositivo.

Tuttavia, crittografa AWS IoT Greengrass le copie locali dei tuoi segreti recuperati da. Gestione dei segreti AWS Per ulteriori informazioni, consultate il componente [Secret Manager](secret-manager-component.md).

# Gestione delle chiavi per il dispositivo Core Greengrass
<a name="key-management"></a>

È responsabilità del cliente garantire l'archiviazione sicura delle chiavi crittografiche (pubbliche e private) sul dispositivo principale Greengrass. AWS IoT Greengrass utilizza chiavi pubbliche e private per il seguente scenario:
+ La chiave client IoT viene utilizzata con il certificato IoT per autenticare l'handshake TLS (Transport Layer Security) quando un core Greengrass si connette a AWS IoT Core. Per ulteriori informazioni, consulta [Autenticazione e autorizzazione del dispositivo per AWS IoT Greengrass](device-auth.md).
**Nota**  
La chiave e il certificato sono anche indicati come chiave privata principale e il certificato del dispositivo core.

Un dispositivo core Greengrass supporta l'archiviazione di chiavi private utilizzando le autorizzazioni del file system o un modulo di sicurezza [hardware](hardware-security.md). Se si utilizzano chiavi private basate su file system, si è responsabili della loro archiviazione sicura sul dispositivo core.

# Integrazione della sicurezza hardware
<a name="hardware-security"></a>

**Nota**  
[Questa funzionalità è disponibile per la versione 2.5.3 e successive del componente Greengrass nucleus.](greengrass-nucleus-component.md) AWS IoT Greengrass attualmente non supporta questa funzionalità sui dispositivi Windows core. 

È possibile configurare il software AWS IoT Greengrass Core per utilizzare un modulo di sicurezza hardware (HSM) tramite l'interfaccia [PKCS \$111](https://en.wikipedia.org/wiki/PKCS_11). Questa funzionalità consente di archiviare in modo sicuro la chiave privata e il certificato del dispositivo in modo che non vengano esposti o duplicati nel software. È possibile archiviare la chiave privata e il certificato su un modulo hardware come un HSM o un Trusted Platform Module (TPM).

Il software AWS IoT Greengrass Core utilizza una chiave privata e un certificato X.509 per autenticare le connessioni ai servizi e. AWS IoT AWS IoT Greengrass Il [componente secret manager](secret-manager-component.md) utilizza questa chiave privata per crittografare e decrittografare in modo sicuro i segreti distribuiti su un dispositivo centrale Greengrass. Quando configurate un dispositivo principale per l'utilizzo di un HSM, questi componenti utilizzano la chiave privata e il certificato archiviati nell'HSM.

Il [componente del broker Moquette MQTT](mqtt-broker-moquette-component.md) memorizza anche una chiave privata per il certificato del server MQTT locale. Questo componente memorizza la chiave privata sul file system del dispositivo nella cartella di lavoro del componente. Attualmente, AWS IoT Greengrass non supporta l'archiviazione di questa chiave privata o certificato in un HSM.

**Suggerimento**  
Cerca i dispositivi che supportano questa funzionalità nel [AWS Partner Device Catalog](https://devices.amazonaws.com/search?kw=%22HSI%22&page=1).

**Topics**
+ [Requisiti](#hardware-security-requirements)
+ [Procedure ottimali per la sicurezza dell'hardware](#hardware-security-best-practices)
+ [Installa il software AWS IoT Greengrass Core con sicurezza hardware](#install-with-hardware-security)
+ [Configura la sicurezza hardware su un dispositivo principale esistente](#enable-hardware-security)
+ [Utilizza hardware senza supporto PKCS \$111](#hardware-without-pkcs11)
+ [Consulta anche](#hardware-security-see-also)

## Requisiti
<a name="hardware-security-requirements"></a>

È necessario soddisfare i seguenti requisiti per utilizzare un HSM su un dispositivo core Greengrass:
+ [Greengrass nucleus](greengrass-nucleus-component.md) v2.5.3 o versione successiva installato sul dispositivo principale. È possibile scegliere una versione compatibile quando si installa il software AWS IoT Greengrass Core su un dispositivo principale.
+ Il [componente del provider PKCS \$111](pkcs11-provider-component.md) installato sul dispositivo principale. È possibile scaricare e installare questo componente quando si installa il software AWS IoT Greengrass Core su un dispositivo principale.
+ <a name="hardware-security-module-requirements-key"></a>Un modulo di sicurezza hardware che supporta lo schema di firma [PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) e le chiavi RSA con chiave RSA-2048 (o superiore) o chiavi ECC.
**Nota**  <a name="hardware-security-module-requirements-key-notes"></a>
Per utilizzare un modulo di sicurezza hardware con chiavi ECC, è necessario utilizzare [Greengrass nucleus](greengrass-nucleus-component.md) v2.5.6 o versione successiva.  
Per utilizzare un modulo di sicurezza hardware e un [gestore segreto](secret-manager-component.md), è necessario utilizzare un modulo di sicurezza hardware con chiavi RSA.
+ <a name="hardware-security-module-requirements-pkcs11-provider-library"></a>Una libreria di provider PKCS \$111 che il software AWS IoT Greengrass Core può caricare in fase di esecuzione (usando libdl) per richiamare le funzioni PKCS \$111. La libreria del provider PKCS \$111 deve implementare le seguenti operazioni API PKCS \$111:
  + `C_Initialize`
  + `C_Finalize`
  + `C_GetSlotList`
  + `C_GetSlotInfo`
  + `C_GetTokenInfo`
  + `C_OpenSession`
  + `C_GetSessionInfo`
  + `C_CloseSession`
  + `C_Login`
  + `C_Logout`
  + `C_GetAttributeValue`
  + `C_FindObjectsInit`
  + `C_FindObjects`
  + `C_FindObjectsFinal`
  + `C_DecryptInit`
  + `C_Decrypt`
  + `C_DecryptUpdate`
  + `C_DecryptFinal`
  + `C_SignInit`
  + `C_Sign`
  + `C_SignUpdate`
  + `C_SignFinal`
  + `C_GetMechanismList`
  + `C_GetMechanismInfo`
  + `C_GetInfo`
  + `C_GetFunctionList`
+ <a name="hardware-security-module-requirements-slot-label"></a>Il modulo hardware deve essere risolvibile mediante l'etichetta dello slot, come definito nella specifica PKCS\$111.
+ <a name="hardware-security-module-requirements-private-key-and-certificate"></a>È necessario archiviare la chiave privata e il certificato nell'HSM nello stesso slot e devono utilizzare la stessa etichetta e lo stesso ID dell'oggetto, se l'HSM supporta l'oggetto. IDs
+ <a name="hardware-security-module-requirements-object-label"></a>Il certificato e la chiave privata devono essere risolvibili mediante etichette di oggetti.
+ <a name="hardware-security-module-requirements-private-key-permissions"></a>La chiave privata deve avere le seguenti autorizzazioni:
  + `sign`
  + `decrypt`
+ <a name="hardware-security-module-requirements-secret-manager-permissions"></a>(Facoltativo) Per utilizzare il [componente Secret Manager](secret-manager-component.md), è necessario utilizzare la versione 2.1.0 o successiva e la chiave privata deve disporre delle seguenti autorizzazioni:
  + `unwrap`
  + `wrap`

## Procedure ottimali per la sicurezza dell'hardware
<a name="hardware-security-best-practices"></a>

Prendi in considerazione le seguenti best practice quando configuri la sicurezza hardware sui dispositivi core Greengrass.
+ Generare chiavi private direttamente nell'HSM tramite il generatore di numeri casuali hardware interno. Questo approccio è più sicuro rispetto all'importazione di una chiave privata generata altrove, poiché la chiave privata rimane all'interno dell'HSM.
+ Configura le chiavi private in modo che siano immutabili e proibisca l'esportazione.
+ Utilizza lo strumento di provisioning consigliato dal fornitore di hardware HSM per generare una richiesta di firma del certificato (CSR) utilizzando la chiave privata protetta dall'hardware, quindi utilizza la console o l'API per generare un certificato client. AWS IoT 

**Nota**  
La procedura consigliata in materia di sicurezza per ruotare le chiavi non si applica quando si generano chiavi private su un HSM.

## Installa il software AWS IoT Greengrass Core con sicurezza hardware
<a name="install-with-hardware-security"></a>

Quando installi il software AWS IoT Greengrass Core, puoi configurarlo per utilizzare una chiave privata generata in un HSM. Questo approccio segue le [migliori pratiche di sicurezza](#hardware-security-best-practices) per generare la chiave privata nell'HSM, in modo che la chiave privata rimanga all'interno dell'HSM.

Per installare il software AWS IoT Greengrass Core con sicurezza hardware, procedi come segue:

1. Genera una chiave privata nell'HSM.

1. Crea una richiesta di firma del certificato (CSR) dalla chiave privata.

1. Crea un certificato dalla CSR. È possibile creare un certificato firmato da AWS IoT o da un'altra autorità di certificazione (CA) principale. Per ulteriori informazioni su come utilizzare un'altra CA root, consulta [Create your own client certificate](https://docs.aws.amazon.com/iot/latest/developerguide/device-certs-your-own.html) nella *AWS IoT Core Developer Guide*.

1. Scarica il AWS IoT certificato e importalo nell'HSM.

1. Installa il software AWS IoT Greengrass Core da un file di configurazione che specifica di utilizzare il componente del provider PKCS \$111 e la chiave privata e il certificato nell'HSM.

È possibile scegliere una delle seguenti opzioni di installazione per installare il software AWS IoT Greengrass Core con sicurezza hardware:
+ **Installazione manuale**

  Scegli questa opzione per creare manualmente AWS le risorse richieste e configurare la sicurezza hardware. Per ulteriori informazioni, consulta [Installa il software AWS IoT Greengrass Core con provisioning manuale delle risorse](manual-installation.md).
+ **Installazione con provisioning personalizzato**

  Scegliete questa opzione per sviluppare un'applicazione Java personalizzata che crei automaticamente AWS le risorse richieste e configuri la sicurezza hardware. Per ulteriori informazioni, consulta [Installa il software AWS IoT Greengrass Core con provisioning personalizzato delle risorse](custom-provisioning.md).

Attualmente, AWS IoT Greengrass non supporta l'installazione del software AWS IoT Greengrass Core con sicurezza hardware quando si [installa con il provisioning automatico delle risorse o il provisioning del AWS IoT](quick-installation.md) [parco veicoli](fleet-provisioning.md).

## Configura la sicurezza hardware su un dispositivo principale esistente
<a name="enable-hardware-security"></a>

È possibile importare la chiave privata e il certificato di un dispositivo principale in un HSM per configurare la sicurezza hardware.

**Considerazioni**  
È necessario disporre dell'accesso root al file system del dispositivo principale.
In questa procedura, si spegne il software AWS IoT Greengrass Core, in modo che il dispositivo principale sia offline e non disponibile durante la configurazione della sicurezza hardware.

Per configurare la sicurezza hardware su un dispositivo principale esistente, procedi come segue:

1. Inizializza l'HSM.

1. Implementa il [componente del provider PKCS \$111 sul](pkcs11-provider-component.md) dispositivo principale.

1. Arresta il software AWS IoT Greengrass Core.

1. Importa la chiave privata e il certificato del dispositivo principale nell'HSM.

1. Aggiorna il file di configurazione del software AWS IoT Greengrass Core per utilizzare la chiave privata e il certificato nell'HSM.

1. Avvia il software AWS IoT Greengrass Core.

### Fase 1: inizializzare il modulo di sicurezza hardware
<a name="enable-hardware-security-initialize-hsm"></a>

Completa il passaggio seguente per inizializzare l'HSM sul tuo dispositivo principale.

**Per inizializzare il modulo di sicurezza hardware**
+ Inizializza un token PKCS \$111 nell'HSM e salva l'ID dello slot e il PIN utente relativi al token. Consulta la documentazione del tuo HSM per scoprire come inizializzare un token. L'ID dello slot e il PIN utente verranno utilizzati successivamente quando si distribuisce e si configura il componente del provider PKCS \$111.

### Fase 2: Implementazione del componente del provider PKCS \$111
<a name="enable-hardware-security-deploy-pkcs11-provider"></a>

Completare i seguenti passaggi per distribuire e configurare il componente del provider [PKCS \$111](pkcs11-provider-component.md). È possibile distribuire il componente su uno o più dispositivi principali.

#### Per distribuire il componente del provider PKCS \$111 (console)
<a name="deploy-pkcs11-provider-component-console"></a>

1. **Nel menu di navigazione della [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass), scegli Componenti.**

1. Nella pagina **Componenti**, scegli la scheda **Componenti pubblici**, quindi scegli **aws.greengrass.crypto.Pkcs11Provider**.

1. Nella pagina **aws.greengrass.crypto.Pkcs11Provider**, scegli **(Distribuisci)**.

1. <a name="deploy-component-choose-deployment-step"></a>Da **Aggiungi alla distribuzione**, scegli una distribuzione esistente da modificare oppure scegli di creare una nuova distribuzione, quindi scegli **Avanti**.

1. <a name="deploy-component-choose-target-step"></a>Se hai scelto di creare una nuova distribuzione, scegli il dispositivo principale o il gruppo di oggetti di destinazione per la distribuzione. Nella pagina **Specificare la destinazione**, in **Obiettivo di distribuzione**, scegli un dispositivo principale o un gruppo di oggetti, quindi scegli **Avanti**.

1. Nella pagina **Seleziona componenti**, in **Componenti pubblici**, seleziona **aws.greengrass.crypto.Pkcs11Provider**, quindi scegli **Avanti**.

1. Nella pagina **Configura componenti **aws.greengrass.crypto.Pkcs11Provider****, selezionate e quindi effettuate le seguenti operazioni:

   1. Scegli **Configura componente**.

   1. Nella aws.greengrass.crypto.Pkcs11Provider modalità **Configura**, in **Aggiornamento della configurazione**, in **Configurazione da unire**, inserisci il seguente aggiornamento di configurazione. Aggiorna i seguenti parametri di configurazione con i valori per i dispositivi principali di destinazione. Specificate l'ID dello slot e il PIN utente in cui avete inizializzato in precedenza il token PKCS \$111. La chiave privata e il certificato verranno importati in questo slot nell'HSM in un secondo momento.<a name="pkcs11-provider-component-configuration-parameters"></a>  
`name`  
Un nome per la configurazione PKCS \$111.  
`library`  
Il percorso assoluto del file alla libreria dell'implementazione PKCS \$111 che il software AWS IoT Greengrass Core può caricare con libdl.  
`slot`  
L'ID dello slot che contiene la chiave privata e il certificato del dispositivo. Questo valore è diverso dall'indice o dall'etichetta dello slot.  
`userPin`  
Il PIN utente da utilizzare per accedere allo slot.

      ```
      {
        "name": "softhsm_pkcs11",
        "library": "/usr/lib/softhsm/libsofthsm2.so",
        "slot": 1,
        "userPin": "1234"
      }
      ```

   1. Scegli **Conferma** per chiudere la modalità, quindi scegli **Avanti**.

1. <a name="deploy-component-configure-advanced-settings-step"></a>Nella pagina **Configura impostazioni avanzate**, mantieni le impostazioni di configurazione predefinite e scegli **Avanti**.

1. <a name="deploy-component-review-and-deploy-step"></a>Nella pagina **Review (Verifica)**, scegli **Deploy (Distribuisci)**.

   Il completamento della distribuzione può richiedere fino a un minuto.

#### Per distribuire il componente provider PKCS \$111 ()AWS CLI
<a name="deploy-pkcs11-provider-component-cli"></a>

Per distribuire il componente del provider PKCS \$111, create un documento di distribuzione che `aws.greengrass.crypto.Pkcs11Provider` includa l'`components`oggetto e specificate l'aggiornamento della configurazione per il componente. Segui le istruzioni riportate [Creare distribuzione](create-deployments.md) per creare una nuova distribuzione o modificare una distribuzione esistente.

Il seguente esempio di documento di distribuzione parziale specifica di distribuire e configurare il componente del provider PKCS \$111. Aggiornate i seguenti parametri di configurazione con i valori per i dispositivi principali di destinazione. Salva l'ID dello slot e il PIN utente da utilizzare in seguito quando importi la chiave privata e il certificato nell'HSM.<a name="pkcs11-provider-component-configuration-parameters"></a>

`name`  
Un nome per la configurazione PKCS \$111.

`library`  
Il percorso assoluto del file alla libreria dell'implementazione PKCS \$111 che il software AWS IoT Greengrass Core può caricare con libdl.

`slot`  
L'ID dello slot che contiene la chiave privata e il certificato del dispositivo. Questo valore è diverso dall'indice o dall'etichetta dello slot.

`userPin`  
Il PIN utente da utilizzare per accedere allo slot.

```
{
  "name": "softhsm_pkcs11",
  "library": "/usr/lib/softhsm/libsofthsm2.so",
  "slot": 1,
  "userPin": "1234"
}
```

```
{
  ...,
  "components": {
    ...,
    "aws.greengrass.crypto.Pkcs11Provider": {
      "componentVersion": "2.0.0",
      "configurationUpdate": {
        "merge": "{\"name\":\"softhsm_pkcs11\",\"library\":\"/usr/lib/softhsm/libsofthsm2.so\",\"slot\":1,\"userPin\":\"1234\"}"
      }
    }
  }
}
```

La distribuzione può richiedere alcuni minuti. È possibile utilizzare il AWS IoT Greengrass servizio per verificare lo stato della distribuzione. È possibile controllare i registri del software AWS IoT Greengrass Core per verificare che il componente del provider PKCS \$111 venga distribuito correttamente. Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Verifica lo stato della distribuzione](check-deployment-status.md)
+ [Monitora AWS IoT Greengrass i registri](monitor-logs.md)

Se la distribuzione non riesce, puoi risolvere i problemi relativi alla distribuzione su ogni dispositivo principale. Per ulteriori informazioni, consulta [Risoluzione dei problemi AWS IoT Greengrass V2](troubleshooting.md).

### Passaggio 3: Aggiornare la configurazione sul dispositivo principale
<a name="enable-hardware-security-configure-core-device"></a>

Il software AWS IoT Greengrass Core utilizza un file di configurazione che specifica il funzionamento del dispositivo. Questo file di configurazione include dove trovare la chiave privata e il certificato utilizzati dal dispositivo per connettersi a. Cloud AWS Completa i seguenti passaggi per importare la chiave privata e il certificato del dispositivo principale nell'HSM e aggiornare il file di configurazione per utilizzare l'HSM.

**Per aggiornare la configurazione sul dispositivo principale per utilizzare la sicurezza hardware**

1. Arresta il software AWS IoT Greengrass Core. Se hai [configurato il software AWS IoT Greengrass Core come servizio di sistema](configure-greengrass-core-v2.md#configure-system-service) con systemd, puoi eseguire il seguente comando per arrestare il software.

   ```
   sudo systemctl stop greengrass.service
   ```

1. Trova la chiave privata e i file di certificato del dispositivo principale.
   + Se hai installato il software AWS IoT Greengrass Core con [provisioning automatico](quick-installation.md) o [fleet provisioning](fleet-provisioning.md), la chiave privata esiste in`/greengrass/v2/privKey.key`, e il certificato esiste in. `/greengrass/v2/thingCert.crt`
   + Se hai installato il software AWS IoT Greengrass Core con il [provisioning manuale](manual-installation.md), la chiave privata esiste `/greengrass/v2/private.pem.key` per impostazione predefinita e il certificato esiste per impostazione predefinita. `/greengrass/v2/device.pem.crt`

   Puoi anche controllare le `system.certificateFilePath` proprietà `system.privateKeyPath` and `/greengrass/v2/config/effectiveConfig.yaml` per trovare la posizione di questi file.

1. Importa la chiave privata e il certificato nell'HSM. Consulta la documentazione del tuo HSM per scoprire come importare chiavi private e certificati al suo interno. Importa la chiave privata e il certificato utilizzando l'ID dello slot e il PIN utente su cui hai inizializzato in precedenza il token PKCS \$111. È necessario utilizzare la stessa etichetta dell'oggetto e lo stesso ID dell'oggetto per la chiave privata e il certificato. Salvate l'etichetta dell'oggetto che specificate quando importate ogni file. Questa etichetta viene utilizzata successivamente quando si aggiorna la configurazione del software AWS IoT Greengrass Core per utilizzare la chiave privata e il certificato nell'HSM.

1. Aggiorna la configurazione AWS IoT Greengrass Core per utilizzare la chiave privata e il certificato nell'HSM. Per aggiornare la configurazione, modificate il file di configurazione AWS IoT Greengrass Core ed eseguite il software AWS IoT Greengrass Core con il file di configurazione aggiornato per applicare la nuova configurazione.

   Esegui questa operazione:

   1. Create un backup del file di configurazione AWS IoT Greengrass Core. Puoi utilizzare questo backup per ripristinare il dispositivo principale in caso di problemi durante la configurazione della sicurezza hardware.

      ```
      sudo cp /greengrass/v2/config/effectiveConfig.yaml ~/ggc-config-backup.yaml
      ```

   1. Apri il file di configurazione AWS IoT Greengrass Core in un editor di testo. Ad esempio, è possibile eseguire il comando seguente per utilizzare GNU nano per modificare il file. Sostituisci `/greengrass/v2` con il percorso della cartella principale di Greengrass.

      ```
      sudo nano /greengrass/v2/config/effectiveConfig.yaml
      ```

   1. Sostituisci il valore di `system.privateKeyPath` con l'URI PKCS \$111 per la chiave privata nell'HSM. *iotdevicekey*Sostituiscilo con l'etichetta dell'oggetto in cui hai importato in precedenza la chiave privata e il certificato.

      ```
      pkcs11:object=iotdevicekey;type=private
      ```

   1. Sostituisci il valore di `system.certificateFilePath` con l'URI PKCS \$111 per il certificato nell'HSM. *iotdevicekey*Sostituiscilo con l'etichetta dell'oggetto in cui hai importato in precedenza la chiave privata e il certificato.

      ```
      pkcs11:object=iotdevicekey;type=cert
      ```

   Dopo aver completato questi passaggi, la `system` proprietà nel file di configurazione AWS IoT Greengrass Core dovrebbe essere simile all'esempio seguente.

   ```
   system:
     certificateFilePath: "pkcs11:object=iotdevicekey;type=cert"
     privateKeyPath: "pkcs11:object=iotdevicekey;type=private"
     rootCaPath: "/greengrass/v2/rootCA.pem"
     rootpath: "/greengrass/v2"
     thingName: "MyGreengrassCore"
   ```

1. Applica la configurazione nel `effectiveConfig.yaml` file aggiornato. Esegui `Greengrass.jar` con il `--init-config` parametro in cui applicare la configurazione`effectiveConfig.yaml`. Sostituisci `/greengrass/v2` con il percorso della cartella principale di Greengrass.

   ```
   sudo java -Droot="/greengrass/v2" \
     -jar /greengrass/v2/alts/current/distro/lib/Greengrass.jar \
     --start false \
     --init-config /greengrass/v2/config/effectiveConfig.yaml
   ```

1. Avvia il software AWS IoT Greengrass Core. Se hai [configurato il software AWS IoT Greengrass Core come servizio di sistema](configure-greengrass-core-v2.md#configure-system-service) con systemd, puoi eseguire il seguente comando per avviare il software.

   ```
   sudo systemctl start greengrass.service
   ```

   Per ulteriori informazioni, consulta [Esegui il software AWS IoT Greengrass Core](run-greengrass-core-v2.md).

1. Controlla i registri del software AWS IoT Greengrass Core per verificare che il software si avvii e si connetta a. Cloud AWS Il software AWS IoT Greengrass Core utilizza la chiave privata e il certificato per connettersi ai AWS IoT Greengrass servizi AWS IoT and.

   ```
   sudo tail -f /greengrass/v2/logs/greengrass.log
   ```

   I seguenti messaggi di registro a livello di informazioni indicano che il software AWS IoT Greengrass Core si connette correttamente ai servizi AWS IoT and AWS IoT Greengrass .

   ```
   2021-12-06T22:47:53.702Z [INFO] (Thread-3) com.aws.greengrass.mqttclient.AwsIotMqttClient: Successfully connected to AWS IoT Core. {clientId=MyGreengrassCore5, sessionPresent=false}
   ```

1. (Facoltativo) Dopo aver verificato che il software AWS IoT Greengrass Core funzioni con la chiave privata e il certificato nell'HSM, eliminate la chiave privata e i file del certificato dal file system del dispositivo. Eseguite il comando seguente e sostituite i percorsi dei file con i percorsi della chiave privata e dei file dei certificati.

   ```
   sudo rm /greengrass/v2/privKey.key
   sudo rm /greengrass/v2/thingCert.crt
   ```

## Utilizza hardware senza supporto PKCS \$111
<a name="hardware-without-pkcs11"></a>

La libreria PKCS\$111 viene in genere offerta dal fornitore hardware o è open source. Ad esempio, con hardware conforme agli standard (ad esempio TPM1 .2), potrebbe essere possibile utilizzare il software open source esistente. Tuttavia, se il tuo hardware non dispone di un'implementazione della libreria PKCS \$111 corrispondente o se desideri scrivere un provider PKCS \$111 personalizzato, contatta il tuo rappresentante di Amazon Web Services Enterprise Support per domande relative all'integrazione.

## Consulta anche
<a name="hardware-security-see-also"></a>
+ [Guida all'uso dell'interfaccia con token crittografici PKCS \$111 versione 2.4.0](http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html)
+ [RFC 7512](https://tools.ietf.org/html/rfc7512)
+ [PKCS \$11: RSA Encryption versione 1.5](https://tools.ietf.org/html/rfc2313)