Configurer la politique de sécurité générale de votre portail

Public ou privé ?

Le choix le plus important consiste à déterminer si votre portail doit être public ou privé. Il s'agit de savoir si des utilisateurs non authentifiés seront en mesure d'accéder au portail ou s'il sera demandé aux visiteurs de s'inscrire pour y accéder.

Important

Le fait de rendre votre portail public ne signifie pas que tout le monde aura accès à l'ensemble des jeux de données ! À l'aide des paramètres de sécurité précis pour les jeux de données et de paramètres explicites pour chacun d'entre eux, il vous sera toujours possible de restreindre ce à quoi les utilisateurs ont accès.

Reportez-vous à la section dédiée pour plus d'informations sur la sécurité des jeux de données.

Ce paramètre se trouve dans la sous-section sécurité de la section configuration de l'interface d'administration de votre portail.

Notez que si vous décidez de ne pas autoriser les utilisateurs non authentifiés à accéder à votre portail, ils seront redirigés vers la page de connexion, sauf si vous préférez qu'ils soient redirigés vers une page spécifique que vous avez créée.

../../_images/configuration_anonymous-access.png

Politique d'inscription

Quel que soit votre choix, public ou privé, vous pouvez par la suite décider de qui sera en mesure de devenir un membre enregistré de votre portail. Pour ce faire, accédez à la sous-section Configuration/Inscription de l'interface d'administration de votre portail.

../../_images/configuration_enable-signup.png

Politique d'inscription fermée

Si vous décidez de ne pas autoriser les inscriptions publiques, la seule manière d'ajouter des membres à votre portail sera par l'intermédiaire d'invitations directes par e-mail.

Politique d'inscription ouverte

Si vous autorisez les inscriptions publiques, il vous faudra alors déterminer si vous souhaitez approuver manuellement ou non chaque demande d'accès à votre portail. Notez que, quelle que soit votre décision, chaque membre du portail autorisé à gérer les utilisateurs recevra une notification pour chaque nouvelle demande d'accès.

../../_images/configuration_signup-approval.png

N'oubliez pas d'ajouter le bouton d'inscription à votre menu d'en-tête, sinon les utilisateurs ne verront pas le formulaire d'inscription avant d'essayer d'accéder à une zone de votre portail dont l'accès est restreint.

../../_images/configuration_signup-link.png

