As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Autenticação do dispositivo cliente
O componente de autenticação do dispositivo cliente (aws.greengrass.clientdevices.Auth
) autentica os dispositivos do cliente e autoriza as ações do dispositivo cliente.
nota
Os dispositivos cliente são dispositivos IoT locais que se conectam a um dispositivo principal do Greengrass para enviar MQTT mensagens e dados para processamento. Para obter mais informações, consulte Interaja com dispositivos IoT locais.
Tópicos
Versões
nota
A versão 2.3.0 da autenticação do dispositivo cliente foi descontinuada. É altamente recomendável que você atualize para a autenticação do dispositivo cliente versão 2.3.1 ou posterior.
Esse componente tem as seguintes versões:
-
2.4.x
-
2.3.x
-
2.2.x
-
2.1.x
-
2.0.x
Tipo
Este componente é um componente de plug-in (aws.greengrass.plugin
). O núcleo do Greengrass executa esse componente na mesma Java Virtual Machine (JVM) do núcleo. O núcleo reinicia quando você altera a versão desse componente no dispositivo principal.
Esse componente usa o mesmo arquivo de log do núcleo do Greengrass. Para obter mais informações, consulte Monitore AWS IoT Greengrass os registros.
Para obter mais informações, consulte Tipos de componentes.
Sistema operacional
Esse componente pode ser instalado em dispositivos principais que executam os seguintes sistemas operacionais:
Linux
Windows
Requisitos
Esse componente tem os seguintes requisitos:
-
A função de serviço do Greengrass deve estar associada à sua Conta da AWS e permitir a
iot:DescribeCertificate
permissão. -
A AWS IoT política do dispositivo principal deve permitir as seguintes permissões:
-
greengrass:GetConnectivityInfo
, onde os recursos incluem o ARN do dispositivo principal que executa esse componente -
greengrass:VerifyClientDeviceIoTCertificateAssociation
, onde os recursos incluem o Amazon Resource Name (ARN) de cada dispositivo cliente que se conecta ao dispositivo principal -
greengrass:VerifyClientDeviceIdentity
-
greengrass:PutCertificateAuthorities
-
iot:Publish
, onde os recursos incluem ARN o seguinte MQTT tópico:-
$aws/things/
coreDeviceThingName
*-gci/shadow/get
-
-
iot:Subscribe
, onde os recursos incluem os seguintes filtros ARNs de MQTT tópicos:-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
-
iot:Receive
, onde os recursos incluem ARNs os seguintes MQTT tópicos:-
$aws/things/
coreDeviceThingName
*-gci/shadow/update/delta -
$aws/things/
coreDeviceThingName
*-gci/shadow/get/accepted
-
Para ter mais informações, consulte Políticas do AWS IoT para operações de plano de dados e AWS IoTPolítica mínima para oferecer suporte aos dispositivos do cliente.
-
-
(Opcional) Para usar a autenticação off-line, a função AWS Identity and Access Management (IAM) usada pelo AWS IoT Greengrass serviço deve conter a seguinte permissão:
-
greengrass:ListClientDevicesAssociatedWithCoreDevice
para permitir que o dispositivo principal liste clientes para autenticação offline.
-
-
O componente de autenticação do dispositivo cliente tem suporte para ser executado em umVPC. Para implantar esse componente em umVPC, é necessário o seguinte.
-
O componente de autenticação do dispositivo cliente deve ter conectividade com AWS IoT data, AWS IoT Credentials e Amazon S3.
-
Endpoints e portas
Esse componente deve ser capaz de realizar solicitações de saída para os seguintes endpoints e portas, além dos endpoints e portas necessários para a operação básica. Para obter mais informações, consulte Permitir o tráfego de dispositivos por meio de um proxy ou firewall.
Endpoint | Port (Porta) | Obrigatório | Descrição |
---|---|---|---|
|
443 | Sim |
Usado para obter informações sobre certificados de AWS IoT coisas. |
Dependências
Quando você implanta um componente, AWS IoT Greengrass também implanta versões compatíveis de suas dependências. Isso significa que você deve atender aos requisitos do componente e de todas as suas dependências para implantá-lo com êxito. Esta seção lista as dependências das versões lançadas desse componente e as restrições de versão semântica que definem as versões dos componentes para cada dependência. Você também pode visualizar as dependências de cada versão do componente no AWS IoT Greengrass console
- 2.5.1
-
A tabela a seguir lista as dependências da versão 2.5.1 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2,6,0 <2,14,0 Flexível - 2.4.4 - 2.5.0
-
A tabela a seguir lista as dependências da versão 2.4.4 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.13.0 Flexível - 2.4.3
-
A tabela a seguir lista as dependências da versão 2.4.3 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2,6,0 <2,12,0 Flexível - 2.4.1 and 2.4.2
-
A tabela a seguir lista as dependências das versões 2.4.1 e 2.4.2 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.11.0 Flexível - 2.3.0 – 2.4.0
-
A tabela a seguir lista as dependências das versões 2.3.0 a 2.4.0 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.10.0 Flexível - 2.3.0
-
A tabela a seguir lista as dependências da versão 2.3.0 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.10.0 Flexível - 2.2.3
-
A tabela a seguir lista as dependências da versão 2.2.3 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2,6,0 <=2,9,0 Flexível - 2.2.2
-
A tabela a seguir lista as dependências da versão 2.2.2 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2,6,0 <=2,8,0 Flexível - 2.2.1
-
A tabela a seguir lista as dependências da versão 2.2.1 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.8.0 Flexível - 2.2.0
-
A tabela a seguir lista as dependências da versão 2.2.0 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.6.0 <2.7.0 Flexível - 2.1.0
-
A tabela a seguir lista as dependências da versão 2.1.0 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.2.0 <2.7.0 Flexível - 2.0.4
-
A tabela a seguir lista as dependências da versão 2.0.4 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.2.0 <2.6.0 Flexível - 2.0.2 and 2.0.3
-
A tabela a seguir lista as dependências das versões 2.0.2 e 2.0.3 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.2.0 <2.5.0 Flexível - 2.0.1
-
A tabela a seguir lista as dependências da versão 2.0.1 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.2.0 <2.4.0 Flexível - 2.0.0
-
A tabela a seguir lista as dependências da versão 2.0.0 desse componente.
Dependência Versões compatíveis Tipo de dependência Núcleo Greengrass >=2.2.0 <2.3.0 Flexível
Para obter mais informações sobre dependências de componentes, consulte a referência da receita do componente.
Configuração
Esse componente fornece os seguintes parâmetros de configuração que você pode personalizar ao implantar o componente.
nota
A permissão de assinatura é avaliada durante uma solicitação de assinatura do cliente ao MQTT corretor local. Se a permissão de inscrição existente do cliente for revogada, o cliente não poderá mais se inscrever em um tópico. No entanto, ele continuará recebendo mensagens de qualquer tópico inscrito anteriormente. Para evitar esse comportamento, o MQTT corretor local deve ser reiniciado após revogar a permissão de assinatura para forçar a reautorização dos clientes.
Para o componente MQTT 5 broker (EMQX), atualize a restartIdentifier
configuração para reiniciar o MQTT 5 broker.
Para o componente broker MQTT 3.1.1 (Moquette), ele reinicia semanalmente por padrão quando o certificado do servidor é alterado, forçando os clientes a reautorizarem. Você pode forçar uma reinicialização alterando as informações de conectividade (endereços IP) do dispositivo principal ou fazendo uma implantação para remover o componente intermediário e implantá-lo novamente mais tarde.
- v2.5.0
-
deviceGroups
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no início e no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam ou terminam com a string especificada. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes terminam com
MyClientDevice
.thingName: *MyClientDevice
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
caractere curinga em qualquer lugar dentro da variável de recurso para permitir o acesso a todos os recursos. Por exemplo, você pode especificarmqtt:topic:my*
para permitir o acesso aos recursos que correspondam a essa entrada.A seguinte variável de recurso é suportada:
-
mqtt:topic:${iot:Connection.Thing.ThingName}
Isso se resume ao nome da coisa no AWS IoT Core registro para a qual a política está sendo avaliada. AWS IoT Core usa o certificado que o dispositivo apresenta ao se autenticar para determinar qual coisa usar para verificar a conexão. Essa variável de política só está disponível quando um dispositivo se conecta MQTT MQTT por meio do WebSocket protocolo.
-
statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal, sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
certificateAuthority
-
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela sua própria autoridade de certificação intermediária.
nota
Se você configurar seu dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações do dispositivo cliente. MQTT O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou CA intermediária e, em seguida, ajuste os
certificateChainUri
camposcertificateUri
e para apontar para a CA intermediária correta.Esse objeto contém as seguintes informações.
- certificateUri
-
A localização do certificado. Pode ser um sistema de arquivos URI ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.
certificateChainUri
-
A localização da cadeia de certificados da CA do dispositivo principal. Essa deve ser a cadeia completa de certificados de volta à sua CA raiz. Pode ser um sistema de arquivos URI ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.
privateKeyUri
-
A localização da chave privada do dispositivo principal. Isso pode ser um sistema de arquivos URI ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.
security
-
(Opcional) Opções de configuração de segurança para esse dispositivo principal. Esse objeto contém as seguintes informações.
clientDeviceTrustDurationMinutes
-
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.
metrics
-
(Opcional) As opções de métricas para esse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as seguintes informações:
disableMetrics
-
Se o
disableMetrics
campo for definido comotrue
, a autenticação do dispositivo cliente não coletará métricas.Padrão:
false
aggregatePeriodSeconds
-
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.
Padrão:
3600
- startupTimeoutSeconds
-
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para
BROKEN
se ele exceder esse tempo limite.Padrão:
120
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configuração (usando uma política de nome de coisa)
O exemplo de configuração a seguir permite que dispositivos cliente publiquem tópicos que começam com o nome do item do dispositivo cliente e terminam com a string
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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no início e no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam ou terminam com a string especificada. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes terminam com
MyClientDevice
.thingName: *MyClientDevice
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal, sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
certificateAuthority
-
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela sua própria autoridade de certificação intermediária.
nota
Se você configurar seu dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações do dispositivo cliente. MQTT O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou CA intermediária e, em seguida, ajuste os
certificateChainUri
camposcertificateUri
e para apontar para a CA intermediária correta.Esse objeto contém as seguintes informações.
- certificateUri
-
A localização do certificado. Pode ser um sistema de arquivos URI ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.
certificateChainUri
-
A localização da cadeia de certificados da CA do dispositivo principal. Essa deve ser a cadeia completa de certificados de volta à sua CA raiz. Pode ser um sistema de arquivos URI ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.
privateKeyUri
-
A localização da chave privada do dispositivo principal. Isso pode ser um sistema de arquivos URI ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.
security
-
(Opcional) Opções de configuração de segurança para esse dispositivo principal. Esse objeto contém as seguintes informações.
clientDeviceTrustDurationMinutes
-
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.
metrics
-
(Opcional) As opções de métricas para esse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as seguintes informações:
disableMetrics
-
Se o
disableMetrics
campo for definido comotrue
, a autenticação do dispositivo cliente não coletará métricas.Padrão:
false
aggregatePeriodSeconds
-
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.
Padrão:
3600
- startupTimeoutSeconds
-
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para
BROKEN
se ele exceder esse tempo limite.Padrão:
120
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal, sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
certificateAuthority
-
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela sua própria autoridade de certificação intermediária.
nota
Se você configurar seu dispositivo principal do Greengrass com uma autoridade de certificação (CA) personalizada e usar a mesma CA para emitir certificados de dispositivo cliente, o Greengrass ignorará as verificações da política de autorização para operações do dispositivo cliente. MQTT O componente de autenticação do dispositivo cliente confia totalmente nos clientes usando certificados assinados pela CA que ele está configurado para usar.
Para restringir esse comportamento ao usar uma CA personalizada, crie e assine dispositivos cliente usando outra CA ou CA intermediária e, em seguida, ajuste os
certificateChainUri
camposcertificateUri
e para apontar para a CA intermediária correta.Esse objeto contém as seguintes informações.
- certificateUri
-
A localização do certificado. Pode ser um sistema de arquivos URI ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.
certificateChainUri
-
A localização da cadeia de certificados da CA do dispositivo principal. Essa deve ser a cadeia completa de certificados de volta à sua CA raiz. Pode ser um sistema de arquivos URI ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.
privateKeyUri
-
A localização da chave privada do dispositivo principal. Isso pode ser um sistema de arquivos URI ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.
security
-
(Opcional) Opções de configuração de segurança para esse dispositivo principal. Esse objeto contém as seguintes informações.
clientDeviceTrustDurationMinutes
-
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.
metrics
-
(Opcional) As opções de métricas para esse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as seguintes informações:
disableMetrics
-
Se o
disableMetrics
campo for definido comotrue
, a autenticação do dispositivo cliente não coletará métricas.Padrão:
false
aggregatePeriodSeconds
-
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.
Padrão:
3600
- startupTimeoutSeconds
-
(Opcional) O tempo máximo em segundos para o componente iniciar. O estado do componente muda para
BROKEN
se ele exceder esse tempo limite.Padrão:
120
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal, sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
certificateAuthority
-
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela sua própria autoridade de certificação intermediária. Esse objeto contém as seguintes informações.
Esse objeto contém as seguintes informações:
- certificateUri
-
A localização do certificado. Pode ser um sistema de arquivos URI ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.
certificateChainUri
-
A localização da cadeia de certificados da CA do dispositivo principal. Essa deve ser a cadeia completa de certificados de volta à sua CA raiz. Pode ser um sistema de arquivos URI ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.
privateKeyUri
-
A localização da chave privada do dispositivo principal. Isso pode ser um sistema de arquivos URI ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.
security
-
(Opcional) Opções de configuração de segurança para esse dispositivo principal. Esse objeto contém as seguintes informações.
clientDeviceTrustDurationMinutes
-
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.
metrics
-
(Opcional) As opções de métricas para esse dispositivo principal. As métricas de erro só serão exibidas se houver um erro com a autenticação do dispositivo cliente. Esse objeto contém as seguintes informações:
disableMetrics
-
Se o
disableMetrics
campo for definido comotrue
, a autenticação do dispositivo cliente não coletará métricas.Padrão:
false
aggregatePeriodSeconds
-
O período de agregação em segundos que determina com que frequência a autenticação do dispositivo cliente agrega métricas e as envia ao agente de telemetria. Isso não altera a frequência com que as métricas são publicadas porque o agente de telemetria ainda as publica uma vez por dia.
Padrão:
3600
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
certificateAuthority
-
(Opcional) Opções de configuração da autoridade de certificação para substituir a autoridade intermediária do dispositivo principal pela sua própria autoridade de certificação intermediária. Esse objeto contém as seguintes informações.
- certificateUri
-
A localização do certificado. Pode ser um sistema de arquivos URI ou um URI que aponta para um certificado armazenado em um módulo de segurança de hardware.
certificateChainUri
-
A localização da cadeia de certificados da CA do dispositivo principal. Essa deve ser a cadeia completa de certificados de volta à sua CA raiz. Pode ser um sistema de arquivos URI ou um URI que aponta para uma cadeia de certificados armazenada em um módulo de segurança de hardware.
privateKeyUri
-
A localização da chave privada do dispositivo principal. Isso pode ser um sistema de arquivos URI ou um URI que aponta para uma chave privada de certificado armazenada em um módulo de segurança de hardware.
security
-
(Opcional) Opções de configuração de segurança para esse dispositivo principal. Esse objeto contém as seguintes informações.
clientDeviceTrustDurationMinutes
-
A duração em minutos em que as informações de autenticação de um dispositivo cliente podem ser confiáveis antes que seja necessário se autenticar novamente com o dispositivo principal. O valor padrão é 1.
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
performance
-
(Opcional) As opções de configuração de desempenho desse dispositivo principal. Esse objeto contém as seguintes informações:
maxActiveAuthTokens
-
(Opcional) O número máximo de tokens ativos de autorização do dispositivo cliente. Você pode aumentar esse número para permitir que um número maior de dispositivos clientes se conecte a um único dispositivo principal sem precisar reautenticá-los.
Padrão:
2500
cloudRequestQueueSize
-
(Opcional) O número máximo de Nuvem AWS solicitações a serem colocadas na fila antes que esse componente rejeite as solicitações.
Padrão:
100
maxConcurrentCloudRequests
-
(Opcional) O número máximo de solicitações simultâneas a serem enviadas para o. Nuvem AWS Você pode aumentar esse número para melhorar o desempenho da autenticação em dispositivos principais nos quais você conecta um grande número de dispositivos clientes.
Padrão:
1
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
certificates
-
(Opcional) As opções de configuração do certificado para esse dispositivo principal. Esse objeto contém as seguintes informações:
serverCertificateValiditySeconds
-
(Opcional) O tempo (em segundos) após o qual o certificado do MQTT servidor local expira. Você pode configurar essa opção para personalizar a frequência com que os dispositivos cliente se desconectam e se reconectam ao dispositivo principal.
Esse componente gira o certificado do MQTT servidor local 24 horas antes de expirar. O MQTT agente, como o componente do MQTT agente Moquette, gera um novo certificado e reinicia. Quando isso acontece, todos os dispositivos clientes conectados a esse dispositivo principal são desconectados. Os dispositivos cliente podem se reconectar ao dispositivo principal após um curto período de tempo.
Padrão:
604800
(7 dias)Valor mínimo:
172800
(2 dias)Valor máximo:
864000
(10 dias)
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "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
-
Grupos de dispositivos são grupos de dispositivos clientes que têm permissões para se conectar e se comunicar com um dispositivo principal. Use regras de seleção para identificar grupos de dispositivos clientes e definir políticas de autorização de dispositivos clientes que especifiquem as permissões para cada grupo de dispositivos.
Esse objeto contém as seguintes informações:
formatVersion
-
A versão do formato desse objeto de configuração.
Escolha uma das seguintes opções:
-
2021-03-05
-
definitions
-
Os grupos de dispositivos desse dispositivo principal. Cada definição especifica uma regra de seleção para avaliar se um dispositivo cliente é membro do grupo. Cada definição também especifica a política de permissões a ser aplicada aos dispositivos cliente que correspondam à regra de seleção. Se um dispositivo cliente for membro de vários grupos de dispositivos, as permissões do dispositivo serão compostas pela política de permissões de cada grupo.
Esse objeto contém as seguintes informações:
groupNameKey
-
O nome desse grupo de dispositivos. Substituir
groupNameKey
com um nome que ajuda a identificar esse grupo de dispositivos.Esse objeto contém as seguintes informações:
selectionRule
-
A consulta que especifica quais dispositivos cliente são membros desse grupo de dispositivos. Quando um dispositivo cliente se conecta, o dispositivo principal avalia essa regra de seleção para determinar se o dispositivo cliente é membro desse grupo de dispositivos. Se o dispositivo cliente for membro, o dispositivo principal usa a política desse grupo de dispositivos para autorizar as ações do dispositivo cliente.
Cada regra de seleção compreende pelo menos uma cláusula de regra de seleção, que é uma consulta de expressão única que pode corresponder aos dispositivos do cliente. As regras de seleção usam a mesma sintaxe de consulta da indexação de AWS IoT frotas. Para obter mais informações sobre a sintaxe da regra de seleção, consulte a sintaxe da consulta de indexação de AWS IoT frotas no Guia do AWS IoT Core desenvolvedor.
Use o
*
caractere curinga para combinar vários dispositivos clientes com uma cláusula de regra de seleção. Você pode usar esse caractere curinga no final do nome da coisa para corresponder aos dispositivos clientes cujos nomes começam com uma string especificada por você. Você também pode usar esse caractere curinga para corresponder a todos os dispositivos do cliente.nota
Para selecionar um valor que contenha um caractere de dois pontos (
:
), escape dos dois pontos com um caractere de barra invertida ().\\
Em formatos comoJSON, você deve escapar dos caracteres de barra invertida, então você insere dois caracteres de barra invertida antes do caractere de dois pontos. Por exemplo, especifiquethingName: MyTeam\\\\:ClientDevice1
para selecionar uma coisa cujo nome sejaMyTeam:ClientDevice1
.Você pode especificar o seguinte seletor:
-
thingName
— O nome da AWS IoT coisa de um dispositivo cliente.
exemplo Exemplo de regra de seleção
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes são
MyClientDevice1
ouMyClientDevice2
.thingName: MyClientDevice1 OR thingName: MyClientDevice2
exemplo Exemplo de regra de seleção (use curingas)
A regra de seleção a seguir corresponde aos dispositivos clientes cujos nomes começam com
MyClientDevice
.thingName: MyClientDevice*
exemplo Exemplo de regra de seleção (corresponda a todos os dispositivos)
A regra de seleção a seguir corresponde a todos os dispositivos clientes.
thingName: *
-
policyName
-
A política de permissões que se aplica aos dispositivos cliente nesse grupo de dispositivos. Especifique o nome de uma política que você define no
policies
objeto.
policies
-
As políticas de autorização do dispositivo cliente para dispositivos cliente que se conectam ao dispositivo principal. Cada política de autorização especifica um conjunto de ações e os recursos nos quais um dispositivo cliente pode realizar essas ações.
Esse objeto contém as seguintes informações:
policyNameKey
-
O nome dessa política de autorização. Substituir
policyNameKey
com um nome que o ajude a identificar essa política de autorização. Você usa esse nome de política para definir qual política se aplica a um grupo de dispositivos.Esse objeto contém as seguintes informações:
statementNameKey
-
O nome dessa declaração de política. Substituir
statementNameKey
com um nome que o ajude a identificar essa declaração de política.Esse objeto contém as seguintes informações:
operations
-
A lista de operações para permitir os recursos desta política.
Você pode incluir qualquer uma das seguintes operações:
-
mqtt:connect
— Concede permissão para se conectar ao dispositivo principal. Os dispositivos cliente devem ter essa permissão para se conectar a um dispositivo principal.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:clientId:
— Restrinja o acesso com base na ID do cliente que um dispositivo cliente usa para se conectar ao MQTT agente do dispositivo principal. SubstituirdeviceClientId
deviceClientId
com o ID do cliente a ser usado.
-
-
mqtt:publish
— Concede permissão para publicar MQTT mensagens em tópicos.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topic:
— Restrinja o acesso com base no MQTT tópico em que um dispositivo cliente publica uma mensagem. SubstituirmqttTopic
mqttTopic
com o tópico a ser usado.Esse recurso não oferece suporte a curingas de MQTT tópicos.
-
-
mqtt:subscribe
— Concede permissão para assinar filtros de MQTT tópicos para receber mensagens.Essa operação oferece suporte aos seguintes recursos:
-
mqtt:topicfilter:
— Restrinja o acesso com base nos MQTT tópicos em que um dispositivo cliente pode assinar mensagens. SubstituirmqttTopicFilter
mqttTopicFilter
com o filtro de tópicos a ser usado.Esse recurso oferece suporte aos curingas
+
e#
MQTT tópicos. Para obter mais informações, consulte MQTTos tópicos no Guia do AWS IoT Core desenvolvedor.O dispositivo cliente pode assinar os filtros de tópicos exatos que você permite. Por exemplo, se você permitir que o dispositivo cliente assine o
mqtt:topicfilter:client/+/status
recurso, o dispositivo cliente poderá se inscrever,client/+/status
mas nãoclient/client1/status
.
-
Você pode especificar o
*
curinga para permitir o acesso a todas as ações. -
resources
-
A lista de recursos para permitir as operações desta política. Especifique os recursos que correspondem às operações dessa política. Por exemplo, você pode especificar uma lista de recursos de MQTT tópicos (
mqtt:topic:
) em uma política que especifica amqttTopic
mqtt:publish
operação.Você pode especificar o
*
curinga para permitir o acesso a todos os recursos. Você não pode usar o*
caractere curinga para corresponder a identificadores parciais de recursos. Por exemplo, você pode especificar"resources": "*"
, mas não pode especificar"resources": "mqtt:clientId:*"
. statementDescription
-
(Opcional) Uma descrição desta declaração de política.
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política restritiva)
O exemplo de configuração a seguir especifica para permitir que dispositivos clientes cujos nomes comecem com
MyClientDevice
se conectem e publiquem ou se inscrevam em todos os tópicos.{ "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" ] } } } } }
exemplo Exemplo: atualização de mesclagem de configurações (usando uma política permissiva)
O exemplo de configuração a seguir especifica para permitir que todos os dispositivos cliente se conectem e publiquem ou se inscrevam em todos os tópicos.
{ "deviceGroups": { "formatVersion": "2021-03-05", "definitions": { "MyPermissiveDeviceGroup": { "selectionRule": "thingName: *", "policyName": "MyPermissivePolicy" } }, "policies": { "MyPermissivePolicy": { "AllowAll": { "statementDescription": "Allow client devices to perform all actions.", "operations": [ "*" ], "resources": [ "*" ] } } } } }
Arquivo de log local
Esse componente usa o mesmo arquivo de log do componente do núcleo do Greengrass.
- Linux
-
/logs/greengrass.log/greengrass/v2
- Windows
-
C:\greengrass\v2
\logs\greengrass.log
Para ver os registros desse componente
-
Execute o comando a seguir no dispositivo principal para visualizar o arquivo de log desse componente em tempo real. Substituir
ou/greengrass/v2
C:\greengrass\v2
com o caminho para a pasta AWS IoT Greengrass raiz.- Linux
-
sudo tail -f
/logs/greengrass.log/greengrass/v2
- Windows (PowerShell)
-
Get-Content
C:\greengrass\v2
\logs\greengrass.log -Tail 10 -Wait
Changelog
A tabela a seguir descreve as alterações em cada versão do componente.
Version (Versão) |
Alterações |
---|---|
2.5.1 |
|
2.5.0 |
|
2.4.5 |
|
2.4.4 |
Versão atualizada para a versão 2.12.0 do Greengrass nucleus. |
2.4.3 |
Versão atualizada para a versão 2.11.0 do Greengrass nucleus. |
2.4.2 |
|
2.4.1 |
Versão atualizada para a versão 2.10.0 do Greengrass nucleus. |
2.4.0 |
|
2.3.2 |
|
2.3.1 |
|
2.3.0 |
AtençãoEssa versão não está mais disponível. As melhorias nesta versão estão disponíveis em versões posteriores desse componente. Novos atributos
|
2.2.3 |
Versão atualizada para a versão 2.8.0 do Greengrass nucleus. |
2.2.2 |
|
2.2.1 |
Versão atualizada para a versão 2.7.0 do Greengrass nucleus. |
2.2.0 |
|
2.1.0 |
|
2.0.4 |
Versão atualizada para a versão 2.5.0 do Greengrass nucleus. |
2.0.3 |
|
2.0.2 |
Versão atualizada para a versão 2.4.0 do Greengrass nucleus. |
2.0.1 |
Versão atualizada para a versão 2.3.0 do Greengrass nucleus. |
2.0.0 |
Versão inicial. |