Ejemplos de políticas de certificado - AWS IoT Core

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de políticas de certificado

Para dispositivos registrados en AWS IoT Core registro, la siguiente política otorga permiso para conectarse a AWS IoT Core con un ID de cliente que coincida con el nombre de una cosa y para publicar en un tema cuyo nombre sea igual al certificateId del certificado que el dispositivo utilizó para autenticarse:

{ "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 los dispositivos no registrados en el AWS IoT Core en el registro, la siguiente política concede permiso para conectarse a AWS IoT Core con el cliente IDsclient1,client2, client3 y para publicar en un tema cuyo nombre sea igual al certificateId del certificado que el dispositivo utilizó para autenticarse:

{ "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 los dispositivos registrados en AWS IoT Core registro, la siguiente política otorga permiso para conectarse a AWS IoT Core con un ID de cliente que coincida con el nombre de la cosa y para publicar en un tema cuyo nombre sea igual al CommonName campo del asunto del certificado que el dispositivo utilizó para autenticarse:

{ "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

En este ejemplo, el nombre común del sujeto del certificado se utiliza como identificador de tema, partiendo del supuesto de que el nombre común del sujeto es único para cada certificado registrado. Si los certificados se comparten entre varios dispositivos, el nombre común del asunto es el mismo para todos los dispositivos que comparten este certificado, lo que permite publicar privilegios en el mismo tema desde varios dispositivos (no se recomienda).

Para dispositivos que no estén registrados AWS IoT Core registro, la siguiente política otorga permiso para conectarse a AWS IoT Core con el cliente IDsclient1,client2, client3 y para publicar en un tema cuyo nombre sea igual al CommonName campo del asunto del certificado que el dispositivo utilizó para autenticarse:

{ "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

En este ejemplo, el nombre común del sujeto del certificado se utiliza como identificador de tema, partiendo del supuesto de que el nombre común del sujeto es único para cada certificado registrado. Si los certificados se comparten entre varios dispositivos, el nombre común del asunto es el mismo para todos los dispositivos que comparten este certificado, lo que permite publicar privilegios en el mismo tema desde varios dispositivos (no se recomienda).

Para los dispositivos registrados en el AWS IoT Core en el registro, la siguiente política concede permiso para conectarse a AWS IoT Core con un ID de cliente que coincida con el nombre de la cosa y para publicar en un tema cuyo nombre lleve el prefijo admin/ cuando el certificado utilizado para autenticar el dispositivo tenga el Subject.CommonName.2 campo establecido en: 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 no registrados en AWS IoT Core registro, la siguiente política otorga permiso para conectarse a AWS IoT Core con el cliente IDs client1client2, client3 y para publicar en un tema cuyo nombre lleve el prefijo admin/ cuando el certificado utilizado para autenticar el dispositivo tenga el Subject.CommonName.2 campo configurado en: 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 los dispositivos registrados en AWS IoT Core En el registro, la siguiente política permite que un dispositivo utilice su nombre para publicar sobre un tema específico, admin/ seguido de ThingName cuando el certificado utilizado para autenticar el dispositivo tiene alguno de sus Subject.CommonName campos configurado en: 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" } } } ] }

En el caso de los dispositivos que no estén registrados AWS IoT Core registro, la siguiente política otorga permiso para conectarse a AWS IoT Core con el cliente IDs client1client2, client3 y para publicar en el tema admin cuando el certificado utilizado para autenticar el dispositivo tenga alguno de sus Subject.CommonName campos configurado en: 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" } } } ] }