View a markdown version of this page

Come creare una risorsa segreta (console) - AWS IoT Greengrass

Avviso di fine del supporto: il 7 ottobre 2026, AWS interromperà 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 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à.

Come creare una risorsa segreta (console)

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

Questo tutorial mostra come utilizzare per Console di gestione AWS aggiungere una risorsa segreta a un gruppo Greengrass. Una risorsa segreta è un riferimento a un modulo segreto. AWS Secrets Manager Per ulteriori informazioni, consulta Distribuisci i segreti al AWS IoT Greengrass core.

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

In questo tutorial, inizierai creando un segreto nella console. AWS Secrets Manager 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. Puoi farlo dalla pagina Configura i 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, vedi. Nozioni di base sui connettori Greengrass (console)

Il tutorial include le seguenti fasi di alto livello:

Il completamento di questo tutorial richiede circa 20 minuti.

Prerequisiti

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 Nozioni di base su AWS IoT Greengrass. 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.

    Nota

    Questo requisito include l'autorizzazione all'accesso ai tuoi segreti di Secrets Manager. Se utilizzate il ruolo di servizio predefinito di Greengrass, Greengrass è autorizzato a ottenere i valori dei segreti i cui nomi iniziano con greengrass-.

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

Fase 1: Creare un segreto per Secrets Manager

In questo passaggio, usi la AWS Secrets Manager console per creare un segreto.

  1. Accedere alla AWS Secrets Manager console.

    Nota

    Per ulteriori informazioni su questo processo, consulta la Fase 1: Creare e archiviare il tuo account segreto AWS Secrets Manager nella Guida per l'AWS Secrets Manager utente.

  2. Scegli Archivia un nuovo segreto.

  3. In Scegli il tipo di segreto, scegli Altro tipo di segreto.

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

  5. Mantieni aws/secretsmanager selezionata la chiave di crittografia, quindi scegli Avanti.

    Nota

    AWS KMS Se utilizzi la chiave AWS gestita predefinita creata da Secrets Manager nel tuo account, non ti verrà addebitato alcun costo.

  6. In Secret name (Nome segreto), immetti greengrass-TestSecret, quindi seleziona Next (Avanti).

    Nota

    Per impostazione predefinita, il ruolo del servizio Greengrass consente di AWS IoT Greengrass ottenere il valore dei segreti i cui nomi iniziano con greengrass-. Per ulteriori informazioni, consulta Requisiti dei segreti.

  7. Questo tutorial non richiede la rotazione, quindi scegli Disabilita la rotazione automatica, quindi scegli Avanti.

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

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

  1. Nel pannello di navigazione della AWS IoT console, in Gestisci, espandi i dispositivi Greengrass, quindi scegli Gruppi (V1).

  2. Scegli il gruppo a cui aggiungere la risorsa segreta.

  3. 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. Puoi 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. Puoi farlo dalla pagina Configura i parametri del connettore o dalla pagina Risorse della funzione Lambda.

  4. Scegli Aggiungi nella sezione Segreti.

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

  6. In Segreto, scegli greengrass-. TestSecret

  7. Nella sezione Seleziona etichette (opzionale), l'etichetta di staging AWSCURRENT rappresenta l'ultima versione del segreto. Questa etichetta è sempre inclusa in una risorsa segreta.

    Nota

    Questo tutorial richiede solo l'etichetta AWSCURRENT. È possibile includere facoltativamente le etichette richieste dalla funzione o dal connettore Lambda.

  8. Scegliere Add resource (Aggiungi risorsa).

Passaggio 3: creare un pacchetto di distribuzione della funzione Lambda

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 Lambda di Greengrass richiedono il AWS IoT Greengrass Core SDK 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 utilizzare AWS IoT Greengrass Core SDK v1.3.0 o successivo.

  1. Dalla pagina di download del AWS IoT Greengrass Core SDK, scarica il AWS IoT Greengrass Core SDK for Python sul tuo computer.

  2. Decomprimere il pacchetto scaricato per ottenere l'SDK. Il kit SDK è la cartella greengrasssdk.

  3. 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 valore. SecretId Questo esempio utilizza il nome segreto. Per questo esempio secret, AWS IoT Greengrass restituisce la coppia chiave-valore:. {"test":"abcdefghi"}

    Importante

    Assicurati che le tue 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 della registrazione e del debug della funzione Lambda nella Guida per l'utente. AWS Secrets Manager Sebbene questa documentazione si riferisca specificamente alle funzioni di rotazione, la raccomandazione si applica anche alle funzioni Lambda di Greengrass.

  4. 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_test.py. La logica dell'app.

    • greengrasssdk. Libreria richiesta per tutte le funzioni Python Greengrass Lambda.

    Questo è il pacchetto di distribuzione delle funzioni Lambda.

