Controlar el acceso con AWS IoT FleetWise - AWS IoT FleetWise

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

En las siguientes secciones, se explica cómo controlar el acceso a los AWS IoT FleetWise recursos y desde ellos. La información que cubren incluye cómo conceder acceso a tu aplicación para que el AWS IoT FleetWise pueda transferir los datos de los vehículos durante las campañas. También describen cómo puede conceder AWS IoT FleetWise acceso a su bucket de Amazon S3 (S3) o a la base de datos y tabla de Amazon Timestream para almacenar datos.

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

Conceder AWS IoT FleetWise acceso a un destino de Amazon S3

Cuando utiliza un destino de Amazon S3, AWS IoT FleetWise entrega los datos del vehículo a su depósito de S3 y, si lo desea, puede utilizar una AWS KMS clave de su propiedad para el cifrado de datos. Si el registro de errores está activado, AWS IoT FleetWise también envía los errores de entrega de datos a su grupo de CloudWatch registros y a sus transmisiones. Es obligatorio contar con un rol de IAM; al crear un flujo de entrega.

AWS IoT FleetWise usa una política de bucket con el principal de servicio para el destino 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.

Use la siguiente política de acceso para permitir el acceso 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 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringEquals": { "aws:SourceArn": "campaign-arn", "aws:SourceAccount": "account-id" } } } ] }

La siguiente política de bucket se aplica a todas las campañas de una cuenta de una AWS región.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Principal": { "Service": [ "iotfleetwise.amazonaws.com" ] }, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::bucket-name/*", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:iotfleetwise:region:account-id:campaign/*", "aws:SourceAccount": "account-id" } } } ] }

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 Protección de datos mediante cifrado con AWS Key Management Service claves del lado del servidor (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 Desactivación de las ACL para todos los buckets nuevos y aplicación de la propiedad de objetos en la Guía del usuario de Amazon Simple Storage Service.

Conceder AWS IoT FleetWise acceso a un destino de Amazon Timestream

Cuando utilizas un destino de Timestream, AWS IoT FleetWise entrega los datos del vehículo a una tabla de Timestream. Debe adjuntar las políticas a la función de IAM para poder enviar datos a AWS IoT FleetWise Timestream.

Si utilizas la consola para crear una campaña, AWS IoT adjunta FleetWise automáticamente la política requerida al rol.

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 (Virginia del Norte) y Europa (Fráncfort).

  • 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 Crear 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úyalo por el nombre del rol que está creando.

  • Reemplace trust-policy por el archivo JSON que contenga la política de confianza.

aws iam create-role --role-name TimestreamExecutionRole --assume-role-policy-document file://trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "timestreamTrustPolicy", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceArn": [ "arn:aws:iotfleetwise:region:account-id:campaign/campaign-name" ], "aws:SourceAccount": [ "account-id" ] } } } ] }

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.

  • Reemplace permissions-policy por el nombre del archivo JSON que contenga la política de permisos.

aws iam create-policy --policy-name AWSIoTFleetwiseAccessTimestreamPermissionsPolicy --policy-document file://permissions-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "timestreamIngestion", "Effect": "Allow", "Action": [ "timestream:WriteRecords", "timestream:Select", "timestream:DescribeTable" ], "Resource": "table-arn" }, { "Sid": "timestreamDescribeEndpoint", "Effect": "Allow", "Action": [ "timestream:DescribeEndpoints" ], "Resource": "*" } ] }
Asociación de la política de permisos a su rol de IAM.
  1. En el resultado, copie el Nombre de recurso de Amazon (ARN) de la política de permisos.

  2. 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 creaste.

    aws iam attach-role-policy --policy-arn permissions-policy-arn --role-name TimestreamExecutionRole

Para obtener más información, consulte Administración de accesos para recursos de AWS en la Guía del usuario de IAM.