Contrôler l'accès avec AWS IoT FleetWise - AWS IoT FleetWise

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Contrôler l'accès avec AWS IoT FleetWise

Les sections suivantes expliquent comment contrôler l'accès à et depuis vos AWS IoT FleetWise ressources. Les informations qu'ils couvrent incluent la manière d'accorder l'accès à votre application afin que AWS l'IoT FleetWise puisse transférer les données des véhicules pendant les campagnes. Ils décrivent également comment vous pouvez accorder l' AWS IoT FleetWise accès à votre compartiment Amazon S3 (S3) ou à la base de données et à la table Amazon Timestream pour stocker des données.

La technologie permettant de gérer toutes ces formes d'accès est AWS Identity and Access Management (IAM). Pour plus d'informations sur IAM, consultez En quoi consiste IAM ?.

Accorder l' AWS IoT FleetWise accès à une destination Amazon S3

Lorsque vous utilisez une destination Amazon S3, que vous AWS IoT FleetWise transmettez les données du véhicule à votre compartiment S3 et que vous pouvez éventuellement utiliser une AWS KMS clé que vous possédez pour le chiffrement des données. Si la journalisation des erreurs est activée, elle envoie AWS IoT FleetWise également des erreurs de livraison de données à votre groupe de CloudWatch journaux et à vos flux. Vous devez disposer d'un rôle IAM lors de la création d'un flux de diffusion.

AWS IoT FleetWise utilise une politique de compartiment avec le principal de service pour la destination S3. Pour plus d'informations sur l'ajout de politiques de compartiment, consultez la section Ajouter une politique de compartiment à l'aide de la console Amazon S3 dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Utilisez la politique d'accès suivante pour permettre AWS IoT FleetWise l'accès à votre compartiment S3. Si vous n'êtes pas propriétaire du compartiment S3, ajoutez s3:PutObjectAcl à la liste des actions Amazon S3. Cela donne au propriétaire du compartiment un accès complet aux objets livrés par AWS IoT FleetWise. Pour plus d'informations sur la manière dont vous pouvez sécuriser l'accès aux objets de vos compartiments, consultez les exemples de politiques relatives aux compartiments dans le guide de l'utilisateur d'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 politique de bucket suivante s'applique à toutes les campagnes associées à un compte dans une AWS région.

{ "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 une clé KMS est attachée à votre compartiment S3, elle doit respecter les règles suivantes. Pour plus d'informations sur la gestion des clés, consultez la section Protection des données à l'aide du chiffrement côté serveur à l'aide de AWS Key Management Service clés (SSE-KMS) dans le guide de l'utilisateur d'Amazon Simple Storage Service.

{ "Version": "2012-10-17", "Effect": "Allow", "Principal": { "Service": "iotfleetwise.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "key-arn" }
Important

Lorsque vous créez un bucket, S3 crée une liste de contrôle d'accès (ACL) par défaut qui accorde au propriétaire de la ressource un contrôle total sur la ressource. Si AWS l'IoT ne FleetWise peut pas fournir de données à S3, assurez-vous de désactiver l'ACL sur le compartiment S3. Pour plus d'informations, consultez la section Désactivation des ACL pour tous les nouveaux compartiments et renforcement de la propriété des objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Autoriser AWS IoT FleetWise l'accès à une destination Amazon Timestream

Lorsque vous utilisez une destination Timestream, AWS IoT FleetWise fournit les données du véhicule dans une table Timestream. Vous devez associer les politiques au rôle IAM pour autoriser l'envoi de données AWS IoT FleetWise à Timestream.

Si vous utilisez la console pour créer une campagne, AWS l'IoT associe FleetWise automatiquement la politique requise au rôle.

Avant de commencer, vérifiez les points suivants :

Important
  • Vous devez utiliser la même AWS région lorsque vous créez des ressources Timestream pour l'IoT AWS . FleetWise Si vous changez de AWS région, il se peut que vous rencontriez des problèmes pour accéder aux ressources Timestream.

  • AWS L'IoT FleetWise est disponible dans l'est des États-Unis (Virginie du Nord) et en Europe (Francfort).

  • Pour la liste des régions prises en charge, consultez la section Points de terminaison et quotas Timestream dans le. Références générales AWS

  • Vous devez disposer d'une base de données Timestream. Pour un didacticiel, consultez la section Création d'une base de données dans le manuel Amazon Timestream Developer Guide.

  • Vous devez avoir créé une table dans la base de données Timestream spécifiée. Pour un didacticiel, consultez la section Création d'un tableau dans le manuel Amazon Timestream Developer Guide.

Vous pouvez utiliser le AWS CLI pour créer un rôle IAM avec une politique de confiance pour Timestream. Pour créer un rôle IAM, exécutez la commande suivante.

Pour créer un rôle IAM avec une politique de confiance
  • TimestreamExecutionRoleRemplacez-le par le nom du rôle que vous créez.

  • Remplacez trust-policy par le fichier JSON qui contient la politique de confiance.

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" ] } } } ] }

Créez une politique d'autorisation pour autoriser AWS l'IoT FleetWise à écrire des données dans Timestream. Pour créer une politique d'autorisations, exécutez la commande suivante.

Pour créer une politique d'autorisations
  • AWSIoTFleetwiseAccessTimestreamPermissionsPolicyRemplacez-le par le nom de la politique que vous créez.

  • Remplacez permissions-policy par le nom du fichier JSON contenant la politique d'autorisations.

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": "*" } ] }
Pour associer la politique d'autorisations à votre rôle IAM
  1. À partir de la sortie, copiez le nom de ressource Amazon (ARN) de la politique d'autorisation.

  2. Pour associer la politique d'autorisations IAM à votre rôle IAM, exécutez la commande suivante.

    • permissions-policy-arnRemplacez-le par l'ARN que vous avez copié à l'étape précédente.

    • TimestreamExecutionRoleRemplacez-le par le nom du rôle IAM que vous avez créé.

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

Pour plus d'informations, consultez la section Gestion de l'accès aux AWS ressources dans le Guide de l'utilisateur IAM.