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à.
Autenticazione del dispositivo client
Il componente client device auth (aws.greengrass.clientdevices.Auth) autentica i dispositivi client e autorizza le azioni dei dispositivi client.
Nota
I dispositivi client sono dispositivi IoT locali che si connettono a un dispositivo principale di Greengrass per inviare messaggi e dati MQTT da elaborare. Per ulteriori informazioni, consulta Interagisci con dispositivi IoT locali.
Argomenti
Versioni
Nota
La versione 2.3.0 di autenticazione dei dispositivi client è stata interrotta. Ti consigliamo vivamente di eseguire l'aggiornamento alla versione 2.3.1 o successiva di autenticazione del dispositivo client.
Questo componente ha le seguenti versioni:
-
2.5.x
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
Tipo
Questo componente è un componente plug-in ()aws.greengrass.plugin. Il nucleo di Greengrass esegue questo componente nella stessa Java Virtual Machine (JVM) del nucleo. Il nucleo si riavvia quando si modifica la versione di questo componente sul dispositivo principale.
Questo componente utilizza lo stesso file di registro del nucleo di Greengrass. Per ulteriori informazioni, consulta Monitora AWS IoT Greengrass i registri.
Per ulteriori informazioni, consulta Tipi di componenti.
Sistema operativo
Questo componente può essere installato sui dispositivi principali che eseguono i seguenti sistemi operativi:
Linux
Windows
Requisiti
Questo componente ha i seguenti requisiti:
-
Il ruolo del servizio Greengrass deve essere associato all'utente Account AWS e consentire l'
iot:DescribeCertificateautorizzazione. -
La AWS IoT policy del dispositivo principale deve consentire le seguenti autorizzazioni:
-
greengrass:GetConnectivityInfo, dove le risorse includono l'ARN del dispositivo principale che esegue questo componente -
greengrass:VerifyClientDeviceIoTCertificateAssociation, dove le risorse includono l'Amazon Resource Name (ARN) di ogni dispositivo client che si connette al dispositivo principale -
greengrass:VerifyClientDeviceIdentity -
greengrass:PutCertificateAuthorities -
iot:Publish, dove le risorse includono l'ARN del seguente argomento MQTT:-
$aws/things/coreDeviceThingName*-gci/shadow/get
-
-
iot:Subscribe, dove le risorse includono gli ARN dei seguenti filtri tematici MQTT:-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
-
iot:Receive, dove le risorse includono gli ARN dei seguenti argomenti MQTT:-
$aws/things/coreDeviceThingName*-gci/shadow/update/delta -
$aws/things/coreDeviceThingName*-gci/shadow/get/accepted
-
Per ulteriori informazioni, consulta AWS IoT politiche per le operazioni sul piano dati e AWS IoT Politica minima per il supporto dei dispositivi client.
-
-
(Facoltativo) Per utilizzare l'autenticazione offline, il ruolo AWS Identity and Access Management (IAM) utilizzato dal AWS IoT Greengrass servizio deve contenere la seguente autorizzazione:
-
greengrass:ListClientDevicesAssociatedWithCoreDeviceper consentire al dispositivo principale di elencare i client per l'autenticazione offline.
-
-
Il componente di autenticazione del dispositivo client è supportato per l'esecuzione in un VPC. Per distribuire questo componente in un VPC, è necessario quanto segue.
-
Il componente di autenticazione del dispositivo client deve essere connesso a AWS IoT data, AWS IoT Credentials e Amazon S3.
-
Endpoint e porte
Questo componente deve essere in grado di eseguire richieste in uscita ai seguenti endpoint e porte, oltre agli endpoint e alle porte necessari per il funzionamento di base. Per ulteriori informazioni, consulta Consenti il traffico dei dispositivi tramite un proxy o un firewall.
| Endpoint | Porta | Richiesto | Description |
|---|---|---|---|
|
|
443 | Sì |
Utilizzato per ottenere informazioni sui AWS IoT certificati Thing. |
Dipendenze
Quando si distribuisce un componente, vengono distribuite AWS IoT Greengrass anche versioni compatibili delle relative dipendenze. Ciò significa che è necessario soddisfare i requisiti del componente e tutte le sue dipendenze per distribuire correttamente il componente. Questa sezione elenca le dipendenze per le versioni rilasciate di questo componente e i vincoli semantici della versione che definiscono le versioni dei componenti per ciascuna dipendenza. È inoltre possibile visualizzare le dipendenze per ciascuna versione del componente nella console. AWS IoT Greengrass
- 2.5.5
-
La tabella seguente elenca le dipendenze per la versione 2.5.5 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.17.0 Flessibili - 2.5.4
-
La tabella seguente elenca le dipendenze per la versione 2.5.4 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.16.0 Flessibili - 2.5.2 – 2.5.3
-
La tabella seguente elenca le dipendenze per le versioni 2.5.2 e 2.5.3 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.15.0 Flessibili - 2.5.1
-
La tabella seguente elenca le dipendenze per la versione 2.5.1 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.14.0 Flessibili - 2.4.4 - 2.5.0
-
La tabella seguente elenca le dipendenze per la versione 2.4.4 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.13.0 Flessibili - 2.4.3
-
La tabella seguente elenca le dipendenze per la versione 2.4.3 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.12.0 Flessibili - 2.4.1 and 2.4.2
-
La tabella seguente elenca le dipendenze per le versioni 2.4.1 e 2.4.2 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.11.0 Flessibili - 2.3.0 – 2.4.0
-
La tabella seguente elenca le dipendenze per le versioni da 2.3.0 a 2.4.0 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.10.0 Flessibili - 2.3.0
-
La tabella seguente elenca le dipendenze per la versione 2.3.0 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.10.0 Flessibili - 2.2.3
-
La tabella seguente elenca le dipendenze per la versione 2.2.3 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <=2.9.0 Flessibili - 2.2.2
-
La tabella seguente elenca le dipendenze per la versione 2.2.2 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <=2.8.0 Flessibili - 2.2.1
-
La tabella seguente elenca le dipendenze per la versione 2.2.1 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.8.0 Flessibili - 2.2.0
-
La tabella seguente elenca le dipendenze per la versione 2.2.0 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.6.0 <2.7.0 Flessibili - 2.1.0
-
La tabella seguente elenca le dipendenze per la versione 2.1.0 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2,2.0 <2,7,0 Flessibili - 2.0.4
-
La tabella seguente elenca le dipendenze per la versione 2.0.4 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.2.0 <2.6.0 Flessibili - 2.0.2 and 2.0.3
-
La tabella seguente elenca le dipendenze per le versioni 2.0.2 e 2.0.3 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.2.0 <2.5.0 Flessibili - 2.0.1
-
La tabella seguente elenca le dipendenze per la versione 2.0.1 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.2.0 <2.4.0 Flessibili - 2.0.0
-
La tabella seguente elenca le dipendenze per la versione 2.0.0 di questo componente.
Dipendenza Versioni compatibili Tipo di dipendenza Nucleo Greengrass > =2.2.0 <2.3.0 Flessibili
Per ulteriori informazioni sulle dipendenze dei componenti, vedere il riferimento alla ricetta dei componenti. ComponentDependencies
Configurazione
Questo componente fornisce i seguenti parametri di configurazione che è possibile personalizzare durante la distribuzione del componente.
Nota
L'autorizzazione di sottoscrizione viene valutata durante una richiesta di iscrizione del client al broker MQTT locale. Se l'autorizzazione di iscrizione esistente del cliente viene revocata, il cliente non sarà più in grado di iscriversi a un argomento. Tuttavia, continuerà a ricevere messaggi da qualsiasi argomento precedentemente sottoscritto. Per evitare questo comportamento, è necessario riavviare il broker MQTT locale dopo aver revocato l'autorizzazione di sottoscrizione per forzare la riautorizzazione dei client.
Per il componente MQTT 5 broker (EMQX), aggiorna la configurazione per riavviare il broker MQTT 5. restartIdentifier
Per il componente broker MQTT 3.1.1 (Moquette), per impostazione predefinita, si riavvia settimanalmente quando il certificato del server cambia costringendo i client a effettuare nuovamente l'autorizzazione. È possibile forzare il riavvio modificando le informazioni di connettività (indirizzi IP) del dispositivo principale o effettuando una distribuzione per rimuovere il componente broker e ridistribuirlo in un secondo momento.
- v2.5.0 – 2.5.4
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly all'inizio e alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano o terminano con la stringa specificata. È inoltre possibile utilizzare questo carattere jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (usa caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi terminano con
MyClientDevice.thingName: *MyClientDeviceEsempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse di questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
resources-
L'elenco delle risorse da consentire le operazioni descritte in questa policy. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly in qualsiasi punto della variabile di risorsa per consentire l'accesso a tutte le risorse. Ad esempio, è possibile specificaremqtt:topic:my*di consentire l'accesso alle risorse che corrispondono a tale input.È supportata la seguente variabile di risorsa:
-
mqtt:topic:${iot:Connection.Thing.ThingName}Questo si risolve nel nome dell'elemento nel AWS IoT Core registro per il quale viene valutata la politica. AWS IoT Core utilizza il certificato che il dispositivo presenta al momento dell'autenticazione per determinare quale elemento utilizzare per verificare la connessione. Questa variabile di policy è disponibile solo quando un dispositivo si connette tramite MQTT o MQTT tramite il protocollo. WebSocket
-
statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale, senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
certificateAuthority-
(Facoltativo) Opzioni di configurazione dell'autorità di certificazione per sostituire l'autorità intermedia del dispositivo principale con la propria autorità di certificazione intermedia.
Nota
Se configurate il dispositivo principale Greengrass con un'autorità di certificazione (CA) personalizzata e utilizzate la stessa CA per emettere i certificati dei dispositivi client, Greengrass ignora i controlli delle policy di autorizzazione per le operazioni MQTT del dispositivo client. Il componente di autenticazione del dispositivo client si fida completamente dei client che utilizzano i certificati firmati dalla CA per cui è configurato.
Per limitare questo comportamento quando si utilizza una CA personalizzata, crea e firma i dispositivi client utilizzando una CA o una CA intermedia diversa, quindi modifica i
certificateChainUricampicertificateUrie in modo che puntino alla CA intermedia corretta.Questo oggetto contiene le seguenti informazioni.
- CertificatoURI
-
L'ubicazione del certificato. Può essere un URI del file system o un URI che punta a un certificato archiviato in un modulo di sicurezza hardware.
certificateChainUri-
La posizione della catena di certificati per la CA del dispositivo principale. Questa dovrebbe essere la catena completa di certificati che riporta alla CA principale. Può essere un URI del file system o un URI che punta a una catena di certificati archiviata in un modulo di sicurezza hardware.
privateKeyUri-
La posizione della chiave privata del dispositivo principale. Può essere un URI del file system o un URI che punta a una chiave privata del certificato archiviata in un modulo di sicurezza hardware.
security-
(Facoltativo) Opzioni di configurazione della sicurezza per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni.
clientDeviceTrustDurationMinutes-
La durata in minuti in cui le informazioni di autenticazione di un dispositivo client possono essere considerate attendibili prima che sia necessario eseguire nuovamente l'autenticazione con il dispositivo principale. Il valore predefinito è 1.
metrics-
(Facoltativo) Le opzioni di metrica per questo dispositivo principale. Le metriche di errore verranno visualizzate solo in caso di errore nell'autenticazione del dispositivo client. Questo oggetto contiene le seguenti informazioni:
disableMetrics-
Se il
disableMetricscampo è impostato cometrue, l'autenticazione del dispositivo client non raccoglierà le metriche.Impostazione predefinita:
false aggregatePeriodSeconds-
Il periodo di aggregazione in secondi che determina la frequenza con cui l'autenticazione del dispositivo client aggrega le metriche e le invia all'agente di telemetria. Ciò non modifica la frequenza di pubblicazione delle metriche, in quanto l'agente di telemetria le pubblica comunque una volta al giorno.
Impostazione predefinita:
3600
- avvio TimeoutSeconds
-
(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia
ERROREDse supera questo timeout.Impostazione predefinita:
120
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica sui nomi degli oggetti)
La seguente configurazione di esempio consente ai dispositivi client di pubblicare argomenti che iniziano con il nome dell'oggetto del dispositivo client e terminano con la stringa
topic.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "myThing": { "selectionRule": "thingName: *", "policyName": "MyThingNamePolicy" } }, "policies": { "MyThingNamePolicy": { "policyStatement": { "statementDescription": "mqtt publish", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:${iot:Connection.Thing.ThingName}/*/topic" ] } } } } } - v2.4.5
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly all'inizio e alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano o terminano con la stringa specificata. È inoltre possibile utilizzare questo carattere jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\In formati come JSON, è necessario evitare i caratteri di barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (usa caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi terminano con
MyClientDevice.thingName: *MyClientDeviceEsempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale, senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
certificateAuthority-
(Facoltativo) Opzioni di configurazione dell'autorità di certificazione per sostituire l'autorità intermedia del dispositivo principale con la propria autorità di certificazione intermedia.
Nota
Se configurate il dispositivo principale Greengrass con un'autorità di certificazione (CA) personalizzata e utilizzate la stessa CA per emettere i certificati dei dispositivi client, Greengrass ignora i controlli delle policy di autorizzazione per le operazioni MQTT del dispositivo client. Il componente di autenticazione del dispositivo client si fida completamente dei client che utilizzano i certificati firmati dalla CA per cui è configurato.
Per limitare questo comportamento quando si utilizza una CA personalizzata, crea e firma i dispositivi client utilizzando una CA o una CA intermedia diversa, quindi modifica i
certificateChainUricampicertificateUrie in modo che puntino alla CA intermedia corretta.Questo oggetto contiene le seguenti informazioni.
- CertificatoURI
-
L'ubicazione del certificato. Può essere un URI del file system o un URI che punta a un certificato archiviato in un modulo di sicurezza hardware.
certificateChainUri-
La posizione della catena di certificati per la CA del dispositivo principale. Questa dovrebbe essere la catena completa di certificati che riporta alla CA principale. Può essere un URI del file system o un URI che punta a una catena di certificati archiviata in un modulo di sicurezza hardware.
privateKeyUri-
La posizione della chiave privata del dispositivo principale. Può essere un URI del file system o un URI che punta a una chiave privata del certificato archiviata in un modulo di sicurezza hardware.
security-
(Facoltativo) Opzioni di configurazione della sicurezza per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni.
clientDeviceTrustDurationMinutes-
La durata in minuti in cui le informazioni di autenticazione di un dispositivo client possono essere considerate attendibili prima che sia necessario eseguire nuovamente l'autenticazione con il dispositivo principale. Il valore predefinito è 1.
metrics-
(Facoltativo) Le opzioni di metrica per questo dispositivo principale. Le metriche di errore verranno visualizzate solo in caso di errore nell'autenticazione del dispositivo client. Questo oggetto contiene le seguenti informazioni:
disableMetrics-
Se il
disableMetricscampo è impostato cometrue, l'autenticazione del dispositivo client non raccoglierà le metriche.Impostazione predefinita:
false aggregatePeriodSeconds-
Il periodo di aggregazione in secondi che determina la frequenza con cui l'autenticazione del dispositivo client aggrega le metriche e le invia all'agente di telemetria. Ciò non modifica la frequenza di pubblicazione delle metriche perché l'agente di telemetria le pubblica comunque una volta al giorno.
Impostazione predefinita:
3600
- avvio TimeoutSeconds
-
(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia
ERROREDse supera questo timeout.Impostazione predefinita:
120
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.2 - v2.4.4
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale, senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
certificateAuthority-
(Facoltativo) Opzioni di configurazione dell'autorità di certificazione per sostituire l'autorità intermedia del dispositivo principale con la propria autorità di certificazione intermedia.
Nota
Se configurate il dispositivo principale Greengrass con un'autorità di certificazione (CA) personalizzata e utilizzate la stessa CA per emettere i certificati dei dispositivi client, Greengrass ignora i controlli delle policy di autorizzazione per le operazioni MQTT del dispositivo client. Il componente di autenticazione del dispositivo client si fida completamente dei client che utilizzano i certificati firmati dalla CA per cui è configurato.
Per limitare questo comportamento quando si utilizza una CA personalizzata, crea e firma i dispositivi client utilizzando una CA o una CA intermedia diversa, quindi modifica i
certificateChainUricampicertificateUrie in modo che puntino alla CA intermedia corretta.Questo oggetto contiene le seguenti informazioni.
- CertificatoURI
-
L'ubicazione del certificato. Può essere un URI del file system o un URI che punta a un certificato archiviato in un modulo di sicurezza hardware.
certificateChainUri-
La posizione della catena di certificati per la CA del dispositivo principale. Questa dovrebbe essere la catena completa di certificati che riporta alla CA principale. Può essere un URI del file system o un URI che punta a una catena di certificati archiviata in un modulo di sicurezza hardware.
privateKeyUri-
La posizione della chiave privata del dispositivo principale. Può essere un URI del file system o un URI che punta a una chiave privata del certificato archiviata in un modulo di sicurezza hardware.
security-
(Facoltativo) Opzioni di configurazione della sicurezza per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni.
clientDeviceTrustDurationMinutes-
La durata in minuti in cui le informazioni di autenticazione di un dispositivo client possono essere considerate attendibili prima che sia necessario eseguire nuovamente l'autenticazione con il dispositivo principale. Il valore predefinito è 1.
metrics-
(Facoltativo) Le opzioni di metrica per questo dispositivo principale. Le metriche di errore verranno visualizzate solo in caso di errore nell'autenticazione del dispositivo client. Questo oggetto contiene le seguenti informazioni:
disableMetrics-
Se il
disableMetricscampo è impostato cometrue, l'autenticazione del dispositivo client non raccoglierà le metriche.Impostazione predefinita:
false aggregatePeriodSeconds-
Il periodo di aggregazione in secondi che determina la frequenza con cui l'autenticazione del dispositivo client aggrega le metriche e le invia all'agente di telemetria. Ciò non modifica la frequenza di pubblicazione delle metriche perché l'agente di telemetria le pubblica comunque una volta al giorno.
Impostazione predefinita:
3600
- avvio TimeoutSeconds
-
(Facoltativo) Il tempo massimo in secondi per l'avvio del componente. Lo stato del componente cambia
ERROREDse supera questo timeout.Impostazione predefinita:
120
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.4.0 - v2.4.1
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale, senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
certificateAuthority-
(Facoltativo) Opzioni di configurazione dell'autorità di certificazione per sostituire l'autorità intermedia del dispositivo principale con la propria autorità di certificazione intermedia. Questo oggetto contiene le seguenti informazioni.
Questo oggetto contiene le seguenti informazioni:
- Certificato URI
-
L'ubicazione del certificato. Può essere un URI del file system o un URI che punta a un certificato archiviato in un modulo di sicurezza hardware.
certificateChainUri-
La posizione della catena di certificati per la CA del dispositivo principale. Questa dovrebbe essere la catena completa di certificati che riporta alla CA principale. Può essere un URI del file system o un URI che punta a una catena di certificati archiviata in un modulo di sicurezza hardware.
privateKeyUri-
La posizione della chiave privata del dispositivo principale. Può essere un URI del file system o un URI che punta a una chiave privata del certificato archiviata in un modulo di sicurezza hardware.
security-
(Facoltativo) Opzioni di configurazione della sicurezza per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni.
clientDeviceTrustDurationMinutes-
La durata in minuti in cui le informazioni di autenticazione di un dispositivo client possono essere considerate attendibili prima che sia necessario eseguire nuovamente l'autenticazione con il dispositivo principale. Il valore predefinito è 1.
metrics-
(Facoltativo) Le opzioni di metrica per questo dispositivo principale. Le metriche di errore verranno visualizzate solo in caso di errore nell'autenticazione del dispositivo client. Questo oggetto contiene le seguenti informazioni:
disableMetrics-
Se il
disableMetricscampo è impostato cometrue, l'autenticazione del dispositivo client non raccoglierà le metriche.Impostazione predefinita:
false aggregatePeriodSeconds-
Il periodo di aggregazione in secondi che determina la frequenza con cui l'autenticazione del dispositivo client aggrega le metriche e le invia all'agente di telemetria. Ciò non modifica la frequenza di pubblicazione delle metriche perché l'agente di telemetria le pubblica comunque una volta al giorno.
Impostazione predefinita:
3600
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.3.x
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
certificateAuthority-
(Facoltativo) Opzioni di configurazione dell'autorità di certificazione per sostituire l'autorità intermedia del dispositivo principale con la propria autorità di certificazione intermedia. Questo oggetto contiene le seguenti informazioni.
- CertificatoURI
-
L'ubicazione del certificato. Può essere un URI del file system o un URI che punta a un certificato archiviato in un modulo di sicurezza hardware.
certificateChainUri-
La posizione della catena di certificati per la CA del dispositivo principale. Questa dovrebbe essere la catena completa di certificati che riporta alla CA principale. Può essere un URI del file system o un URI che punta a una catena di certificati archiviata in un modulo di sicurezza hardware.
privateKeyUri-
La posizione della chiave privata del dispositivo principale. Può essere un URI del file system o un URI che punta a una chiave privata del certificato archiviata in un modulo di sicurezza hardware.
security-
(Facoltativo) Opzioni di configurazione della sicurezza per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni.
clientDeviceTrustDurationMinutes-
La durata in minuti in cui le informazioni di autenticazione di un dispositivo client possono essere considerate attendibili prima che sia necessario eseguire nuovamente l'autenticazione con il dispositivo principale. Il valore predefinito è 1.
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.2.x
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro degli argomenti da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
performance-
(Facoltativo) Le opzioni di configurazione delle prestazioni per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
maxActiveAuthTokens-
(Facoltativo) Il numero massimo di token di autorizzazione del dispositivo client attivo. È possibile aumentare questo numero per consentire a un numero maggiore di dispositivi client di connettersi a un singolo dispositivo principale senza doverli autenticare nuovamente.
Impostazione predefinita:
2500 cloudRequestQueueSize-
(Facoltativo) Il numero massimo di Cloud AWS richieste da mettere in coda prima che questo componente le rifiuti.
Impostazione predefinita:
100 maxConcurrentCloudRequests-
(Facoltativo) Il numero massimo di richieste simultanee da inviare a. Cloud AWSÈ possibile aumentare questo numero per migliorare le prestazioni di autenticazione sui dispositivi principali a cui si connettono un numero elevato di dispositivi client.
Impostazione predefinita:
1
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.1.x
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
certificates-
(Facoltativo) Le opzioni di configurazione del certificato per questo dispositivo principale. Questo oggetto contiene le seguenti informazioni:
serverCertificateValiditySeconds-
(Facoltativo) L'intervallo di tempo (in secondi) dopo il quale scade il certificato del server MQTT locale. È possibile configurare questa opzione per personalizzare la frequenza con cui i dispositivi client si disconnettono e si riconnetteranno al dispositivo principale.
Questo componente fa ruotare il certificato del server MQTT locale 24 ore prima della scadenza. Il broker MQTT, come il componente broker Moquette MQTT, genera un nuovo certificato e si riavvia. Quando ciò accade, tutti i dispositivi client connessi a questo dispositivo principale vengono disconnessi. I dispositivi client possono riconnettersi al dispositivo principale dopo un breve periodo di tempo.
Impostazione predefinita:
604800(7 giorni)Valore minimo:
172800(2 giorni)Valore massimo:
864000(10 giorni)
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } } - v2.0.x
-
deviceGroups-
I gruppi di dispositivi sono gruppi di dispositivi client che dispongono delle autorizzazioni per connettersi e comunicare con un dispositivo principale. Utilizza le regole di selezione per identificare i gruppi di dispositivi client e definire le politiche di autorizzazione dei dispositivi client che specificano le autorizzazioni per ciascun gruppo di dispositivi.
Questo oggetto contiene le seguenti informazioni:
formatVersion-
La versione di formato per questo oggetto di configurazione.
Seleziona una delle opzioni seguenti:
-
2021-03-05
-
definitions-
I gruppi di dispositivi per questo dispositivo principale. Ogni definizione specifica una regola di selezione per valutare se un dispositivo client è membro del gruppo. Ogni definizione specifica anche la politica delle autorizzazioni da applicare ai dispositivi client che corrispondono alla regola di selezione. Se un dispositivo client è membro di più gruppi di dispositivi, le autorizzazioni del dispositivo sono costituite dalla politica delle autorizzazioni di ciascun gruppo.
Questo oggetto contiene le seguenti informazioni:
groupNameKey-
Il nome di questo gruppo di dispositivi. Sostituiscilo
groupNameKeycon un nome che ti aiuti a identificare questo gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
selectionRule-
La query che specifica quali dispositivi client sono membri di questo gruppo di dispositivi. Quando un dispositivo client si connette, il dispositivo principale valuta questa regola di selezione per determinare se il dispositivo client è membro di questo gruppo di dispositivi. Se il dispositivo client è membro, il dispositivo principale utilizza la politica di questo gruppo di dispositivi per autorizzare le azioni del dispositivo client.
Ogni regola di selezione comprende almeno una clausola della regola di selezione, che è una singola query di espressione che può corrispondere ai dispositivi client. Le regole di selezione utilizzano la stessa sintassi di interrogazione dell'indicizzazione del AWS IoT parco veicoli. Per ulteriori informazioni sulla sintassi delle regole di selezione, consulta la sintassi delle query di indicizzazione del AWS IoT parco veicoli nella Guida per gli sviluppatori. AWS IoT Core
Usa il carattere
*jolly per abbinare più dispositivi client a una clausola della regola di selezione. È possibile utilizzare questo carattere jolly alla fine del nome dell'oggetto per far corrispondere i dispositivi client i cui nomi iniziano con una stringa specificata. È inoltre possibile utilizzare questa jolly per abbinare tutti i dispositivi client.Nota
Per selezionare un valore che contenga i due punti (
:), scappa dai due punti con una barra rovesciata ().\\In formati come JSON, è necessario evitare i caratteri barra rovesciata, quindi è necessario inserire due caratteri di barra rovesciata prima del carattere dei due punti. Ad esempio, specifica di selezionare una cosathingName: MyTeam\\\\:ClientDevice1il cui nome è.MyTeam:ClientDevice1È possibile specificare il seguente selettore:
-
thingName— Il nome dell' AWS IoT oggetto di un dispositivo client.
Esempio Esempio di regola di selezione
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi sono
MyClientDevice1oMyClientDevice2.thingName: MyClientDevice1 OR thingName: MyClientDevice2Esempio Esempio di regola di selezione (utilizzare caratteri jolly)
La seguente regola di selezione corrisponde ai dispositivi client i cui nomi iniziano con
MyClientDevice.thingName: MyClientDevice*Esempio Esempio di regola di selezione (corrisponde a tutti i dispositivi)
La seguente regola di selezione corrisponde a tutti i dispositivi client.
thingName: * -
policyName-
La politica delle autorizzazioni che si applica ai dispositivi client di questo gruppo di dispositivi. Specifica il nome di una policy definita nell'
policiesoggetto.
policies-
Le politiche di autorizzazione dei dispositivi client per i dispositivi client che si connettono al dispositivo principale. Ogni policy di autorizzazione specifica una serie di azioni e le risorse su cui un dispositivo client può eseguire tali azioni.
Questo oggetto contiene le seguenti informazioni:
policyNameKey-
Il nome di questa politica di autorizzazione. Sostituiscilo
policyNameKeycon un nome che ti aiuti a identificare questa politica di autorizzazione. Si utilizza questo nome di policy per definire quale policy si applica a un gruppo di dispositivi.Questo oggetto contiene le seguenti informazioni:
statementNameKey-
Il nome di questa dichiarazione politica. Sostituiscilo
statementNameKeycon un nome che ti aiuti a identificare questa dichiarazione politica.Questo oggetto contiene le seguenti informazioni:
operations-
L'elenco delle operazioni per consentire l'utilizzo delle risorse incluse in questa politica.
È possibile includere una delle seguenti operazioni:
-
mqtt:connect— Concede l'autorizzazione per la connessione al dispositivo principale. I dispositivi client devono disporre di questa autorizzazione per connettersi a un dispositivo principale.Questa operazione supporta le seguenti risorse:
-
mqtt:clientId:— Limita l'accesso in base all'ID client utilizzato da un dispositivo client per connettersi al broker MQTT del dispositivo principale. SostituiscideviceClientIddeviceClientIdcon l'ID client da utilizzare.
-
-
mqtt:publish— Concede il permesso di pubblicare messaggi MQTT negli argomenti.Questa operazione supporta le seguenti risorse:
-
mqtt:topic:— Limita l'accesso in base all'argomento MQTT in cui un dispositivo client pubblica un messaggio. SostituiscimqttTopicmqttTopiccon l'argomento da utilizzare.Questa risorsa non supporta i caratteri jolly degli argomenti MQTT.
-
-
mqtt:subscribe— Concede il permesso di sottoscrivere i filtri tematici MQTT per ricevere messaggi.Questa operazione supporta le seguenti risorse:
-
mqtt:topicfilter:— Limita l'accesso in base agli argomenti MQTT in cui un dispositivo client può iscriversi ai messaggi. SostituiscimqttTopicFiltermqttTopicFiltercon il filtro tematico da utilizzare.Questa risorsa supporta i caratteri jolly relativi agli argomenti
#MQTT+e MQTT. Per ulteriori informazioni, consultate gli argomenti https://docs.aws.amazon.com/iot/latest/developerguide/topics.html MQTT nella Developer Guide. AWS IoT CoreIl dispositivo client può sottoscrivere gli esatti filtri tematici consentiti. Ad esempio, se consenti al dispositivo client di sottoscrivere la
mqtt:topicfilter:client/+/statusrisorsa, il dispositivo client può abbonarsiclient/+/statusma non abbonarsiclient/client1/status.
-
È possibile specificare il carattere
*jolly per consentire l'accesso a tutte le azioni. -
resources-
L'elenco delle risorse per consentire le operazioni in questa politica. Specifica le risorse che corrispondono alle operazioni in questa politica. Ad esempio, è possibile specificare un elenco di risorse tematiche MQTT (
mqtt:topic:) in una policy che specifica l'operazione.mqttTopicmqtt:publishÈ possibile specificare il carattere
*jolly per consentire l'accesso a tutte le risorse. Non è possibile utilizzare il carattere*jolly per abbinare identificatori parziali di risorse. Ad esempio, puoi specificare"resources": "*", ma non puoi specificare."resources": "mqtt:clientId:*" statementDescription-
(Facoltativo) Una descrizione di questa dichiarazione politica.
Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica restrittiva)
La seguente configurazione di esempio specifica di consentire ai dispositivi client i cui nomi iniziano con di
MyClientDeviceconnettersi e publish/subscribe su tutti gli argomenti.{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyDeviceGroup": { "selectionRule": "thingName: MyClientDevice*", "policyName": "MyRestrictivePolicy" } }, "policies": { "MyRestrictivePolicy": { "AllowConnect": { "statementDescription": "Allow client devices to connect.", "operations": [ "mqtt:connect" ], "resources": [ "*" ] }, "AllowPublish": { "statementDescription": "Allow client devices to publish on test/topic.", "operations": [ "mqtt:publish" ], "resources": [ "mqtt:topic:test/topic" ] }, "AllowSubscribe": { "statementDescription": "Allow client devices to subscribe to test/topic/response.", "operations": [ "mqtt:subscribe" ], "resources": [ "mqtt:topicfilter:test/topic/response" ] } } } } }Esempio Esempio: aggiornamento dell'unione delle configurazioni (utilizzando una politica permissiva)
La seguente configurazione di esempio specifica di consentire a tutti i dispositivi client di connettersi e publish/subscribe su tutti gli argomenti.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
File di registro locale
Questo componente utilizza lo stesso file di registro del componente Greengrass nucleus.
- Linux
-
/logs/greengrass.log/greengrass/v2 - Windows
-
C:\greengrass\v2\logs\greengrass.log
Per visualizzare i log di questo componente
-
Esegui il seguente comando sul dispositivo principale per visualizzare il file di registro di questo componente in tempo reale. Sostituisci
o/greengrass/v2C:\greengrass\v2con il percorso della cartella AWS IoT Greengrass principale.- Linux
-
sudo tail -f/logs/greengrass.log/greengrass/v2 - Windows (PowerShell)
-
Get-ContentC:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Changelog
La tabella seguente descrive le modifiche in ciascuna versione del componente.
|
Versione |
Modifiche |
|---|---|
|
2.5.7 |
Aggiorna la versione del componente per la versione 2.18.0 di Greengrass nucleus. |
|
2.5.6 |
Aggiorna la versione del componente per la versione 2.17.0 di Greengrass nucleus. |
|
2.5.5 |
Versione aggiornata per la versione 2.16.0 di Greengrass nucleus. |
|
2.5.4 |
Versione aggiornata per la versione 2.15.0 di Greengrass nucleus. |
|
2.5.3 |
|
|
2.5.2 |
Versione aggiornata per la versione 2.14.0 di Greengrass nucleus. |
|
2.5.1 |
|
|
2.5.0 |
|
|
2.4.5 |
|
|
2.4.4 |
Versione aggiornata per la versione 2.12.0 di Greengrass nucleus. |
|
2.4.3 |
Versione aggiornata per la versione 2.11.0 di Greengrass nucleus. |
|
2.4.2 |
|
|
2.4.1 |
Versione aggiornata per la versione 2.10.0 di Greengrass nucleus. |
|
2.4.0 |
|
|
2.3.2 |
|
|
2.3.1 |
|
|
2.3.0 |
avvertimentoQuesta versione non è più disponibile. I miglioramenti di questa versione sono disponibili nelle versioni successive di questo componente. Nuove funzionalità
|
|
2.2.3 |
Versione aggiornata per la versione 2.8.0 di Greengrass nucleus. |
|
2.2.2 |
|
|
2.2.1 |
Versione aggiornata per la versione 2.7.0 di Greengrass nucleus. |
|
2.2.0 |
|
|
2.1.0 |
|
|
2.0.4 |
Versione aggiornata per la versione 2.5.0 di Greengrass nucleus. |
|
2.0.3 |
|
|
2.0.2 |
Versione aggiornata per la versione 2.4.0 di Greengrass nucleus. |
|
2.0.1 |
Versione aggiornata per la versione 2.3.0 di Greengrass nucleus. |
|
2.0.0 |
Versione iniziale. |