View a markdown version of this page

General/Custom Exigences en matière d'autorisation - Intégrations gérées pour AWS IoT Device Management

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.

General/Custom Exigences en matière d'autorisation

L'autorisation générale permet d'accéder aux appareils, ce qui vous permet de contrôler plusieurs appareils à l'aide d'informations d'identification sans avoir besoin d'informations d'identification utilisateur individuelles. Contrairement à OAuth 2.0, qui fournit une autorisation au niveau de l'utilisateur, l'autorisation générale utilise des clés pré-partagées, des jetons ou d'autres mécanismes d'autorisation stockés dans. AWS Secrets Manager

Avec l'autorisation générale, votre connecteur C2C peut prendre en charge des mécanismes d'autorisation allant au-delà d'OAuth 2.0, notamment les clés API, les jetons porteurs et les schémas d'autorisation personnalisés fournis par des plateformes tierces. Cette approche est particulièrement utile pour les scénarios dans lesquels les appareils sont gérés au niveau d'un programme ou d'une organisation plutôt que par des utilisateurs finaux individuels.

Comment les connecteurs C2C utilisent les secrets pour l'autorisation générale

AWS Secrets Manager est un service de stockage secret qui protège les informations d'identification sensibles telles que les clés API et les jetons. Les secrets sont chiffrés à l'aide de AWS Key Management Service clés. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Secrets Manager.

Pour l'autorisation générale, vous stockez les informations d'autorisation dans Secrets Manager et accordez à votre connecteur C2C l'autorisation d'accéder à ces secrets. Lorsque les intégrations gérées invoquent votre connecteur, celui-ci fournit l'ARN et l'ID de version du Secrets Manager. Votre connecteur récupère la valeur secrète et l'utilise pour s'authentifier auprès de la plateforme tierce.

Cette approche garantit que les intégrations gérées ne traitent jamais directement vos informations d'identification à long terme. Votre connecteur conserve le contrôle total de la gestion des informations d'identification et de la génération de jetons, ce qui rend la solution extensible à tout mécanisme d'autorisation pris en charge par votre plateforme tierce.

Important

Nous vous recommandons de ne pas enregistrer d'informations d'identification ou de jetons sensibles dans aucun journal. Toutefois, s'ils sont stockés dans des journaux, nous vous recommandons d'utiliser CloudWatch les politiques de protection des données des journaux pour masquer les jetons présents dans les journaux. Pour plus d’informations, consultez Aider à protéger les données sensibles des journaux grâce au masquage.

Comment créer un secret pour l'autorisation générale

Pour créer un secret pour l'autorisation générale, suivez les étapes décrites dans la section Créer un AWS Secrets Manager secret dans le guide de AWS Secrets Manager l'utilisateur.

Vous devez créer votre secret à l'aide d'une AWS KMS clé gérée par le client pour que votre connecteur C2C puisse lire la valeur du secret. Pour plus d'informations, consultez la section Autorisations relatives à la AWS KMS clé dans le guide de AWS Secrets Manager l'utilisateur.

Stockez vos informations d'autorisation dans le secret à l'aide d'une structure JSON. Le format exact dépend des exigences d'autorisation de votre plateforme tierce. Parmi les exemples courants, citons :

  • Clés d'API : {"apiKey": "your-api-key-value"}

  • Jetons au porteur : {"token": "your-bearer-token"}

  • Nom d'utilisateur et mot de passe : {"username": "your-username", "password": "your-password"}

  • Machine-to-machine Informations d'identification OAuth : {"client_id": "your-client-id", "client_secret": "your-client-secret", "audience": "your-audience"}

Vous devez également configurer les politiques IAM décrites dans la section suivante pour autoriser votre connecteur C2C à accéder à la récupération du secret.

Autoriser l'accès au connecteur C2C pour récupérer le secret

Pour permettre aux intégrations gérées de récupérer la valeur secrète depuis Secrets Manager, incluez les autorisations suivantes dans la politique de ressources pour le secret lorsque vous le créez :

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "c2c-connector-account-id" }, "Action": "secretsmanager:GetSecretValue", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:region:account-id:account-association/account-association-id" } } } ] }

Cette politique autorise les intégrations gérées à récupérer la valeur secrète pour le compte de votre connecteur C2C. La clé de condition permet d'éviter le problème de confusion des adjoints en garantissant que seules les demandes provenant de votre association de compte spécifique peuvent accéder au secret.