Preparación de la seguridad - 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.

Preparación de la seguridad

En esta sección se analizan los principales requisitos de seguridad para AWS IoT Device Management Software Package Catalog.

Autenticación basada en recursos

El Catálogo de paquetes de software utiliza la autorización basada en recursos para proporcionar una mayor seguridad al actualizar el software de su flota. Esto significa que debe crear una política AWS Identity and Access Management (IAM) que conceda derechos de ejecucióncreate, read updatedelete, y list acciones para los paquetes de software y las versiones de los paquetes, y hacer referencia a los paquetes de software y las versiones de paquetes específicos que desee implementar en la Resources sección. También necesita estos derechos para poder actualizar la sombra con nombre reservado. Para hacer referencia a los paquetes de software y las versiones de los paquetes, se incluye un nombre de recurso de Amazon (ARN) para cada entidad.

nota

Si pretende que la política conceda derechos para las API llamadas a versiones de paquetes (por ejemplo CreatePackageVersionUpdatePackageVersion,, DeletePackageVersion), debe incluir tanto el paquete de software como la versión del paquete ARNs en la política. Si pretende que la política conceda derechos para las API solicitudes de paquetes de software (por ejemplo CreatePackageUpdatePackage,, y DeletePackage), debe incluir únicamente el paquete de software ARN en la política.

Estructure el paquete de software y la versión del paquete de ARNs la siguiente manera:

  • Paquete de software: arn:aws:iot:<region>:<accountID>:package/<packageName>/package

  • Versión de paquete: arn:aws:iot:<region>:<accountID>:package/<packageName>/version/<versionName>

nota

Existen otros derechos relacionados que podría incluir en esta política. Por ejemplo, puede incluir una ARN para jobthinggroup, yjobtemplate. Para obtener más información y una lista completa de las opciones de políticas, consulte Proteger usuarios y dispositivos con AWS IoT Jobs.

Por ejemplo, si tiene un paquete de software y una versión de paquete con el siguiente nombre:

  • AWS IoT cosa: myThing

  • Nombre del paquete: samplePackage

  • Versión: 1.0.0

La política podría parecerse al siguiente ejemplo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:createPackage", "iot:createPackageVersion", "iot:updatePackage", "iot:updatePackageVersion" ], "Resource": [ "arn:aws:iot:us-east-1:111122223333:package/samplePackage", "arn:aws:iot:us-east-1:111122223333:package/samplePackage/version/1.0.0" ] }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": "arn:aws:iot:us-east-1:111122223333:thing/myThing/$package" } ] }

AWS IoT Job: derechos para implementar versiones de paquetes

Por motivos de seguridad, es importante que conceda derechos para desplegar paquetes y versiones de paquetes, y que nombre los paquetes y versiones de paquetes específicos que están autorizados a desplegar. Para ello, debe crear un IAM rol y una política que concedan permiso para implementar trabajos con versiones de paquetes. La política debe especificar las versiones del paquete de destino como recurso.

IAMpolítica

La IAM política otorga el derecho a crear un trabajo que incluya el paquete y la versión que se indican en la Resource sección.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot:CreateJob", "iot:CreateJobTemplate" ], "Resource":[ "arn:aws:iot:*:111122223333:job/<jobId>", "arn:aws:iot:*:111122223333:thing/<thingName>/$package", "arn:aws:iot:*:111122223333:thinggroup/<thingGroupName>", "arn:aws:iot:*:111122223333:jobtemplate/<jobTemplateName>", "arn:aws:iot:*:111122223333:package/<packageName>/version/<versionName>" ] } ] }
nota

Si desea implementar un trabajo que desinstale un paquete de software y una versión del paquete, debe autorizar uno en el que ARN se encuentre la versión del paquete$null, como en el siguiente ejemplo:

arn:aws:iot:<regionCode>:111122223333:package/<packageName>/version/$null

AWS IoT Job: derechos para actualizar la sombra reservada con nombre

Para permitir que los trabajos actualicen la sombra del nombre reservado de la cosa cuando el trabajo se complete correctamente, debe crear un IAM rol y una política. Hay dos formas de realizar esta operación en la consola de AWS IoT . La primera es al crear un paquete de software en la consola. Si ve el cuadro de diálogo Habilitar las dependencias para la administración de paquetes, puede elegir usar un rol existente o crear uno nuevo. O bien, en la consola de AWS IoT , seleccione Configuración, seleccione Administrar la indexación y, a continuación, Administrar la indexación de los paquetes y las versiones de los dispositivos.

nota

Si decides que el servicio AWS IoT Job actualice el nombre reservado Shadow cuando un trabajo se complete correctamente, la API llamada se tendrá en cuenta para tus operaciones de registro y Device Shadow, y puede tener un coste. Para obtener más información, consulte Precios de AWS IoT Core.

Cuando se utiliza la opción Crear rol, el nombre del rol generado comienza por aws-iot-role-update-shadows y contiene las siguientes políticas:

Configuración un rol

Permisos

La política de permisos otorga los derechos para consultar y actualizar la sombra de la cosa. El $package parámetro del recurso se ARN dirige a la sombra reservada con nombre.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:DescribeEndpoint", "Resource": "" }, { "Effect": "Allow", "Action": [ "iot:GetThingShadow", "iot:UpdateThingShadow" ], "Resource": [ "arn:aws:iot:<regionCode>:111122223333:thing/<thingName>/$package" ] } ] }
Relación de confianza

Además de la política de permisos, el rol requiere una relación de confianza con AWS IoT Core para que la entidad pueda asumir el rol y actualizar la sombra nominal reservada.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Configurar una política de usuario

iam: permiso PassRole

Por último, debe tener el permiso para transferir el rol al AWS IoT Core momento de llamar a la UpdatePackageConfigurationAPIoperación.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole", "iot:UpdatePackageConfiguration" ], "Resource": "arn:aws:iam::111122223333:role/<roleName>" } ] }

AWS IoT Permisos de tareas para descargar desde Amazon S3

El documento de trabajo se guarda en Amazon S3. Se remite a este archivo cuando realiza envíos a través de Trabajos AWS IoT . Debe proporcionar a AWS IoT Jobs los derechos para descargar el archivo (s3:GetObject). También debe establecer una relación de confianza entre Amazon S3 y Trabajos AWS IoT . Para obtener instrucciones sobre cómo crear estas políticas, consulte Presigned URLs in Managing Jobs.