AWS FleetWise El IoT ya no está abierto a nuevos clientes. FleetWise Los clientes actuales de AWS IoT pueden seguir utilizando el servicio. La Guía para la movilidad conectada AWS
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.
Controlar el acceso con AWS IoT FleetWise
importante
El acceso a ciertas FleetWise funciones de AWS IoT está actualmente cerrado. Para obtener más información, consulte AWS Disponibilidad regional y de funciones en el AWS IoT FleetWise.
En las siguientes secciones se explica cómo controlar el acceso a y desde sus AWS IoT FleetWise recursos. La información que cubren incluye cómo conceder acceso a tu aplicación para que el AWS IoT FleetWise pueda transferir los datos del vehículo durante las campañas. También describen cómo puedes conceder AWS IoT FleetWise acceso a tu bucket de Amazon S3 (S3) o a la base de datos y tabla de Amazon Timestream para almacenar datos, o a los mensajes de MQTT utilizados para enviar datos desde vehículos.
La tecnología para gestionar todas estas formas de acceso es la AWS Identity and Access Management (IAM). Para obtener más información acerca de IAM, consulte ¿Qué es IAM?.
Contenido
Concesión AWS IoT FleetWise permiso para enviar y recibir datos sobre un tema de MQTT
Cuando utiliza un tema de MQTT, sus vehículos envían datos mediante el agente de mensajes de AWS IoT MQTT. Debe conceder AWS IoT FleetWise permiso para suscribirse al tema de MQTT que especifique. Si también utilizas AWS IoT las reglas para tomar medidas o enviar datos a otros destinos, debes vincular políticas a una función de IAM para poder reenviar datos AWS IoT FleetWise a las reglas de IoT.
Además, tus otras aplicaciones o dispositivos pueden suscribirse al tema que especifiques para recibir los datos del vehículo prácticamente en tiempo real, y a estas aplicaciones o dispositivos se les deben conceder los permisos y el acceso necesarios.
Para obtener más información sobre el uso de MQTT y las funciones y permisos necesarios, consulta:
Antes de comenzar, compruebe lo siguiente:
importante
-
Debes usar la misma AWS región al crear recursos de campañas de vehículos para el AWS IoT FleetWise. Si cambias de AWS región, es posible que tengas problemas para acceder a los recursos.
-
AWS FleetWise El IoT está disponible en el este de EE. UU. (Virginia del Norte) y Europa (Fráncfort).
Puede usarlo AWS CLI para crear un rol de IAM con una política de confianza para la mensajería MQTT. Para crear un rol de IAM, ejecute el siguiente comando.
Creación de un rol de IAM con una política de confianza
-
IotTopicExecutionRoleSustitúyala por el nombre de la función que estás creando. -
trust-policySustitúyalo por el archivo JSON que contiene la política de confianza.
aws iam create-role --role-nameIotTopicExecutionRole--assume-role-policy-document file://trust-policy.json
Cree una política de permisos para conceder a AWS IoT FleetWise permisos para publicar mensajes en el tema de MQTT que especificó. Para crear una política de permisos, ejecute el siguiente comando.
Creación de una política de permisos
-
AWSIoTFleetwiseAccessIotTopicPermissionsPolicySustitúyala por el nombre de la política que estás creando. -
permissions-policySustitúyalo por el nombre del archivo JSON que contiene la política de permisos.
aws iam create-policy --policy-nameAWSIoTFleetwiseAccessIotTopicPermissionsPolicy--policy-document file://permissions-policy.json
Asociación de la política de permisos a su rol de IAM.
-
En el resultado, copie el Nombre de recurso de Amazon (ARN) de la política de permisos.
-
Para asociar la política de permisos de IAM a su rol de IAM, ejecute el comando siguiente.
-
permissions-policy-arnSustitúyalo por el ARN que copió en el paso anterior. -
IotTopicExecutionRoleSustitúyalo por el nombre del rol de IAM que creó.
aws iam attach-role-policy --policy-arnpermissions-policy-arn--role-nameIotTopicExecutionRole -
Para obtener más información, consulte Administración de accesos para recursos de AWS en la Guía del usuario de IAM.
Concesión AWS IoT FleetWise acceso a un destino de Amazon S3
Cuando utiliza un destino de Amazon S3, AWS IoT FleetWise envía los datos del vehículo a su bucket de S3 y, si lo desea, puede utilizar una AWS KMS clave que posea para cifrar los datos. Si el registro de errores está activado, AWS IoT FleetWise también envía los errores de entrega de datos a tu grupo de CloudWatch registros y transmisiones. Es obligatorio contar con un rol de IAM; al crear un flujo de entrega.
AWS IoT FleetWise utiliza una política de buzones con el principal de servicio para el destino de S3. Para obtener más información sobre cómo agregar o modificar políticas de bucket, consulte Agregar una política de bucket mediante la consola de Amazon S3 en la Guía del usuario de Amazon Simple Storage Service.
Utilice la siguiente política de acceso para poder acceder AWS IoT FleetWise a su bucket de S3. Si no es el propietario del bucket de S3, agregue s3:PutObjectAcl a la lista de acciones de Amazon S3. Esto otorga al propietario del bucket acceso total a los objetos entregados por él AWS IoT FleetWise. Para obtener más información sobre cómo proteger el acceso a los objetos de sus buckets, consulte los ejemplos de políticas de bucket en la Guía del usuario de Amazon Simple Storage Service.
La siguiente política de bucket se aplica a todas las campañas de una cuenta de una región de AWS .
Si tiene una clave KMS adjunta a su bucket de S3, la clave necesitará la siguiente política. Para obtener información sobre la administración de claves, consulte Proteger los datos mediante el cifrado del lado del servidor con AWS Key Management Service claves (SSE-KMS) en la Guía del usuario de Amazon Simple Storage Service.
{ "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" }
importante
Cuando crea un bucket, S3 crea unas listas de control de acceso (ACL) predeterminadas que conceden al propietario del recurso control total sobre el recurso. Si el AWS IoT no FleetWise puede entregar datos a S3, asegúrese de deshabilitar la ACL en el bucket de S3. Para obtener más información, consulte Cómo deshabilitar las ACL para todos los buckets nuevos y hacer cumplir la propiedad de los objetos en la guía del usuario de Amazon Simple Storage Service.
Concesión AWS IoT FleetWise acceso a un destino de Amazon Timestream
Cuando utilizas un destino de Timestream, AWS IoT FleetWise envía los datos del vehículo a una tabla de Timestream. Debes adjuntar las políticas a la función de IAM para poder enviar datos a AWS IoT FleetWise Timestream.
Si usas la consola para crear una campaña, AWS IoT adjunta FleetWise automáticamente la política requerida al rol.
nota
Amazon Timestream no está disponible en la región Asia-Pacífico (Bombay).
Antes de comenzar, compruebe lo siguiente:
importante
-
Debe usar la misma AWS región al crear recursos de Timestream para IoT. AWS FleetWise Si cambias de AWS región, es posible que tengas problemas para acceder a los recursos de Timestream.
-
AWS FleetWise El IoT está disponible en EE. UU. Este (Norte de Virginia), Europa (Fráncfort) y Asia Pacífico (Bombay).
-
Para ver una lista completa de las regiones admitidas, consulte Puntos de conexión y cuotas de Timestream en la Referencia general de AWS.
-
Debe contar con una base de datos de Timestream. Para ver un tutorial, consulte Creación de una base de datos en la Guía para desarrolladores de Amazon Timestream.
-
Debe tener una tabla creada en la base de datos de Timestream especificada. Para ver un tutorial, consulte Crear una tabla en la Guía para desarrolladores de Amazon Timestream.
Puede utilizarla AWS CLI para crear un rol de IAM con una política de confianza para Timestream. Para crear un rol de IAM, ejecute el siguiente comando.
Creación de un rol de IAM con una política de confianza
-
TimestreamExecutionRoleSustitúyelo por el nombre del rol que estás creando. -
trust-policySustitúyalo por el archivo .json que contiene la política de confianza.
aws iam create-role --role-nameTimestreamExecutionRole--assume-role-policy-document file://trust-policy.json
Cree una política de permisos para conceder a AWS IoT FleetWise permisos para escribir datos en Timestream. Para crear una política de permisos, ejecute el siguiente comando.
Creación de una política de permisos
-
AWSIoTFleetwiseAccessTimestreamPermissionsPolicySustitúyala por el nombre de la política que estás creando. -
permissions-policySustitúyalo por el nombre del archivo JSON que contiene la política de permisos.
aws iam create-policy --policy-nameAWSIoTFleetwiseAccessTimestreamPermissionsPolicy--policy-document file://permissions-policy.json
Asociación de la política de permisos a su rol de IAM.
-
En el resultado, copie el Nombre de recurso de Amazon (ARN) de la política de permisos.
-
Para asociar la política de permisos de IAM a su rol de IAM, ejecute el comando siguiente.
-
permissions-policy-arnSustitúyalo por el ARN que copió en el paso anterior. -
TimestreamExecutionRoleSustitúyalo por el nombre del rol de IAM que creó.
aws iam attach-role-policy --policy-arnpermissions-policy-arn--role-nameTimestreamExecutionRole -
Para obtener más información, consulte Administración de accesos para recursos de AWS en la Guía del usuario de IAM.
Concesión AWS IoT Device Management permiso para generar la carga útil de los comandos con AWS IoT FleetWise
Cuando utilice la función de comandos para iniciar la ejecución de un comando, AWS IoT Device Management obtendrá el comando y los parámetros del comando de la solicitud entrante. Luego, requiere permisos para acceder a los FleetWise recursos de AWS IoT a fin de validar la solicitud y generar la carga útil. A continuación, la carga útil se envía al vehículo a AWS IoT Device Management través de MQTT al tema de solicitud de comando al que se haya suscrito tu vehículo.
Primero debes crear un rol de IAM que otorgue AWS IoT Device Management los permisos necesarios para generar la carga útil. A continuación, proporciona el ARN de este rol a la CreateCommand API mediante el campo. roleArn A continuación se muestran algunos ejemplos de políticas.
importante
Para la función de IAM, debes usar la Región de AWS misma función en la que creaste los recursos de vehículo y mando. Si cambias Región de AWS, es posible que tengas problemas para acceder a los recursos.
El rol de IAM debe tener la siguiente política de confianza.
El siguiente ejemplo muestra cómo conceder permisos para generar la carga útil para todos los vehículos registrados como AWS IoT cosas.
nota
-
Esta política puede ser demasiado permisiva. Usa el principio del mínimo privilegio para asegurarte de conceder solo los permisos necesarios.
-
En su lugar, para denegar los permisos,
"Effect": "Deny"cámbielo"Effect": "Allow"a en la política de IAM.
En este ejemplo, sustituya:
-
regioncon la ubicación Región de AWS en la que utilizas los FleetWise recursos de AWS IoT. -
111122223333con tu Cuenta de AWS número.
El siguiente ejemplo muestra cómo conceder permisos para generar la carga útil para un vehículo específico registrado como una AWS IoT cosa.
En este ejemplo, sustituya:
-
regioncon el Región de AWS lugar en el que utilizas los FleetWise recursos de AWS IoT. -
111122223333con tu Cuenta de AWS número. -
<VEHICLE_NAME>con el nombre de IoT para tu vehículo.
El siguiente ejemplo muestra cómo conceder permisos para generar la carga útil del actuador para un vehículo específico.
En este ejemplo, sustituya:
-
regioncon el Región de AWS lugar en el que utilizas los FleetWise recursos de AWS IoT. -
111122223333con tu Cuenta de AWS número. -
<VEHICLE_NAME>con el nombre de IoT para tu vehículo. -
<SIGNAL_FQN>con el nombre de la señal, por ejemplo<Vehicle.actuator2>.
El siguiente ejemplo muestra cómo conceder permisos para generar la carga útil para una plantilla específica de vehículo y estado.
En este ejemplo, sustituya:
-
regiones el Región de AWS lugar en el que utilizas los FleetWise recursos de AWS IoT. -
111122223333es tu Cuenta de AWS número. -
<VEHICLE_NAME>es el nombre de IoT para tu vehículo. -
<STATE_TEMPLATE_ID>con el identificador de tu plantilla estatal.
Si has habilitado las claves de KMS administradas por el cliente para AWS IoT FleetWise, en el siguiente ejemplo se muestra cómo conceder permisos para generar la carga útil.
En este ejemplo, sustituya:
-
regioncon el Región de AWS lugar en el que utilizas los FleetWise recursos de AWS IoT. -
111122223333con tu Cuenta de AWS número. -
<KMS_KEY_ID>con el ID de su clave de KMS.