Cette page décrit l'API Consent Management et comment l'utiliser pour gérer les autorisations et la confidentialité des utilisateurs.
L'API Consent Management est un composant de votre architecture d'autorisations et de confidentialité. Elle offre une gestion évolutive et sécurisée des autorisations et de la confidentialité des données de vos utilisateurs. L'API Consent Management stocke les informations d'autorisation que vous recevez des utilisateurs, effectue le suivi des données autorisées pour chaque cas d'utilisation et permet à votre application de n'utiliser que les données telles que définies par les utilisateurs.
Flux d'informations sur l'API Consent Management
Le flux d'informations sur les autorisations et la confidentialité dans l'API Consent Management se présente comme suit :
- Votre application présente des options de confidentialité à un utilisateur, puis crée ou modifie un enregistrement d'autorisation dans l'API Consent Management pour représenter la décision de cet utilisateur.
- Lorsque votre application écrit des données dans ses différents datastores, elle enregistre l'emplacement et les caractéristiques de ces données dans votre instance de l'API Consent Management.
- Lorsqu'une application doit déterminer si des données sont autorisées pour un cas d'utilisation particulier, elle envoie à l'API Consent Management les données demandées ainsi que l'utilisation proposée.
- L'API Consent Management compare les données demandées et l'utilisation proposée aux autorisations stockées, et renvoie une réponse positive s'il existe une autorisation valide. Une réponse négative est renvoyée s'il n'existe pas d'autorisation valide.
Le schéma suivant illustre le flux d'informations de l'API Consent Management :
Pour en savoir plus sur l'organisation des données d'autorisation au sein de l'API, consultez la page Modèle de données de l'API Consent Management.
Point de décision des règles
L'API Consent Management sert de point de décision dans le cadre de votre architecture des autorisations et de la confidentialité comme suit :
- Elle stocke les règles d'autorisation accordées par les utilisateurs de vos applications.
- Elle accepte les requêtes d'accès aux données effectuées par des applications clientes autorisées.
- Elle évalue les requêtes d'accès par rapport aux règles d'autorisation stockées.
- Elle permet de déterminer les accès pour appliquer des règles d'autorisation aux applications clientes
Application des règles
L'API Consent Management permet d'appliquer des règles au sein de votre architecture des autorisations et de la confidentialité comme suit :
- Elle traite les requêtes de détermination de l'accès effectuées par les applications ou les points d'application des règles.
- Elle détermine si une ressource est accessible à des fins spécifiques.
- Elle détermine toutes les ressources accessibles à des fins spécifiques.
- Elle relie les ressources aux attributs et aux règles d'autorisation de sorte que les points d'application n'aient qu'à spécifier des attributs de requête et un nom de ressource facultatif.
- Elle renvoie les décisions d'accès en utilisant l'état d'autorisation actuel, même lorsque des autorisations sont ajoutées, mises à jour ou révoquées.
Dans votre architecture des autorisations et de la confidentialité, vous pouvez mettre en œuvre plusieurs modèles d'application de règles à l'aide de l'API Consent Management. La liste suivante présente des exemples de schémas d'application des règles :
- Application de la part d'applications de confiance. Les applications qui ont validé l'identité d'un utilisateur et ses qualifications peuvent transférer les propriétés pertinentes vers l'API Consent Management. Cela permet aux utilisateurs d'envoyer ou de mettre à jour des autorisations, et d'autoriser les applications ayant des qualifications validées d'accéder uniquement aux informations autorisées pour le cas d'utilisation.
- Application de la part du middleware client. Les applications qui nécessitent la vérification de l'identité d'un utilisateur et ses qualifications peuvent exploiter l'API Consent Management pour déterminer si un accès est autorisé pour une requête donnée.
- Application de la part des serveurs de ressources Les serveurs de ressources peuvent utiliser l'identité d'un utilisateur pour récupérer des qualifications à partir d'autres applications, si nécessaire, puis appeler l'API Consent Management pour déterminer l'accès avant d'envoyer des requêtes.
Représentation des règles
Les règles d'autorisation au sein de l'API Consent Management sont composées d'un ensemble de valeurs d'attributs de ressources qui définissent les données auxquelles cette règle s'applique et d'une règle d'autorisation qui définit les conditions dans lesquelles cette règle est valide.
Lorsque plusieurs valeurs sont spécifiées pour un seul attribut de ressource, la règle s'applique aux données correspondant à l'une de ces valeurs. Lorsque plusieurs attributs de ressources apparaissent dans une règle, chacun de ces attributs de ressources doit correspondre pour que la règle s'applique.
Les règles d'autorisation utilisent une variante limitée du CEL (Common Expression Language) pour décrire de manière flexible les relations entre les valeurs d'attributs de requête qui permettent d'accéder aux données concernées. Pour plus d'informations sur le langage CEL, consultez la page Common Expression Language.
Les ressources d'autorisation peuvent contenir plusieurs règles d'autorisation pouvant représenter une réponse positive aux questions d'autorisation présentées à un utilisateur. Elles peuvent également servir à représenter des formes d'autorisation complètes ou des décisions organisationnelles et administratives.
Le schéma suivant montre comment les règles sont représentées dans l'API Consent Management :
Ce schéma montre comment créer des règles d'autorisations simples à l'aide d'attributs de ressource et de requête. Vous pouvez créer des règles plus complexes en combinant deux règles ou plus.
Enregistrements d'autorisation
L'API Consent Management stocke les types d'enregistrements suivants :
- Artefacts d'autorisations : stockez les documents qui ont été acceptés ou signés par l'utilisateur. Ces enregistrements peuvent contenir des PDF ou des images des écrans présentés à l'utilisateur lors du processus d'autorisation. Ils peuvent également être utilisés pour stocker des signatures, des horodatages et d'autres informations importantes qui documentent le processus d'autorisation.
- Ressources relatives à l'autorisation : elles décrivent l'autorisation accordée par l'utilisateur en fonction des attributs d'autorisation configurés. L'API Consent Management évalue ces enregistrements pour déterminer si les données sont autorisées pour un cas d'utilisation. Les ressources d'autorisation contiennent l'autorisation accordée et l'état de l'autorisation. Ces enregistrements peuvent également être associés aux artefacts d'autorisation correspondants.
Pour en savoir plus sur les enregistrements d'autorisation, consultez la section Créer et mettre à jour les autorisations des utilisateurs.
Gestion des données
L'API Consent Management peut gérer les données stockées dans vos propres schémas sur Google Cloud, sur site ou avec un autre fournisseur cloud, à condition que les données puissent être décrites à l'aide d'une chaîne. L'API Consent Management utilise des mappages de données utilisateur pour suivre les données gérées sans que celles-ci n'aient besoin d'être stockées dans le service lui-même.
Chaque mappage de données utilisateur contient un ID de données, un ID utilisateur et un ensemble de valeurs d'attribut de ressource. L'ID des données est une chaîne qui identifie de manière unique les données représentées par le mappage des données utilisateur. L'ID utilisateur est un identifiant opaque qui associe ces données à un utilisateur. Les valeurs d'attribut de ressource décrivent les caractéristiques des données à l'aide d'un vocabulaire défini par les ressources de définition d'attribut.
Voici des emplacements de stockage courants pour les données gérées par les autorisations :
- Magasins FHIR
- BigQuery
- Cloud Storage
Pour en savoir plus sur la création de mappages d'informations sur l'utilisateur, consultez la page Enregistrer des informations sur l'utilisateur.
Détermination des accès
Les requêtes de décision d'accès sont effectuées par des applications qui doivent savoir si l'utilisation proposée est autorisée à accéder à un élément de données spécifique, à tous les éléments de données associés à un utilisateur ou à des datastores entiers. L'API Consent Management permet de déterminer si une requête est autorisée, en déterminant si une autorisation valide accorde l'autorisation pour les données spécifiées et l'utilisation proposée. L'API Consent Management effectue cette évaluation comme suit :
- L'API Consent Management reçoit une requête de détermination de l'accès avec des valeurs d'attribut de requête pour l'utilisation proposée et une ressource cible ou une plage de ressources cibles décrites par les ID utilisateur ou les valeurs d'attribut de ressource.
- Si une plage de ressources cibles est spécifiée, l'API Consent Management détermine les ressources correspondant à la plage. Par exemple, si vous définissez une plage de valeurs d'attributs de ressource, toutes les ressources de cette plage sont utilisées dans la requête de décision d'accès.
- Les autorisations associées à toutes les ressources correspondantes sont identifiées.
- L'utilisation proposée est évaluée en fonction des règles d'autorisation des autorisations appropriées.
- Si l'une des règles d'autorisation autorise cette combinaison de valeurs d'attribut de requête, une décision d'accès positive est renvoyée pour chaque ressource évaluée.
Par défaut, la décision d'accès n'est effectuée que sur les autorisation actives. Les autorisations à l'état de brouillon peuvent être incluses dans la décision d'accès en les spécifiant directement dans la requête de décision d'accès. Les autorisations qui sont expirées, révoquées ou refusées sont ignorées dans toutes les requêtes de décision d'accès.
Pour plus d'informations sur la définition des requêtes de décision d'accès, consultez la page Effectuer des décisions d'accès.