

Avviso di fine del supporto: il 7 ottobre 2026, AWS il supporto per. AWS IoT Greengrass Version 1 Dopo il 7 ottobre 2026, non potrai più accedere alle risorse. AWS IoT Greengrass V1 Per ulteriori informazioni, visita [Migrate](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html) from. AWS IoT Greengrass Version 1

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

# Implementa i segreti fino al nucleo AWS IoT Greengrass
<a name="secrets"></a>

Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.7 e versioni successive.

AWS IoT Greengrass ti consente di autenticarti con servizi e applicazioni dei dispositivi Greengrass senza password, token o altri segreti codificati.

Gestione dei segreti AWS è un servizio che puoi utilizzare per archiviare e gestire in modo sicuro i tuoi segreti nel cloud. AWS IoT Greengrass estende Secrets Manager ai dispositivi principali di Greengrass, in modo che i [connettori](connectors.md) e le funzioni Lambda possano utilizzare i segreti locali per interagire con servizi e applicazioni. Ad esempio, il connettore notifiche Twilio utilizza un token di autenticazione memorizzato localmente.

Per integrare un segreto in un gruppo Greengrass, è necessario creare una risorsa di gruppo che faccia riferimento al segreto Secrets Manager. Questa *risorsa segreta* fa riferimento al segreto del cloud tramite ARN. Per ulteriori informazioni su come creare, gestire e utilizzare le risorse segrete, consulta [Utilizzo delle risorse segrete](secrets-using.md).

AWS IoT Greengrass crittografa i tuoi segreti mentre sono in transito e a riposo. Durante l'implementazione di gruppo, AWS IoT Greengrass recupera il segreto da Secrets Manager e crea una copia locale crittografata sul core di Greengrass. Dopo aver ruotato i segreti del cloud in Secrets Manager, ridistribuisci il gruppo per propagare i valori aggiornati al core.

Lo schema seguente mostra il processo di alto livello di distribuzione di un segreto al core. I segreti vengono crittografati mentre sono in transito e quando sono inattivi.

