Exemplos de política de certificado - AWS IoT Core

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

Exemplos de política de certificado

Para dispositivos registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com um ID de cliente que corresponda ao nome de um item e publicar em um tópico cujo nome seja igual ao certificateId do certificado que o dispositivo usou para se autenticar:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }

Para dispositivos não registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com o cliente IDs client1client2,,, client3 e publicar em um tópico cujo nome é igual ao certificateId do certificado que o dispositivo usou para se autenticar:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:CertificateId}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }

Para dispositivos registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com um ID de cliente que corresponda ao nome do item e publicar em um tópico cujo nome seja igual ao CommonName campo do assunto do certificado que o dispositivo usou para se autenticar:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] } ] }
nota

Neste exemplo, o nome comum do assunto do certificado é usado como o identificador do tópico, supondo-se que o nome comum do assunto seja exclusivo para cada certificado registrado. Se os certificados forem compartilhados entre vários dispositivos, o nome comum do assunto será o mesmo para todos os dispositivos que compartilham esse certificado, permitindo assim privilégios de publicação para o mesmo tópico em vários dispositivos (não recomendado).

Para dispositivos não registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com o cliente IDs client1client2,,, client3 e publicar em um tópico cujo nome é igual ao CommonName campo do assunto do certificado que o dispositivo usou para se autenticar:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/${iot:Certificate.Subject.CommonName}"] }, { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] } ] }
nota

Neste exemplo, o nome comum do assunto do certificado é usado como o identificador do tópico, supondo-se que o nome comum do assunto seja exclusivo para cada certificado registrado. Se os certificados forem compartilhados entre vários dispositivos, o nome comum do assunto será o mesmo para todos os dispositivos que compartilham esse certificado, permitindo assim privilégios de publicação para o mesmo tópico em vários dispositivos (não recomendado).

Para dispositivos registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com um ID de cliente que corresponda ao nome do item e publicar em um tópico cujo nome é prefixado admin/ quando o certificado usado para autenticar o dispositivo tem seu Subject.CommonName.2 campo definido como: Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

Para dispositivos não registrados no AWS IoT Core registro, a política a seguir concede permissão para se conectar AWS IoT Core com o cliente IDs client1 client3 e publicar em um tópico cujo nome é prefixado com admin/ quando o certificado usado para autenticar o dispositivo tem seu Subject.CommonName.2 campo definido como: client2 Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/*"], "Condition": { "StringEquals": { "iot:Certificate.Subject.CommonName.2": "Administrator" } } } ] }

Para dispositivos registrados no AWS IoT Core registro, a política a seguir permite que um dispositivo use seu nome para publicar em um tópico específico, admin/ seguido pelo ThingName quando o certificado usado para autenticar o dispositivo tem qualquer um de seus Subject.CommonName campos definido como: Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:client/${iot:Connection.Thing.ThingName}"] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin/${iot:Connection.Thing.ThingName}"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }

Para dispositivos não registrados no AWS IoT Core registro, a política a seguir concede permissão para AWS IoT Core se conectar ao cliente IDs client1 client3 e publicar no tópico admin quando o certificado usado para autenticar o dispositivo tem qualquer um de seus Subject.CommonName campos definido como: client2 Administrator

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-east-1:123456789012:client/client1", "arn:aws:iot:us-east-1:123456789012:client/client2", "arn:aws:iot:us-east-1:123456789012:client/client3" ] }, { "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": ["arn:aws:iot:us-east-1:123456789012:topic/admin"], "Condition": { "ForAnyValue:StringEquals": { "iot:Certificate.Subject.CommonName.List": "Administrator" } } } ] }