Fase 4: Creazione di una funzione Lambda

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

  1. Innanzitutto, crea la funzione Lambda.

    1. In Console di gestione AWS, scegli Servizi e apri la AWS Lambda console.

    2. Scegli la funzione Crea, quindi scegli Autore da zero.

    3. 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 è utilizzato da. AWS IoT Greengrass

    4. Nella parte inferiore della pagina, scegli Crea funzione.

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

    1. Nella scheda Codice, in Codice sorgente, scegli Carica da. Dal menu a discesa, scegli il file .zip.

      Il menu a discesa Carica da con il file .zip evidenziato.
    2. Scegli Carica, quindi scegli il pacchetto di secret_test_python.zip distribuzione. Poi, scegli Salva.

    3. 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_test.function_handler

    4. Selezionare Salva.

      Nota

      Il pulsante Test sulla AWS Lambda console non funziona con questa funzione. Il AWS IoT Greengrass Core SDK non contiene i moduli necessari per eseguire le funzioni Greengrass Lambda in modo indipendente nella console. AWS Lambda Questi moduli (ad esempiogreengrass_common) vengono forniti alle funzioni dopo essere stati distribuiti nel core di Greengrass.

  3. Ora pubblica la prima versione della tua funzione Lambda e crea un alias per la versione.

    Nota

    I gruppi Greengrass possono fare riferimento a una funzione Lambda tramite alias (consigliato) o per versione. L'uso 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. Basta invece puntare l'alias alla nuova versione della funzione.

    1. Nel menu Actions (Operazioni), seleziona Publish new version (Pubblica nuova versione).

    2. Per Version description (Descrizione versione), immettere First version, quindi scegliere Publish (Pubblica).

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

    4. Nella pagina Create a new alias (Crea un nuovo alias), utilizza i seguenti valori:

      • In Nome, inserisci GG_SecretTest.

      • In Version (Versione), selezionare 1.

      Nota

      AWS IoT Greengrass non supporta gli alias Lambda per le versioni $LATEST.

    5. Scegli Crea.

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

Passaggio 5: aggiungi la funzione Lambda al gruppo Greengrass

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

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

  2. Nella sezione Le mie funzioni Lambda, scegli Aggiungi.

  3. Per la funzione Lambda, scegli. SecretTest

  4. 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 di abilitare l'accesso alla GPU e alla fotocamera del dispositivo senza configurare le risorse del dispositivo. Se esegui l'esecuzione senza containerizzazione, devi anche concedere l'accesso root alle tue funzioni Lambda. AWS IoT Greengrass

    1. Per eseguire senza containerizzazione:

    2. 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 l'impostazione predefinita 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.

      • In Parametri aggiuntivi, per l'accesso in lettura alla directory /sys, scegli Abilitato.

  2. Scegli Aggiungi funzione Lambda.

Quindi, associa la risorsa segreta alla funzione.

Passaggio 6: collega la risorsa segreta alla funzione Lambda

In questo passaggio, associ la risorsa segreta alla funzione Lambda nel tuo gruppo Greengrass. Questo 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.

  2. Scegli la SecretTest funzione.

  3. Nella pagina dei dettagli della funzione, scegli Risorse.

  4. Scorri fino alla sezione Segreti e scegli Associa.

  5. Scegli MyTestSecret, quindi scegli Associa.

Fase 7: aggiunta di sottoscrizioni al gruppo Greengrass

In questo passaggio, aggiungi gli abbonamenti che consentono AWS IoT e la funzione Lambda di scambiare messaggi. Un abbonamento consente di AWS IoT richiamare la funzione e uno consente alla funzione di inviare dati di output a. AWS IoT

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

  2. Crea un abbonamento che AWS IoT consenta di pubblicare messaggi nella funzione.

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

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

    2. In Tipo di destinazione, scegli Servizio, quindi scegli SecretTest.

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

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

    2. In Tipo di destinazione, scegli la funzione Lambda, quindi scegli IoT Cloud.

    3. Nel filtro Argomento, inseriscisecrets/output, quindi scegli Crea abbonamento.

Fase 8: distribuzione del gruppo Greengrass

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

    2. Per avviare il demone:

      cd /greengrass/ggc/core/ sudo ./greengrassd start
  2. Nella pagina di configurazione del gruppo, scegli Deploy.

    1. Nella scheda Funzioni Lambda, nella sezione Funzioni di sistema Lambda, seleziona IP detector e scegli Modifica.

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

    3. Selezionare 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 endpoint specificati manualmente. Ti viene chiesto il metodo di individuazione solo la prima volta che il gruppo viene distribuito.

      Nota

      Se richiesto, concedete l'autorizzazione per creare il ruolo del servizio Greengrass e associarlo al vostro Account AWS ruolo attuale. Regione AWS Questo ruolo consente di accedere AWS IoT Greengrass alle 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.

Test della funzione Lambda

  1. Nella home page AWS IoT della console, scegli Test.

  2. Per Sottoscrivi all'argomento, utilizza i seguenti valori, quindi scegli Iscriviti.

    Proprietà

    Valore

    Argomento sottoscrizione

    secrets/output

    Visualizzazione payload MQTT

    Visualizza i payload come stringhe

  3. Per Pubblica su argomento, utilizza i seguenti valori, quindi scegli Pubblica per richiamare la funzione.

    Proprietà

    Valore

    Topic

    secrets/input

    Messaggio

    Mantenere il messaggio predefinito. La pubblicazione di un messaggio richiama la funzione Lambda, ma la funzione in questo tutorial non elabora il corpo del messaggio.

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

Consulta anche