![\[AWS IoT Greengrass recupera un segreto Gestione dei segreti AWS e lo distribuisce come risorsa segreta nel dispositivo principale, dove è disponibile per i connettori e le funzioni Lambda.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/deploy-local-secret.png)


L'utilizzo AWS IoT Greengrass per archiviare i segreti a livello locale offre i seguenti vantaggi:
+ **Disassociazione dal codice (non hardcoded).** Supporta le credenziali gestite a livello centralizzato e consente di proteggere i dati sensibili dal rischio di compromissione.
+ **Disponibile per gli scenari offline.** I connettori e le funzioni sono in grado di accedere in modo sicuro al software e ai servizi locali anche quando non sono connessi a Internet.
+ **Accesso controllato ai segreti** Solo le funzioni e i connettori autorizzati del gruppo possono accedere ai tuoi segreti. AWS IoT Greengrass utilizza la crittografia con chiave privata per proteggere i segreti. I segreti vengono crittografati mentre sono in transito e quando sono inattivi. Per ulteriori informazioni, consulta [Crittografia dei segreti](#secrets-encryption).
+ **Rotazione controllata.** Dopo aver ruotato i segreti in Secrets Manager, ridistribuisci il gruppo Greengrass per aggiornare le copie locali dei tuoi segreti. Per ulteriori informazioni, consulta [Creazione e gestione di segreti](secrets-using.md#secrets-create-manage).
**Importante**  
AWS IoT Greengrass non aggiorna automaticamente i valori dei segreti locali dopo la rotazione delle versioni cloud. Per aggiornare i valori locali, è necessario distribuire di nuovo il gruppo.

## Crittografia dei segreti
<a name="secrets-encryption"></a>

AWS IoT Greengrass crittografa i segreti in transito e a riposo.

**Importante**  
Assicurati che le funzioni Lambda definite dall'utente gestiscano i segreti in modo sicuro e non registrino alcun dato sensibile archiviato nel segreto. *Per ulteriori informazioni, consulta [Mitigare i rischi di registrazione e debug della funzione Lambda nella Guida per l'utente](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).Gestione dei segreti AWS * Sebbene questa documentazione si riferisca specificamente alle funzioni di rotazione, la raccomandazione si applica anche alle funzioni Greengrass Lambda.

**Crittografia in transito**  
AWS IoT Greengrass utilizza Transport Layer Security (TLS) per crittografare tutte le comunicazioni su Internet e sulla rete locale. Ciò protegge i segreti durante il transito, il che si verifica quando i segreti vengono recuperati da Secrets Manager e distribuiti al core. Per informazioni sulle suite di cifratura TLS supportate, consulta [Supporto TLS per le suite di cifratura](gg-sec.md#gg-cipher-suites).

**Crittografia dei dati inattivi**  
AWS IoT Greengrass utilizza la chiave privata specificata in [`config.json`](gg-core.md#config-json)per la crittografia dei segreti archiviati nel core. Pertanto, per la protezione dei segreti locali è fondamentale l'archiviazione sicura della chiave privata. Nel [modello di responsabilità AWS condivisa](https://aws.amazon.com/compliance/shared-responsibility-model/), è responsabilità del cliente garantire l'archiviazione sicura della chiave privata sul dispositivo principale.  
AWS IoT Greengrass supporta due modalità di archiviazione delle chiavi private:  
+ Utilizzo dei moduli di sicurezza hardware Per ulteriori informazioni, consulta [Integrazione della sicurezza hardware](hardware-security.md).
**Nota**  
Attualmente, AWS IoT Greengrass supporta solo il meccanismo di riempimento [PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) per la crittografia e la decrittografia dei segreti locali quando si utilizzano chiavi private basate su hardware. Se stai seguendo le istruzioni fornite dal fornitore per generare manualmente chiavi private basate su hardware, assicurati di scegliere PKCS \$11 v1.5. AWS IoT Greengrass non supporta Optimal Asymmetric Encryption Padding (OAEP).
+ Utilizzo delle autorizzazioni del file system (impostazione predefinita).
La chiave privata viene utilizzata per proteggere la chiave di dati, utilizzate per crittografare i segreti locali. La chiave di dati viene ruotata con ciascuna distribuzione del gruppo.  
Il AWS IoT Greengrass core è l'unica entità che ha accesso alla chiave privata. I connettori Greengrass o le funzioni Lambda che sono affiliati a una risorsa segreta ottengono il valore del segreto dal core.

## Requisiti
<a name="secrets-reqs"></a>

Di seguito sono indicati i requisiti per il supporto dei segreti locali:
+ È necessario utilizzare AWS IoT Greengrass Core v1.7 o versione successiva.
+ Per ottenere i valori dei segreti locali, le funzioni Lambda definite dall'utente devono AWS IoT Greengrass utilizzare Core SDK v1.3.0 o versione successiva.
+ La chiave privata utilizzata per la crittografia dei segreti locali deve essere specificata nel file di configurazione di Greengrass. Per impostazione predefinita, AWS IoT Greengrass utilizza la chiave privata principale memorizzata nel file system. Per fornire una chiave privata personalizzata, consulta [Specificare la chiave privata per la crittografia dei segreti](#secrets-config-private-key). Solo il tipo di chiave RSA è supportato.
**Nota**  
Attualmente, AWS IoT Greengrass supporta solo il meccanismo di riempimento [PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) per la crittografia e la decrittografia dei segreti locali quando si utilizzano chiavi private basate su hardware. Se stai seguendo le istruzioni fornite dal fornitore per generare manualmente chiavi private basate su hardware, assicurati di scegliere PKCS \$11 v1.5. AWS IoT Greengrass non supporta Optimal Asymmetric Encryption Padding (OAEP).
+ AWS IoT Greengrass devi avere l'autorizzazione per ottenere i tuoi valori segreti. Ciò consente di AWS IoT Greengrass recuperare i valori durante la distribuzione di gruppo. Se utilizzi il ruolo di servizio Greengrass predefinito, hai AWS IoT Greengrass già accesso ai segreti con nomi che iniziano con *greengrass* -. Per personalizzare l'accesso, consulta [AWS IoT Greengrass Consenti di ottenere valori segreti](#secrets-config-service-role).
**Nota**  
Ti consigliamo di utilizzare questa convenzione di denominazione per identificare i segreti a cui AWS IoT Greengrass è consentito accedere, anche se personalizzi le autorizzazioni. La console utilizza diverse autorizzazioni per leggere i tuoi segreti, quindi è possibile che tu possa selezionare i segreti nella console che AWS IoT Greengrass non sono autorizzati a recuperare. L'utilizzo di una convenzione di denominazione può aiutarti a evitare un conflitto di autorizzazioni, che potrebbe causare un errore di distribuzione.

## Specificare la chiave privata per la crittografia dei segreti
<a name="secrets-config-private-key"></a>

In questa procedura, specifichi il percorso di una chiave privata utilizzata per la crittografia segreta locale. Deve essere una chiave RSA con una lunghezza minima di 2048 bit. Per ulteriori informazioni sulle chiavi private utilizzate nel AWS IoT Greengrass core, consulta. [AWS IoT Greengrass principi di sicurezza fondamentali](gg-sec.md#gg-principals) 

AWS IoT Greengrass supporta due modalità di archiviazione delle chiavi private: basata su hardware o basata su file system (impostazione predefinita). Per ulteriori informazioni, consulta [Crittografia dei segreti](#secrets-encryption).

**Segui questa procedura solo** se desideri modificare la configurazione predefinita, che utilizza la chiave privata del core nel file system. Queste fasi presuppongono che il gruppo e il core siano stati creati come descritto nel [Modulo 2](module2.md) del tutorial Nozioni di base.

1. Apri il file [`config.json`](gg-core.md#config-json) disponibile nella directory `/greengrass-root/config`.
**Nota**  
*greengrass-root*rappresenta il percorso in cui il software AWS IoT Greengrass Core è installato sul dispositivo. In genere, questa è la directory `/greengrass`.

1. Nell'oggetto `crypto.principals.SecretsManager`, per la proprietà `privateKeyPath`, immettere il percorso della chiave privata:
   + Se la chiave privata viene archiviata nel file system, specifica il percorso assoluto della chiave. Esempio:

     ```
     "SecretsManager" : {
       "privateKeyPath" : "file:///somepath/hash.private.key"
     }
     ```
   + Se la chiave privata è archiviata in un modulo di sicurezza hardware (HSM), specifica il percorso utilizzando lo schema URI [RFC 7512 PKCS\$111](https://tools.ietf.org/html/rfc7512). Esempio:

     ```
     "SecretsManager" : {
       "privateKeyPath" : "pkcs11:object=private-key-label;type=private"
     }
     ```

     Per ulteriori informazioni, consulta [Configurazione di sicurezza hardware per un core AWS IoT Greengrass](hardware-security.md#configure-hardware-security).
**Nota**  
Attualmente, AWS IoT Greengrass supporta solo il meccanismo di riempimento [PKCS \$11 v1.5](https://tools.ietf.org/html/rfc2313) per la crittografia e la decrittografia dei segreti locali quando si utilizzano chiavi private basate su hardware. Se stai seguendo le istruzioni fornite dal fornitore per generare manualmente chiavi private basate su hardware, assicurati di scegliere PKCS \$11 v1.5. AWS IoT Greengrass non supporta Optimal Asymmetric Encryption Padding (OAEP).

## AWS IoT Greengrass Consenti di ottenere valori segreti
<a name="secrets-config-service-role"></a>

In questa procedura, aggiungi una politica in linea al ruolo del servizio Greengrass che AWS IoT Greengrass consente di ottenere i valori dei tuoi segreti.

**Segui questa procedura solo** se desideri concedere autorizzazioni AWS IoT Greengrass personalizzate ai tuoi segreti o se il tuo ruolo di servizio Greengrass non include `AWSGreengrassResourceAccessRolePolicy` la policy gestita. `AWSGreengrassResourceAccessRolePolicy`*concede l'accesso ai segreti con nomi che iniziano con greengrass-.*

1. Eseguire i seguenti comandi della CLI per ottenere l'ARN del ruolo del servizio Greengrass:

   ```
   aws greengrass get-service-role-for-account --region region
   ```

   L'ARN restituito include il nome del ruolo.

   ```
   {
     "AssociatedAt": "time-stamp",
     "RoleArn": "arn:aws:iam::account-id:role/service-role/role-name"
   }
   ```

   Puoi utilizzare l'ARN o il nome nella fase seguente.

1. Aggiungere una policy inline che autorizza l'azione `secretsmanager:GetSecretValue`. Per istruzioni, consulta [Aggiungere e rimuovere le politiche IAM nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) per l'*utente IAM*.

   È possibile concedere l'accesso granulare elencando esplicitamente i segreti oppure utilizzando uno schema di denominazione con il carattere jolly `*`. In alternativa, è possibile concedere l'accesso condizionale ai segreti con versioni o tag. Ad esempio, la seguente politica consente di AWS IoT Greengrass leggere solo i segreti specificati.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue"
               ],
               "Resource": [
               "arn:aws:secretsmanager:us-east-1:123456789012:secret:greengrass-SecretA-abc",
       "arn:aws:secretsmanager:us-east-1:123456789012:secret:greengrass-SecretB-xyz"
               ]
           }
       ]
   }
   ```

------
**Nota**  
Se utilizzi una AWS KMS chiave gestita dal cliente per crittografare i segreti, anche il tuo ruolo di servizio Greengrass deve consentire l'azione. `kms:Decrypt`

Per ulteriori informazioni sulle policy IAM per Secrets Manager, consulta [Authentication Gestione dei segreti AWS and access control for](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html) and [Actions, resources and context keys che puoi utilizzare in una policy IAM o in una policy segreta Gestione dei segreti AWS nella Guida per](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html) *l'Gestione dei segreti AWS utente*.

## Consulta anche
<a name="secrets-seealso"></a>
+ [Che cos'è Gestione dei segreti AWS?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida per l'Gestione dei segreti AWS utente*
+ [PKCS \$11: RSA Encryption versione 1.5](https://tools.ietf.org/html/rfc2313)

# Utilizzo delle risorse segrete
<a name="secrets-using"></a>

AWS IoT Greengrass utilizza *risorse segrete* per integrare i segreti Gestione dei segreti AWS in un gruppo Greengrass. Una risorsa segreta è un riferimento a un segreto di Secrets Manager. Per ulteriori informazioni, consulta [Implementa i segreti fino al nucleo AWS IoT Greengrass](secrets.md).

Sul dispositivo AWS IoT Greengrass principale, i connettori e le funzioni Lambda possono utilizzare la risorsa segreta per autenticarsi con servizi e applicazioni, senza password, token o altre credenziali di codifica.

## Creazione e gestione di segreti
<a name="secrets-create-manage"></a>

In un gruppo Greengrass, una risorsa segreta fa riferimento all'ARN di un segreto di Secrets Manager. Quando la risorsa segreta viene distribuita nel core, il valore del segreto viene crittografato e reso disponibile ai connettori affiliati e alle funzioni Lambda. Per ulteriori informazioni, consulta [Crittografia dei segreti](secrets.md#secrets-encryption).

Utilizzi Secrets Manager per creare e gestire le versioni cloud dei tuoi segreti. Lo usi AWS IoT Greengrass per creare, gestire e distribuire le tue risorse segrete.

**Importante**  
Ti consigliamo di seguire la migliore pratica di ruotare i tuoi segreti in Secrets Manager. Quindi, distribuirai il gruppo Greengrass per aggiornare le copie locali dei segreti. Per ulteriori informazioni, consulta [Ruotare Gestione dei segreti AWS i propri segreti nella Guida](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets.html) per l'*Gestione dei segreti AWS utente*.

**Per rendere un segreto disponibile nel core Greengrass**

1. Creazione di un segreto in Secrets Manager. Questa è la versione cloud del tuo segreto, archiviato e gestito centralmente in Secrets Manager. Le attività di gestione includono la rotazione dei valori dei segreti e l'applicazione di policy delle risorse.

1. Crea una risorsa segreta in AWS IoT Greengrass. Si tratta di un tipo di risorsa di gruppo che fa riferimento al segreto nel cloud di ARN. È possibile fare riferimento a un segreto solo una volta per ogni gruppo.

1. Configura il connettore o la funzione Lambda. È necessario affiliare la risorsa a un connettore o a una funzione specificando i parametri corrispondenti o le proprietà. In questo modo otterranno il valore della risorsa segreta distribuita in locale. Per ulteriori informazioni, consulta [Utilizzo dei segreti locali nei connettori e nelle funzioni Lambda](#secrets-access).

1. Distribuire il gruppo Greengrass. Durante la distribuzione, AWS IoT Greengrass recupera il valore del segreto nel cloud e crea (o aggiorna) il segreto locale nel core.

Secrets Manager registra un evento AWS CloudTrail ogni volta che AWS IoT Greengrass recupera un valore segreto. AWS IoT Greengrass non registra alcun evento relativo alla distribuzione o all'utilizzo di segreti locali. Per ulteriori informazioni sulla registrazione di Secrets Manager, consulta [Monitora l'uso dei tuoi Gestione dei segreti AWS segreti](https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html) nella *Guida per l'Gestione dei segreti AWS utente*.

### Inclusione delle etichette temporanee nelle risorse segrete
<a name="secret-resources-labels"></a>

Secrets Manager utilizza le etichette temporanee per identificare versioni specifiche di un valore segreto. Le etichette di gestione temporanea possono essere definite dal sistema o dall'utente. Secrets Manager assegna l'`AWSCURRENT`etichetta alla versione più recente del valore segreto. Le etichette di gestione temporanea vengono in genere utilizzate per gestire la rotazione dei segreti. Per ulteriori informazioni sul controllo delle versioni di Secrets Manager, vedere [Termini e concetti chiave Gestione dei segreti AWS nella Guida per](https://docs.aws.amazon.com/secretsmanager/latest/userguide/terms-concepts.html) *l'Gestione dei segreti AWS utente*.

Le risorse segrete includono sempre l'etichetta `AWSCURRENT` di staging e, facoltativamente, possono includere altre etichette di staging se richieste da una funzione o da un connettore Lambda. Durante la distribuzione di gruppo, AWS IoT Greengrass recupera i valori delle etichette di gestione temporanea a cui si fa riferimento nel gruppo, quindi crea o aggiorna i valori corrispondenti nel core.

### Creazione e gestione delle risorse segrete (console)
<a name="create-manage-secret-resource-console"></a>

#### Creazione delle risorse segrete (console)
<a name="create-manage-secret-resource-console-create"></a>

**Nella AWS IoT Greengrass console, puoi creare e gestire risorse segrete dalla scheda **Segreti** della pagina Risorse del gruppo.** Per i tutorial che illustrano la creazione di una risorsa segreta e la relativa aggiunta a un gruppo, consulta [Come creare una risorsa segreta (console)](secrets-console.md) e [Nozioni di base sui connettori Greengrass (console)](connectors-console.md).

![\[Una risorsa segreta nella scheda Secret (Segreto) della pagina Resources (Risorse).\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/connectors/secret-resource-twilio-auth-token.png)


**Nota**  
In alternativa, la console consente di creare una risorsa segreta e segreta quando si configura un connettore o una funzione Lambda. È possibile eseguire questa operazione dalla pagina **Configura parametri** del connettore o dalla pagina **Risorse** della funzione Lambda.

#### Gestione delle risorse segrete (console)
<a name="create-manage-secret-resource-console-manage"></a>

Le attività di gestione delle risorse segrete del tuo gruppo Greengrass includono l'aggiunta di risorse segrete al gruppo, la rimozione di risorse segrete dal gruppo e la modifica del set di [etichette di gestione temporanea](#secret-resources-labels) incluse in una risorsa segreta.

Se indichi un segreto diverso da Secrets Manager, devi anche modificare tutti i connettori che utilizzano il segreto:

1. Nella pagina di configurazione del gruppo, scegliere **Connettori**.

1. Dal menu contestuale del connettore, selezionare **Modifica**.

1. Nella pagina **Edit parameters (Modifica parametri)** viene visualizzato un messaggio che informa che l'ARN del segreto è stato modificato. Per confermare la modifica, selezionare **Save (Salva)**.

Se elimini un segreto in Secrets Manager, rimuovi la risorsa segreta corrispondente dal gruppo e dai connettori e dalle funzioni Lambda che vi fanno riferimento. Altrimenti, durante la distribuzione di gruppo, AWS IoT Greengrass restituisce un errore indicante che il segreto non può essere trovato. Aggiorna anche il codice della funzione Lambda secondo necessità.

### Creazione e gestione delle risorse segrete (CLI)
<a name="create-manage-secret-resource-cli"></a>

#### Creazione delle risorse segrete (CLI)
<a name="create-manage-secret-resource-cli-create"></a>

Nell' AWS IoT Greengrass API, un segreto è un tipo di risorsa di gruppo. L'esempio seguente crea una definizione di risorsa con una versione iniziale che include la risorsa segreta `MySecretResource`. Per un tutorial che illustra la creazione di una risorsa segreta e la relativa aggiunta a un versione del gruppo, consulta [Nozioni di base sui connettori Greengrass (CLI)](connectors-cli.md).

La risorsa segreta fa riferimento all'ARN del segreto corrispondente di Secrets Manager e include due etichette di staging in aggiunta a`AWSCURRENT`, che è sempre inclusa.

```
aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{
    "Resources": [
        {
            "Id": "my-resource-id",
            "Name": "MySecretResource",
            "ResourceDataContainer": {
                "SecretsManagerSecretResourceData": {
                    "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s",
                    "AdditionalStagingLabelsToDownload": [
                        "Label1",
                        "Label2"
                    ]
                }
            }
        }
    ]
}'
```

#### Gestione delle risorse segrete (CLI)
<a name="create-manage-secret-resource-cli-manage"></a>

Le attività di gestione delle risorse segrete del tuo gruppo Greengrass includono l'aggiunta di risorse segrete al gruppo, la rimozione di risorse segrete dal gruppo e la modifica del set di [etichette di gestione temporanea](#secret-resources-labels) incluse in una risorsa segreta.

Nell' AWS IoT Greengrass API, queste modifiche vengono implementate utilizzando le versioni.

L' AWS IoT Greengrass API utilizza versioni per gestire i gruppi. Le versioni sono immutabili, quindi per aggiungere o modificare i componenti del gruppo, ad esempio i dispositivi client, le funzioni e le risorse del gruppo, è necessario creare versioni di componenti nuovi o aggiornati. Quindi, si crea e si distribuisce una versione di gruppo che contiene la versione di destinazione di ciascun componente. Per ulteriori informazioni sui gruppi, consulta[AWS IoT Greengrass gruppi](what-is-gg.md#gg-group).

Ad esempio, per modificare la serie di etichette di gestione temporanea di una risorsa segreta:

1. Creare una versione della definizione di risorsa che contenga la risorsa segreta aggiornata. L'esempio seguente aggiunge una terza etichetta di gestione temporanea alla risorsa segreta della sezione precedente.
**Nota**  
Per aggiungere altre risorse alla versione, includerle nella matrice `Resources`.

   ```
   aws greengrass create-resource-definition --name MyGreengrassResources --initial-version '{
       "Resources": [
           {
               "Id": "my-resource-id",
               "Name": "MySecretResource",
               "ResourceDataContainer": {
                   "SecretsManagerSecretResourceData": {
                       "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:greengrass-SomeSecret-KUj89s",
                       "AdditionalStagingLabelsToDownload": [
                           "Label1",
                           "Label2",
                           "Label3"
                       ]
                   }
               }
           }
       ]
   }'
   ```

1. Se l'ID della risorsa segreta viene modificato, aggiornare i connettori e le funzioni che utilizzano la risorsa segreta. Nelle nuove versioni, aggiornare il parametro o la proprietà corrispondente all'ID della risorsa. Se l'ARN del segreto viene modificato, è necessario aggiornare anche il parametro corrispondente per qualsiasi connettore che utilizza il segreto.
**Nota**  
L'ID della risorsa è un identificativo arbitrario fornito dal cliente.

1. Creare una versione del gruppo contente la versione di destinazione di ciascun componente da inviare al core.

1. Distribuire la versione del gruppo.

Per un tutorial che mostra come creare e distribuire le risorse segrete, i connettori e le funzioni, consulta [Nozioni di base sui connettori Greengrass (CLI)](connectors-cli.md).

Se elimini un segreto in Secrets Manager, rimuovi la risorsa segreta corrispondente dal gruppo e dai connettori e dalle funzioni Lambda che vi fanno riferimento. Altrimenti, durante la distribuzione di gruppo, AWS IoT Greengrass restituisce un errore indicante che il segreto non può essere trovato. Aggiorna anche il codice della funzione Lambda secondo necessità. Puoi rimuovere un segreto locale distribuendo una versione di definizione delle risorse che non contenga la risorsa segreta corrispondente.

## Utilizzo dei segreti locali nei connettori e nelle funzioni Lambda
<a name="secrets-access"></a>

I connettori Greengrass e le funzioni Lambda utilizzano segreti locali per interagire con servizi e applicazioni. Il valore `AWSCURRENT` viene utilizzato per impostazione predefinita, ma sono anche disponibili i valori delle altre [etichette temporanee](#secret-resources-labels) incluse nella risorsa segreta.

Per consentirne l'accesso ai segreti locali, è necessario configurare i connettori e le funzioni. La risorsa viene così affiliata al connettore o alla funzione.

**Connectors (Connettori)**  
Se un connettore richiede l'accesso a un segreto locale, fornisce i parametri da configurare con le informazioni necessarie per accedere al segreto.  
+ Per informazioni su come eseguire questa operazione nella AWS IoT Greengrass console, consulta. [Nozioni di base sui connettori Greengrass (console)](connectors-console.md)
+ Per informazioni su come eseguire questa operazione con la AWS IoT Greengrass CLI, consulta. [Nozioni di base sui connettori Greengrass (CLI)](connectors-cli.md)
Per informazioni sui requisiti dei singoli connettori, consulta [AWS-connettori Greengrass forniti](connectors-list.md).  
La logica per accedere e utilizzare il segreto è integrata nel connettore.

**Funzioni Lambda**  
Per consentire a una funzione Greengrass Lambda di accedere a un segreto locale, è necessario configurare le proprietà della funzione.  
+ Per informazioni su come eseguire questa operazione nella AWS IoT Greengrass console, consulta. [Come creare una risorsa segreta (console)](secrets-console.md)
+ A tale scopo nell' AWS IoT Greengrass API, fornisci le seguenti informazioni nella `ResourceAccessPolicies` proprietà.
  + `ResourceId`: l'ID della risorsa segreta nel gruppo Greengrass. Questa è la risorsa che fa riferimento all'ARN del segreto Secrets Manager corrispondente.
  + `Permission`: il tipo di accesso della funzione rispetto alla risorsa. Per le risorse segrete è supportata solo l'autorizzazione `ro` (sola lettura).

  L'esempio seguente crea una funzione Lambda che può accedere alla risorsa `MyApiKey` segreta.

  ```
  aws greengrass create-function-definition --name MyGreengrassFunctions --initial-version '{
      "Functions": [
          {
              "Id": "MyLambdaFunction",
              "FunctionArn": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1",
              "FunctionConfiguration": {
                  "Pinned": false,
                  "MemorySize": 16384,
                  "Timeout": 10,
                  "Environment": {
                      "ResourceAccessPolicies": [
                          {
                              "ResourceId": "MyApiKey",
                              "Permission": "ro"
                          }                          
                      ],
                      "AccessSysfs": true
                  }
              }
          }
      ]
  }'
  ```

   

  Per accedere ai segreti locali in fase di esecuzione, le funzioni di Greengrass Lambda richiamano la `get_secret_value` funzione dal `secretsmanager` client nel AWS IoT Greengrass Core SDK (v1.3.0 o successivo).

  L'esempio seguente mostra come usare AWS IoT Greengrass Core SDK per Python per ottenere un segreto. Passa il nome del segreto alla `get_secret_value` funzione. `SecretId`può essere il nome o l'ARN del segreto di Secrets Manager (non la risorsa segreta).

  ```
  import greengrasssdk
  
  secrets_client = greengrasssdk.client("secretsmanager")
  secret_name = "greengrass-MySecret-abc"
  
  
  def function_handler(event, context):
      response = secrets_client.get_secret_value(SecretId=secret_name)
      secret = response.get("SecretString")
  ```

  Per i segreti di tipo testo, la funzione `get_secret_value` restituisce una stringa. Per i segreti di tipo binario, restituisce una stringa con codifica base64.
**Importante**  
Assicurati che le funzioni Lambda definite dall'utente gestiscano i segreti in modo sicuro e non registrino alcun dato sensibile archiviato nel segreto. *Per ulteriori informazioni, consulta [Mitigare i rischi di registrazione e debug della funzione Lambda nella Guida per l'utente](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).Gestione dei segreti AWS * Sebbene questa documentazione si riferisca specificamente alle funzioni di rotazione, la raccomandazione si applica anche alle funzioni Greengrass Lambda.

  Il valore corrente del segreto viene restituito per impostazione predefinita. Si tratta della versione a cui è collegata l'etichetta temporanea `AWSCURRENT`. Per accedere a una versione diversa, passa il nome dell'etichetta temporanea corrispondente per l'argomento facoltativo `VersionStage`. Esempio:

  ```
  import greengrasssdk
  
  secrets_client = greengrasssdk.client("secretsmanager")
  secret_name = "greengrass-TestSecret"
  secret_version = "MyTargetLabel"
  
  
  # Get the value of a specific secret version
  def function_handler(event, context):
      response = secrets_client.get_secret_value(
          SecretId=secret_name, VersionStage=secret_version
      )
      secret = response.get("SecretString")
  ```

  Per un'altra funzione di esempio che chiama `get_secret_value`, consulta [Creare un pacchetto di distribuzione della funzione Lambda](secrets-console.md#secrets-console-create-deployment-package).

# Come creare una risorsa segreta (console)
<a name="secrets-console"></a>

Questa funzionalità è disponibile per AWS IoT Greengrass Core v1.7 e versioni successive.

Questo tutorial mostra come usare per Console di gestione AWS aggiungere una *risorsa segreta* a un gruppo Greengrass. Una risorsa segreta è un riferimento a una forma segreta. Gestione dei segreti AWS Per ulteriori informazioni, consulta [Implementa i segreti fino al nucleo AWS IoT Greengrass](secrets.md).

Sul dispositivo AWS IoT Greengrass principale, i connettori e le funzioni Lambda possono utilizzare la risorsa segreta per autenticarsi con servizi e applicazioni, senza password, token o altre credenziali di codifica.

In questo tutorial, inizierai creando un segreto nella console. Gestione dei segreti AWS Quindi, nella AWS IoT Greengrass console, aggiungi una risorsa segreta a un gruppo Greengrass dalla pagina **Risorse** del gruppo. Questa risorsa segreta fa riferimento al segreto di Secrets Manager. Successivamente, si collega la risorsa segreta a una funzione Lambda, che consente alla funzione di ottenere il valore del segreto locale.

**Nota**  
In alternativa, la console consente di creare una risorsa segreta e segreta quando si configura un connettore o una funzione Lambda. È possibile eseguire questa operazione dalla pagina **Configura parametri** del connettore o dalla pagina **Risorse** della funzione Lambda.  
Solo i connettori contenenti parametri per i segreti possono accedere ai segreti. Per un tutorial che mostra come il connettore Twilio Notifications utilizza un token di autenticazione memorizzato localmente, consulta. [Nozioni di base sui connettori Greengrass (console)](connectors-console.md)

Il tutorial include le seguenti fasi di alto livello:

1. [Crea un segreto di Secrets Manager](#secrets-console-create-secret)

1. [Aggiunta di una risorsa segreta a un gruppo](#secrets-console-create-resource)

1. [Creare un pacchetto di distribuzione della funzione Lambda](#secrets-console-create-deployment-package)

1. [Creazione di una funzione Lambda ](#secrets-console-create-function)

1. [Aggiunta della funzione al gruppo](#secrets-console-create-gg-function)

1. [Collegamento della risorsa segreta alla funzione](#secrets-console-affiliate-gg-function)

1. [Aggiunta di sottoscrizioni al gruppo](#secrets-console-create-subscription)

1. [Distribuzione del gruppo.](#secrets-console-create-deployment)

1. [Test della funzione Lambda](#secrets-console-test-solution)

Il completamento di questo tutorial richiede circa 20 minuti.

## Prerequisiti
<a name="secrets-console-prerequisites"></a>

Per completare questo tutorial, è necessario quanto segue:
+ Un gruppo Greengrass e un core Greengrass (v1.7 o successivo). Per informazioni su come creare un gruppo e un core Greengrass, consulta [Iniziare con AWS IoT Greengrass](gg-gs.md). Il tutorial Getting Started include anche i passaggi per l'installazione del AWS IoT Greengrass software Core.
+ AWS IoT Greengrass deve essere configurato per supportare i segreti locali. Per ulteriori informazioni, consulta [Requisiti dei segreti](secrets.md#secrets-reqs).
**Nota**  
Questo requisito include l'autorizzazione all'accesso ai segreti di Secrets Manager. *Se utilizzi il ruolo di servizio Greengrass predefinito, Greengrass è autorizzato a ottenere i valori dei segreti con nomi che iniziano con greengrass-.*
+ Per ottenere i valori dei segreti locali, le funzioni Lambda definite dall'utente devono AWS IoT Greengrass utilizzare Core SDK v1.3.0 o versione successiva.

## Fase 1: Creare un segreto di Secrets Manager
<a name="secrets-console-create-secret"></a>

In questo passaggio, si utilizza la Gestione dei segreti AWS console per creare un segreto.

1. <a name="create-secret-step-signin"></a>Accedi alla [console Gestione dei segreti AWS](https://console.aws.amazon.com/secretsmanager/).
**Nota**  
Per ulteriori informazioni su questo processo, consulta [Fase 1: Creare e archiviare il segreto Gestione dei segreti AWS nella](https://docs.aws.amazon.com/secretsmanager/latest/userguide/tutorials_basic.html) *Guida per l'Gestione dei segreti AWS utente*.

1. <a name="create-secret-step-create"></a>Scegli **Archivia un nuovo segreto**.

1. <a name="create-secret-step-othertype"></a>In **Scegli il tipo di segreto**, scegli **Altro tipo di segreto**.

1. In **Specify the key-value pairs to be stored for this secret (Specifica le coppie chiave-valore da archiviare per questo segreto)**:
   + In **Chiave**, inserire **test**.
   + In **Valore**, specifica **abcdefghi**.

1. <a name="create-secret-step-encryption"></a>**Mantieni **aws/secretsmanager** selezionato per la chiave di crittografia, quindi scegli Avanti.**
**Nota**  
Non ti viene addebitato alcun costo AWS KMS se utilizzi la chiave AWS gestita predefinita creata da Secrets Manager nel tuo account.

1. In **Secret name (Nome segreto)**, immetti **greengrass-TestSecret**, quindi seleziona **Next (Avanti)**.
**Nota**  
Per impostazione predefinita, il ruolo di servizio Greengrass consente di AWS IoT Greengrass ottenere il valore dei segreti con nomi che iniziano con *greengrass* -. Per ulteriori informazioni, consulta [Requisiti dei segreti](secrets.md#secrets-reqs).

1. <a name="create-secret-step-rotation"></a>**Questo tutorial non richiede la rotazione, quindi scegli disabilita la rotazione automatica, quindi scegli Avanti.**

1. <a name="create-secret-step-review"></a>Nella pagina **Review (Revisione)**, rivedi le impostazioni e quindi scegli **Store (Archivia)**.

   Dovrai quindi creare una risorsa segreta nel gruppo Greengrass che faccia riferimento al segreto.

## Fase 2: aggiunta di una risorsa segreta a un gruppo Greengrass
<a name="secrets-console-create-resource"></a>

In questo passaggio, configurate una risorsa di gruppo che fa riferimento al segreto di Secrets Manager.

1. <a name="console-gg-groups"></a>Nel riquadro di navigazione della AWS IoT console, in **Gestione**, espandi **i dispositivi Greengrass**, quindi scegli **Gruppi (V1**).

1. <a name="create-secret-resource-step-choosegroup"></a>Scegli il gruppo a cui aggiungere la risorsa segreta.

1. <a name="create-secret-resource-step-secretstab"></a>Nella pagina di configurazione del gruppo, scegli la scheda **Risorse**, quindi scorri verso il basso fino alla sezione **Segreti**. La sezione **Segreti** mostra le risorse segrete che appartengono al gruppo. È possibile aggiungere, modificare e rimuovere risorse segrete da questa sezione.
**Nota**  
In alternativa, la console consente di creare una risorsa segreta e segreta quando si configura un connettore o una funzione Lambda. È possibile eseguire questa operazione dalla pagina **Configura parametri** del connettore o dalla pagina **Risorse** della funzione Lambda.

1. <a name="create-secret-resource-step-addsecretresource"></a>Scegli **Aggiungi** nella sezione **Segreti**.

1. Nella pagina **Aggiungi una risorsa segreta**, inserisci **MyTestSecret** il **nome della risorsa**.

1. In **Segreto**, scegli **greengrass-. TestSecret**

1. <a name="create-secret-resource-step-selectlabels"></a>Nella sezione **Seleziona etichette (opzionale)**, l'etichetta AWSCURRENT staging rappresenta la versione più recente del segreto. Questa etichetta è sempre inclusa in una risorsa segreta.
**Nota**  
Questo tutorial richiede solo l' AWSCURRENT etichetta. Facoltativamente, puoi includere le etichette richieste dalla funzione o dal connettore Lambda.

1. Scegliere **Add resource (Aggiungi risorsa)**.

## Fase 3: Creare un pacchetto di distribuzione della funzione Lambda
<a name="secrets-console-create-deployment-package"></a>

Per creare una funzione Lambda, devi prima creare un *pacchetto di distribuzione* della funzione Lambda che contenga il codice della funzione e le dipendenze. Le funzioni Greengrass Lambda richiedono il [AWS IoT Greengrass Core SDK](lambda-functions.md#lambda-sdks-core) per attività come la comunicazione con i messaggi MQTT nell'ambiente principale e l'accesso ai segreti locali. Questo tutorial crea una funzione Python, quindi utilizzi la versione Python dell'SDK nel pacchetto di distribuzione.

**Nota**  
Per ottenere i valori dei segreti locali, le funzioni Lambda definite dall'utente devono AWS IoT Greengrass utilizzare Core SDK v1.3.0 o versione successiva.

1. <a name="download-ggc-sdk"></a> Dalla pagina dei download di [AWS IoT Greengrass Core SDK](what-is-gg.md#gg-core-sdk-download), scarica AWS IoT Greengrass Core SDK per Python sul tuo computer.

1. <a name="unzip-ggc-sdk"></a>Decomprimere il pacchetto scaricato per ottenere l'SDK. Il kit SDK è la cartella `greengrasssdk`.

1. Salvare la seguente funzione del codice Python nel file locale `secret_test.py`.

   ```
   import greengrasssdk
   
   secrets_client = greengrasssdk.client("secretsmanager")
   iot_client = greengrasssdk.client("iot-data")
   secret_name = "greengrass-TestSecret"
   send_topic = "secrets/output"
   
   
   def function_handler(event, context):
       """
       Gets a secret and publishes a message to indicate whether the secret was
       successfully retrieved.
       """
       response = secrets_client.get_secret_value(SecretId=secret_name)
       secret_value = response.get("SecretString")
       message = (
           f"Failed to retrieve secret {secret_name}."
           if secret_value is None
           else f"Successfully retrieved secret {secret_name}."
       )
       iot_client.publish(topic=send_topic, payload=message)
       print("Published: " + message)
   ```

   La `get_secret_value` funzione supporta il nome o l'ARN del segreto di Secrets Manager per il `SecretId` valore. Questo esempio utilizza il nome segreto. Per questo esempio secret, AWS IoT Greengrass restituisce la coppia chiave-valore:. `{"test":"abcdefghi"}`
**Importante**  
Assicurati che le funzioni Lambda definite dall'utente gestiscano i segreti in modo sicuro e non registrino alcun dato sensibile archiviato nel segreto. *Per ulteriori informazioni, consulta [Mitigare i rischi di registrazione e debug della funzione Lambda nella Guida per l'utente](https://docs.aws.amazon.com/secretsmanager/latest/userguide/best-practices.html#best-practice_lamda-debug-statements).Gestione dei segreti AWS * Sebbene questa documentazione si riferisca specificamente alle funzioni di rotazione, la raccomandazione si applica anche alle funzioni Greengrass Lambda.

1. Comprimere le voci seguenti nel file `secret_test_python.zip`. Durante la creazione del file ZIP, includi solo il codice e le dipendenze e non la cartella che li contiene.
   + **secret\$1test.py**. La logica dell'app.
   + **greengrasssdk**. Libreria richiesta per tutte le funzioni Lambda di Python Greengrass.

   Questo è il tuo pacchetto di implementazione della funzione Lambda.

## Fase 4: Creazione di una funzione Lambda
<a name="secrets-console-create-function"></a>

In questo passaggio, si utilizza la AWS Lambda console per creare una funzione Lambda e configurarla per utilizzare il pacchetto di distribuzione. In seguito, pubblicherai una versione della funzione e creerai un alias.

1. Innanzitutto, crea la funzione Lambda.

   1. <a name="lambda-console-open"></a>In Console di gestione AWS, scegli **Servizi** e apri la AWS Lambda console.

   1. <a name="lambda-console-create-function"></a>Scegli **Crea funzione**, quindi scegli **Autore da zero**.

   1. Nella sezione **Basic information (Informazioni di base)**, specifica i seguenti valori:
      + Nel campo **Function name (Nome funzione)**, immettere **SecretTest**.
      + In **Runtime**, scegliere **Python 3.7**.
      + Per **le autorizzazioni**, mantieni l'impostazione predefinita. Questo crea un ruolo di esecuzione che concede le autorizzazioni Lambda di base. Questo ruolo non viene utilizzato da. AWS IoT Greengrass

   1. <a name="lambda-console-save-function"></a>Nella parte inferiore della pagina, scegli **Crea funzione**.

1. Quindi, registra il gestore e carica il pacchetto di distribuzione della funzione Lambda.

   1. <a name="lambda-console-upload"></a>Nella scheda **Codice**, in **Codice sorgente**, scegli **Carica** da. Dal menu a discesa, scegli un **file.zip.**  
![\[Il menu a discesa Carica da con il file.zip evidenziato.\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/images/lra-console/upload-deployment-package.png)

   1. Scegli **Carica**, quindi scegli il pacchetto di `secret_test_python.zip` distribuzione. Poi, scegli **Salva**.

   1. <a name="lambda-console-runtime-settings-para"></a>Nella scheda **Codice** della funzione, in **Impostazioni di runtime**, scegli **Modifica**, quindi inserisci i seguenti valori.
      + In **Runtime**, scegliere **Python 3.7**.
      + In **Handler (Gestore)**, immetti **secret\$1test.function\$1handler**

   1. <a name="lambda-console-save-config"></a>Scegli **Save** (Salva).
**Nota**  
Il pulsante **Test** sulla AWS Lambda console non funziona con questa funzione. Il AWS IoT Greengrass Core SDK non contiene moduli necessari per eseguire le funzioni Greengrass Lambda in modo indipendente nella console. AWS Lambda Questi moduli (ad esempio,`greengrass_common`) vengono forniti alle funzioni dopo essere stati distribuiti nel core Greengrass.

1. Ora, pubblica la prima versione della tua funzione Lambda e crea un [alias per la](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html) versione.
**Nota**  
I gruppi Greengrass possono fare riferimento a una funzione Lambda tramite alias (consigliato) o per versione. L'utilizzo di un alias semplifica la gestione degli aggiornamenti del codice perché non è necessario modificare la tabella di sottoscrizione o la definizione del gruppo quando il codice della funzione viene aggiornato. Invece, è sufficiente indirizzare l'alias alla nuova versione della funzione.

   1. <a name="shared-publish-function-version"></a>Nel menu **Actions (Operazioni)**, seleziona **Publish new version (Pubblica nuova versione)**.

   1. <a name="shared-publish-function-version-description"></a>Per **Version description (Descrizione versione)**, immettere **First version**, quindi scegliere **Publish (Pubblica)**.

   1. Nella pagina di configurazione **SecretTest: 1**, dal menu **Azioni**, scegli **Crea alias**.

   1. Nella pagina **Create a new alias (Crea un nuovo alias)**, utilizza i seguenti valori:
      + In **Nome**, inserisci **GG\$1SecretTest**.
      + In **Version (Versione)**, selezionare **1**.
**Nota**  
AWS IoT Greengrass **non supporta gli alias Lambda per le versioni \$1LATEST.**

   1. Scegli **Create** (Crea).

Ora sei pronto per aggiungere la funzione Lambda al tuo gruppo Greengrass e allegare la risorsa segreta.

## Fase 5: Aggiungere la funzione Lambda al gruppo Greengrass
<a name="secrets-console-create-gg-function"></a>

In questo passaggio, aggiungi la funzione Lambda al gruppo Greengrass nella console. AWS IoT 

1. <a name="choose-add-lambda"></a>Nella pagina di configurazione del gruppo, scegli la scheda **Funzioni Lambda**.

1. **Nella sezione **Funzioni My Lambda**, scegli Aggiungi.**

1. Per la **funzione Lambda, scegli**. **SecretTest**

1. Per la **versione della funzione Lambda**, scegli l'alias della versione che hai pubblicato.

Quindi, configura il ciclo di vita della funzione Lambda.

1. Nella sezione di **configurazione della funzione Lambda**, apporta i seguenti aggiornamenti.
**Nota**  
 Ti consigliamo di eseguire la funzione Lambda senza containerizzazione a meno che il tuo business case non lo richieda. Ciò consente l'accesso alla GPU e alla fotocamera del dispositivo senza configurare le risorse del dispositivo. Se esegui senza containerizzazione, devi anche concedere l'accesso root alle tue funzioni Lambda AWS IoT Greengrass . 

   1. **Per eseguire senza containerizzazione:**
      + Per **Utente e gruppo di sistema, scegli**. **Another user ID/group ID** Per **ID utente di sistema**, immettere**0**. Per **ID del gruppo di sistema**, immettere**0**.

        Ciò consente alla funzione Lambda di funzionare come root. Per ulteriori informazioni sull'esecuzione come root, consulta[Impostazione dell'identità di accesso predefinita per le funzioni Lambda in un gruppo](lambda-group-config.md#lambda-access-identity-groupsettings).
**Suggerimento**  
È inoltre necessario aggiornare il `config.json` file per concedere l'accesso root alla funzione Lambda. Per la procedura, vedi[Esecuzione di una funzione Lambda come utente root](lambda-group-config.md#lambda-running-as-root).
      + **Per la **containerizzazione della funzione Lambda**, scegli Nessun contenitore.**

        Per ulteriori informazioni sull'esecuzione senza containerizzazione, consulta. [Considerazioni sulla scelta della containerizzazione delle funzioni Lambda](lambda-group-config.md#lambda-containerization-considerations)
      + Per **Timeout**, immettere **10 seconds**.
      + **Per **Pinned**, scegli True.**

        Per ulteriori informazioni, consulta [Configurazione del ciclo di vita per le funzioni Greengrass Lambda](lambda-functions.md#lambda-lifecycle).
      + **In **Parametro aggiuntivo**, per **Accesso in lettura alla directory /sys**, scegli Abilitato.**

   1.  **Per eseguire invece in modalità containerizzata:** 
**Nota**  
Si sconsiglia l'esecuzione in modalità containerizzata a meno che il business case non lo richieda.
      + Per **Utente e gruppo di sistema**, scegli **Usa i valori predefiniti del gruppo**.
      + **Per la **containerizzazione delle funzioni Lambda**, scegli Usa default di gruppo.**
      + Per **Memory limit (Limite memoria)**, immettere **1024 MB**.
      + Per **Timeout**, immettere **10 seconds**.
      + **Per **Pinned**, scegli True.**

        Per ulteriori informazioni, consulta [Configurazione del ciclo di vita per le funzioni Greengrass Lambda](lambda-functions.md#lambda-lifecycle).
      + **In **Parametri aggiuntivi**, per **Accesso in lettura alla directory /sys**, scegli Abilitato.**

1.  Scegli **Aggiungi funzione Lambda**.

Quindi, associa la risorsa segreta alla funzione.

## Passaggio 6: collegare la risorsa segreta alla funzione Lambda
<a name="secrets-console-affiliate-gg-function"></a>

In questo passaggio, associ la risorsa segreta alla funzione Lambda nel tuo gruppo Greengrass. Ciò associa la risorsa alla funzione, che consente alla funzione di ottenere il valore del segreto locale.

1. Nella pagina di configurazione del gruppo, scegli la scheda **Funzioni Lambda**.

1. Scegli la **SecretTest**funzione.

1. Nella pagina dei dettagli della funzione, scegli **Risorse**.

1. Scorri fino alla sezione **Segreti** e scegli **Associa**.

1. Scegli **MyTestSecret**, quindi scegli **Associa**.

## Fase 7: aggiunta di sottoscrizioni al gruppo Greengrass
<a name="secrets-console-create-subscription"></a>

In questo passaggio, aggiungi abbonamenti che consentono lo scambio di AWS IoT messaggi e la funzione Lambda. Un abbonamento consente di AWS IoT richiamare la funzione e l'altro consente alla funzione di inviare dati di output a. AWS IoT

1. <a name="shared-subscriptions-addsubscription"></a>Nella pagina di configurazione del gruppo, scegli la scheda **Abbonamenti**, quindi scegli **Aggiungi** abbonamento.

1. Crea un abbonamento che AWS IoT consenta di pubblicare messaggi sulla funzione.

   Nella pagina di configurazione del gruppo, scegli la scheda **Abbonamenti**, quindi scegli **Aggiungi abbonamento**.

1. Nella pagina **Crea un abbonamento**, configura l'origine e la destinazione come segue:

   1. In **Tipo di sorgente**, scegli la **funzione Lambda**, quindi scegli **IoT** Cloud.

   1. In **Tipo di destinazione**, scegli **Servizio**, quindi scegli **SecretTest**.

   1. Nel **filtro Argomento****secrets/input**, inserisci, quindi scegli **Crea abbonamento**. 

1. Aggiungere un secondo abbonamento. Scegli la scheda **Abbonamenti**, scegli **Aggiungi abbonamento** e configura l'origine e la destinazione come segue: 

   1. In **Tipo di origine**, scegli **Servizi**, quindi scegli **SecretTest**.

   1. Nel **tipo di Target**, scegli la **funzione Lambda**, quindi scegli **IoT** Cloud.

   1. Nel **filtro Argomento**, inserisci**secrets/output**, quindi scegli **Crea abbonamento**.

## Fase 8: distribuzione del gruppo Greengrass
<a name="secrets-console-create-deployment"></a>

Distribuire il gruppo al nuovo dispositivo core. Durante la distribuzione, AWS IoT Greengrass recupera il valore del segreto da Secrets Manager e crea una copia locale crittografata sul core.

1. <a name="shared-deploy-group-checkggc"></a>Assicurati che il AWS IoT Greengrass core sia in esecuzione. Esegui i seguenti comandi nel terminale di Raspberry Pi in base alle esigenze.

   1. Per controllare se il daemon è in esecuzione:

      ```
      ps aux | grep -E 'greengrass.*daemon'
      ```

      Se l'output contiene una voce `root` per `/greengrass/ggc/packages/ggc-version/bin/daemon`, allora il daemon è in esecuzione.
**Nota**  
La versione indicata nel percorso dipende dalla versione del software AWS IoT Greengrass Core installata sul dispositivo principale.

   1. Per avviare il demone:

      ```
      cd /greengrass/ggc/core/
      sudo ./greengrassd start
      ```

1. <a name="shared-deploy-group-deploy"></a>**Nella pagina di configurazione del gruppo, scegli Deploy.**

1. <a name="shared-deploy-group-ipconfig"></a>

   1. **Nella scheda **Funzioni Lambda, nella sezione Funzioni** **System Lambda**, seleziona **Rilevatore IP** e scegli Modifica.**

   1. Nella finestra di dialogo **Modifica impostazioni del rilevatore IP**, seleziona Rileva **e sostituisci automaticamente gli endpoint del broker MQTT**.

   1. Scegli **Save** (Salva).

      Questo consente ai dispositivi di acquisire automaticamente informazioni di base sulla connettività, come, ad esempio indirizzo IP, DNS e numero della porta. Il rilevamento automatico è consigliato, ma supporta AWS IoT Greengrass anche gli endpoint specificati manualmente. Ti viene chiesto il metodo di individuazione solo la prima volta che il gruppo viene distribuito.
**Nota**  
Se richiesto, concedi l'autorizzazione a creare il ruolo di [servizio Greengrass](service-role.md) e associarlo al Account AWS tuo ruolo attuale. Regione AWS Questo ruolo consente di accedere AWS IoT Greengrass alle tue risorse nei AWS servizi.

      Nella pagina **Deployments (Distribuzioni)** vengono visualizzati il timestamp della distribuzione, l'ID versione e lo stato. Una volta completata, lo stato visualizzato per la distribuzione dovrebbe essere **Completato**.

      Per la risoluzione dei problemi, consultare [Risoluzione dei problemi AWS IoT Greengrass](gg-troubleshooting.md).

## Test della funzione Lambda
<a name="secrets-console-test-solution"></a>

1. <a name="choose-test-page"></a>Nella home page della AWS IoT console, scegli **Test**.

1. Per **Iscriviti all'argomento**, utilizza i seguenti valori, quindi scegli **Iscriviti**.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/secrets-console.html)

1. **Per Pubblica su argomento**, utilizzate i seguenti valori, quindi scegliete **Pubblica** per richiamare la funzione.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v1/developerguide/secrets-console.html)

   In caso di esito positivo, la funzione pubblica il messaggio "Success" ("Successo").

## Consulta anche
<a name="secrets-console-see-also"></a>
+ [Implementa i segreti fino al nucleo AWS IoT Greengrass](secrets.md)