\nLa plateforme d'Arkhn s'appuie sur le protocole OIDC (Open ID Connect) pour sécuriser l'ensemble des identités et des autorisations sur une seule expérience de connexion en utilisant Keycloak comme base de sa plateforme.\n\nKeycloak est utilisé pour gérer toutes les informations d'identification en utilisant une approche RBAC avec : \n- des utilisateurs ;\n- des rôles (utilisateur de données, gestionnaire de données, ingénieur de données) ;\n- les méthodes d'authentification (fédération LDAP, authentification par mot de passe et MFA).\n\nDans cette documentation, nous nous concentrerons sur les opérations-clés de la vie d’un projet, telles que : \n1. Configuration de la fédération et synchronisation de l'authentification en utilisant un service externe LDAP ou Active Directory ;\n2. Attribution de rôles aux utilisateurs\n3. Création manuelle des utilisateurs ;\n4. Configuration ou réinitialisation de mot de passe ;\n5. Configuration ou réinitialisation des méthodes d'authentification multifactorielle.\n\n## Fédération LDAP/AD\nVous devez d'abord vous connecter à Keycloak en utilisant l'URL de la plateforme suivante : https://\<hospital fqdn\>/keycloak/: \n
\n\nAllez dans la console d'administration et utilisez les informations d'identification de la plateforme pour l'utilisateur keycloak-admin généré par le coffre-fort ou accessible dans les secrets Kubernetes :\n\n
\n\nUne fois connecté, allez dans le realm Arkhn-broker : \n
\n\nPuis allez dans l'onglet User federation : \n
\n\nLà, vous pouvez entrer les informations d'identification qui vous ont été fournies par l'équipe de l'infrastructure de l'hôpital pour configurer l'authentification LDAP, la sélection et l'extraction des champs : \n
\n\n::: callout {icon="⚠️" color="gray_bg"}\nVeuillez noter qu'au moment de la rédaction du présent document, la prise en charge de LDAP n'est pas encore terminée.\n:::\n\nLorsque la configuration est correcte et validée, vous pouvez lancer l'action "Synchroniser tous les utilisateurs" pour importer tous les utilisateurs : \n
\n\nSi vous découvrez à ce moment-là que les champs mappés, par exemple le Prénom, le Nom, ne sont pas correctement gérés, vous pouvez aller dans l'onglet Mappers pour changer le champ LDAP/AD qui est mappé avec ces attributs : \n
\n
\n\nLa resynchronisation de tous vos utilisateurs propagera les changements jusqu'à l'administrateur de l'Arkhn, les DCR, etc.\n::: callout {icon="⚠️" color="gray_bg"}\nPar défaut, tous les utilisateurs sont sans privilèges, ils pourront se connecter à la plateforme mais recevront un appel à l'action pour contacter l'administrateur de la plateforme afin d'obtenir d'autres informations d'identification.\n:::\n
\nDonnons maintenant des droits à ces utilisateurs.\n## Attribution de rôles aux utilisateurs\n\nPour attribuer à un utilisateur l'un des rôles-clés définis dans la plateforme Arkhn (Utilisateur de données, Gestionnaire de données, Administrateur de données), tout se fait via Arkhn Admin. Connectez-vous à https://\<hospital fqdn\>/ et allez dans l'onglet Utilisateurs de données : \n
\n\nSélectionnez l'un des utilisateurs nouvellement créés qui devrait figurer dans la liste :\n
\n\nSélectionnez simplement l'un des rôles à gros grain disponibles : \n- Les utilisateurs de données sont des rôles en lecture seule : ils peuvent accéder aux données, aux salles blanches, aux ensembles de données, aux cohortes, etc. mais uniquement en lecture, aucune modification n’est autorisée pour ce type d'utilisateurs (sur l'accès, les données elles-mêmes ou tout autre objet, même pour des éléments spécifiques à grain fin) ;\n- Les gestionnaires de données sont des rôles de lecture/écriture : ils ont le contrôle de leurs propres objets et de ceux pour lesquels ils sont autorisés à lire/écrire (DCRs, Datasets etc...). Ils peuvent bien sûr se voir accorder sur des objets spécifiques des droits de lecture seule, ce qui limite leur contrôle ;\n- Les administrateurs de données sont les administrateurs généraux de la plateforme : ils peuvent lire/écrire tous les objets sans y avoir explicitement accès, qu'il s'agisse de cohortes, d'ensembles de données ou de salles blanches.\n## Créer un utilisateur manuellement\nLorsqu’on utilise la plateforme, il arrive que l'on n'ait pas accès à un fournisseur d'authentification externe tel que LDAP/AD. Dans ce cas, Keycloak agit comme source principale d'identité, et même lorsqu'il est utilisé avec LDAP/AD, on peut ajouter de nouveaux utilisateurs tant que leur adresse email est distincte de celle des utilisateurs déjà provisionnés. \n\nPour ce faire, vous devez d'abord vous connecter à Keycloak en utilisant l'URL suivante : https://\<hospital fqdn\>/keycloak/: \n
\n\nAllez dans la console d'administration et utilisez les informations d'identification de la plateforme pour l'utilisateur keycloak-admin généré par le coffre-fort ou accessible dans les secrets kubernetes :\n\n
\n\nUne fois connecté, allez dans le Realm Arkhn-broker : \n
\n\nAllez dans l'onglet Utilisateurs. Lorsqu'il est utilisé avec la fédération, la liste est vide et un appel à la barre de recherche avec '\*' vous montre tous les utilisateurs actuellement définis :\n
\n\nCliquez sur Ajouter un utilisateur. Essayez d'être le plus complet possible en remplissant le formulaire. Quelques lignes directrices :\n- Lors de la définition du nom d’utilisateur, utilisez le \<prénom\>.\<nom_de_famille\> de la personne ;\n- Utilisez une adresse e-mail de confiance et signalez-la comme vérifiée.\nEt les actions requises de l’utilisateur recommandées :\n- Configurer l'OTP (la configuration MFA) ;\n- Mettre à jour le mot de passe.\n\n::: callout {icon="⚠️" color="gray_bg"}\nNe configurez pas encore la partie groupe\n:::\n
\n
\n\nUne fois l'utilisateur créé, passez à la partie des informations d'identification pour définir un mot de passe temporaire et donnez-le-lui à l'aide d'un gestionnaire de secret/mot de passe :\n
\n\nLorsque l'utilisateur est correctement défini, allez dans Arkhn Admin et attribuez un rôle à l'utilisateur en suivant la procédure décrite précédemment.\n\n## Configurer ou réinitialiser son mot de passe\nPour réinitialiser le mot de passe d'un utilisateur, il suffit d'aller dans Keycloak, dans le royaume Arkhn, dans l'onglet Utilisateurs, puis, dans la page de détail des utilisateurs, d'aller dans les informations d'identification : \n
\n\nUtiliser l'action de réinitialisation du mot de passe : \n
\n\nDéfinir le mot de passe nouvellement créé comme temporaire afin que l'utilisateur puisse le changer : \n
\n## Configurer ou réinitialiser des méthodes d'authentification multifactorielle\nLors de la première connexion avec l'option MFA cochée, l'utilisateur se verra présenter la page suivante : \n
\nEn utilisant Google Authenticator par exemple, il recevra régulièrement un mot de passe à usage unique (OTP) afin de sécuriser la connexion. Cet identifiant sera ajouté à sa page d'identification et pourra être réinitialisé de la même manière.\n\nPour ce faire, sélectionnez l'identifiant OTP et cliquez sur Supprimer : \n
\n\nDéfinissez ensuite les actions requises de l'utilisateur sur "Configurer l'OTP" : \n
\n\nAinsi, l'utilisateur devra le configurer lors de sa prochaine connexion avec un nouvel appareil.\nVous pouvez également réinitialiser le TOTP via Arkhn Admin : connectez-vous à https://\<hospital fqdn\>/ et allez dans l'onglet Data Users : \n
\nSélectionnez l'utilisateur dont le TOTP doit être réinitialisé, cliquez sur le bouton Réinitialiser TOTP dans le coin supérieur droit, puis confirmez.\n
\n\n"}