La procédure d'inscription est généralement très simple : une adresse e-mail, un mot de passe, et le tour est joué. Vous pouvez décider de personnaliser l'expérience en utilisant un texte personnalisé comme avis de non-responsabilité, en exigeant des utilisateurs qu'ils acceptent vos conditions d'utilisation et même qu'ils laissent un message à l'administrateur du portail (utile lorsque vous souhaitez approuver manuellement les demandes d'accès).

../../_images/configuration_signup-form.png

Délai d'expiration de session utilisateur

Par défaut, tous les utilisateurs authentifiés sont automatiquement déconnectés après une période d'inactivité de 2 semaines. Cette durée peut être modifiée dans la section Configuration/Sécurité de l'interface d'administration.

Veuillez noter que chaque requête d'utilisateur envoyée au portail réinitialise le délai d'expiration ; les sessions peuvent donc rester actives plus longtemps que la durée spécifiée pour le délai d'expiration.

Authentification unique

Si votre organisation possède déjà son propre système de gestion des identités, vous pouvez configurer un relais entre votre fournisseur d'identité et votre portail Opendatasoft. Cela aura pour conséquence d'octroyer un accès général à votre portail à chacun des membres de votre organisation.

Opendatasoft prend en charge deux types de fournisseurs d'identité :

À propos des utilisateurs locaux et des utilisateurs liés

Lorsqu'un fournisseur d'identité SAML ou OpenID Connect est configuré sur un domaine, un utilisateur peut appartenir à 3 catégories.

  • Un utilisateur Opendatasoft standard qui a été invité par e-mail ou qui s'est inscrit sur un domaine : cet utilisateur se connecte sur le domaine grâce à l'interface de connexion standard avec son nom d'utilisateur et son mot de passe Opendatasoft habituels, et le compte est accessible dans tout le réseau Opendatasoft. Les utilisateurs Opendatasoft sont représentés sur la plateforme par le pictogramme icon-world.

  • Un utilisateur local qui s'authentifie via le fournisseur d'identité de l'organisation : cet utilisateur se connecte sur le domaine exclusivement via le fournisseur d'identité de l'organisation, et n'étant disponible que sur un domaine précis, il peut avoir un accès limité à certaines fonctionnalités basées sur le réseau Opendatasoft. Les utilisateurs locaux sont représentés sur la plateforme par le pictogramme icon-id-card.

  • Un utilisateur lié qui a un compte Opendatasoft standard associé sur ce domaine précis à une identité du fournisseur d'identité de l'organisation. Cet utilisateur est un utilisateur Opendatasoft standard qui peut à la fois s'authentifier via l'interface d'authentification Opendatasoft et via le fournisseur d'identité de l'organisation. Les utilisateurs liés étant des utilisateurs Opendatasoft disposant de la capacité de se connecter via SAML ou OpenID Connect, ils sont représentés sur la plateforme par les deux pictogrammes icon-world et icon-id-card.

Utilisateur local

Chaque utilisateur disposant d'un compte utilisateur auprès du fournisseur d'identité approuvé par un domaine, mais ne disposant pas d'un compte utilisateur Opendatasoft, peut se connecter. Lors de la première connexion, un utilisateur local sera créé pour l'utilisateur, en fonction des paramètres du fournisseur d'identité du domaine.

Ces utilisateurs locaux disposent des permissions pour explorer les jeux de données publics du domaine par défaut. Des permissions supplémentaires peuvent être octroyées à ces utilisateurs au niveau du domaine, pour des jeux de données individuels ou via des groupes (autres que les groupes Utilisateurs SAML ou Utilisateurs OpenID Connect, auxquels ils appartiennent automatiquement).

La création d'utilisateurs locaux via l'authentification sur un fournisseur d'identité peut être désactivée en cochant la case "Désactiver le provisionnement d'utilisateurs locaux" dans la configuration du fournisseur d'identité (SAML ou OpenID Connect). La désactivation du provisionnement d'utilisateurs locaux n'empêchera pas les utilisateurs locaux existants de se connecter.

Utilisateur lié

Les utilisateurs disposant d'un compte utilisateur Opendatasoft peuvent lier ce dernier à un autre compte du fournisseur d'identité. Cette procédure s'appelle : liaison de comptes.

Une fois la liaison établie, les utilisateurs liés qui se connectent via leur fournisseur d'identité seront connectés à leur compte utilisateur Opendatasoft. Néanmoins, ils seront toujours en mesure de se connecter avec leur mot de passe Opendatasoft.

Il existe 2 méthodes pour lier un compte utilisateur Opendatasoft :

  • La première consiste à cliquer sur Lier votre compte à un compte SAML sur ce domaine ou Lier votre compte à un compte OpenID Connect sur ce domaine dans l'onglet Identité des paramètres de compte utilisateur :

"Link your account to a SAML account on this domain" link in the identity tab of the user account settings
  • L'autre méthode consiste à établir la liaison lors du processus de création du compte utilisateur en cliquant sur le lien permettant de terminer l'inscription via le protocole SAML. Cette méthode permet d'accélérer le processus de création du compte utilisateur et de lier rapidement ce dernier :

Account registration in SAML enabled domains

Remarque

La liaison pendant l'authentification est uniquement prise en charge avec les fournisseurs d'identité SAML.

Sélection de la page de connexion par défaut

La plateforme Opendatasoft permet de choisir la page de connexion qui s'affichera lorsque les utilisateurs cliqueront sur un lien d'identification ou essaieront d'accéder à une page à accès limité.

Si la page de connexion du fournisseur d'identité est sélectionnée par défaut, le processus d'identification (SAML ou OpenID Connect) sera démarré automatiquement lorsqu'un utilisateur non authentifié cliquera sur le lien de connexion ou essaiera d'accéder à une page dont l'accès est limité, comme l'interface d'administration. Lorsque la page de connexion du fournisseur d'identité est sélectionnée, les utilisateurs qui souhaitent se connecter à la plateforme avec leurs identifiants Opendatasoft auront la possibilité de le faire en se rendant sur la page de connexion du domaine à l'adresse https://<platform-url>/login/.

Default login page selection interface in the security configuration page

Utilisation des attributs utilisateur pour filtrer des données

Les utilisateurs qui se sont connectés via la fédération d'identité (SAML 2.0 ou OpenID Connect) peuvent avoir défini des attributs de profil spécifiques. Ces derniers peuvent être utilisés pour filtrer le contenu des jeux de données auxquels ces utilisateurs ont accès.

Pour ce faire, vous pouvez modifier la configuration de sécurité d'un jeu de données spécifique et utiliser la fonction #attr dans la requête de filtre du groupe de sécurité SAML ou OpenID Connect associé à ce jeu de données. Ainsi, les utilisateurs appartenant à ces groupes seront uniquement en mesure de voir les enregistrements de jeu de données qui correspondent à la requête de filtrage, comme expliqué ci-dessous.

La fonction #attr vous permet de filtrer les enregistrements d'un jeu de données de façon que seuls les enregistrements renvoyés soient ceux qui correspondent à une valeur définie dans les attributs utilisateur envoyés par le fournisseur d'identité. Dans les exemples suivants, nous partons du principe que nous avons 3 utilisateurs avec des noms d'utilisateur et attributs SAML respectifs user-country et user-language :

Utilisateur

user-country user-language

Utilisateur1

France

Français

Utilisateur2

Canada

Français

Utilisateur3

États-Unis

Anglais

Et un jeu de données avec les enregistrements suivants :

country language message

Monde

Anglais

Hello world
France

Français

Bonjour à tous les Français
Canada

Français

Bonjour à tous les Canadiens
Canada

Anglais

Hello to all Canadians

États-Unis

Anglais

Hello to all Americans

Nous pouvons limiter ces utilisateurs de façon qu'ils voient uniquement les messages concernant leur pays respectif en utilisant la requête "#attr(country, user-country)".

Utilisateur1 voit

country language message
France

Français

Bonjour à tous les Français

Utilisateur2 voit

country language message
Canada

Français

Bonjour à tous les Canadiens
Canada

Anglais

Hello to all Canadians

Utilisateur3 voit

country language message

États-Unis

Anglais

Hello to all Americans

Nous pouvons également limiter ces utilisateurs de façon qu'ils voient uniquement les messages dans leur langue respective en utilisant la requête "#attr(language, user-language)".

Utilisateur1 voit

country language message
France

Français

Bonjour à tous les Français
Canada

Français

Bonjour à tous les Canadiens

Utilisateur2 voit

country language message
France

Français

Bonjour à tous les Français
Canada

Français

Bonjour à tous les Canadiens

Utilisateur3 voit

country language message

Monde

Anglais

Hello world

États-Unis

Anglais

Hello to all Americans

Cette fonction étant propre au langage de requête, elle peut également être combinée aux opérateurs habituels. Nous pouvons, par exemple, limiter les utilisateurs de façon qu'ils voient uniquement les messages adaptés à leur pays et à leur langue en utilisant la requête #attr(language, user-language) AND #attr(country, user-country).

Utilisateur1 voit

country language message
France

Français

Bonjour à tous les Français

Utilisateur2 voit

country language message
Canada

Français

Bonjour à tous les Canadiens

Utilisateur3 voit

country language message

États-Unis

Anglais

Hello to all Americans