Autorisation du moteur RAD Server

De RAD Studio
Aller à : navigation, rechercher

Remonter à Moteur RAD Server (Serveur EMS)


L'autorisation du serveur EMS vous permet d'autoriser ou de refuser l'accès à une ressource EMS ou à un point de terminaison EMS donné dans une requête HTTP. L'autorisation dépend des informations d'identification utilisées dans la requête HTTP envoyée au serveur EMS.

Par défaut, la ressource et les points de terminaison EMS sont publics.

Il existe trois genres d'information d'identification différents dans EMS :

  • La clé Secret maître. Cette information d'identification permet à une requête HTTP d'accéder à tous les points de terminaison EMS de toute ressource EMS de votre serveur EMS.
  • Les utilisateurs. Cette information d'identification identifie un utilisateur EMS particulier. L'accès aux points de terminaison et ressources est limité à ceux autorisés pour l'utilisateur ou le groupe auquel l'utilisateur appartient.
  • Le secret d'application. Cette information d'identification permet d'accéder aux points de terminaison qui sont autorisés pour toutes les requêtes HTTP.

Informations d'identification pour l'autorisation d'accès à EMS

Authentification de la clé Secret maître EMS

La clé Secret maître EMS (MasterSecret) vous autorise à disposer d'un accès complet à toutes les données du serveur EMS stockées dans la base de données EMS.

Utilisez cette clé Secret maître EMS pour les tâches administratives. Vous pouvez utiliser la clé Secret maître EMS pour disposer d'un accès à toutes les ressources EMS dans le serveur EMS.

Modifiez la clé MasterSecret dans le fichier de configuration du serveur EMS.

Authentification de la clé Secret d'app EMS

La clé Secret d'app EMS (AppSecret) vous autorise à disposer d'un accès aux points de terminaison autorisés à partir d'une application client EMS.

Modifiez la clé AppSecret dans le fichier de configuration du serveur EMS.

Règles d'accès à EMS

Vous pouvez créer des règles d'accès pour configurer l'autorisation d'accès à une ressource EMS ou un point de terminaison EMS particuliers.

Vous pouvez définir une nouvelle règle d'accès pour les ressources de l'API administrative EMS (comme les utilisateurs EMS et les groupes EMS) ou pour une ressource EMS personnalisée.

Remarque : Si le serveur EMS utilise l'authentification MasterSecret pour contrôler l'accès à la ressource EMS, les règles d'accès définies dans le fichier de configuration EMS sont ignorées.

Vous pouvez spécifier les règles d'accès avec des paramètres (comme une chaîne JSON) pour :

  • Une ressource. Les paramètres de ressource s'appliquent à tous les points de terminaison dans cette ressource EMS.
  • Un point de terminaison particulier. Les paramètres du point de terminaison redéfinissent les paramètres pour la ressource.

Vous pouvez modifier les attributs JSON suivants pour une ressource EMS ou un point de terminaison de ressource EMS :

Attribut JSON Description
{"public": true} Autorise toute requête.
{"public": false} Une application client EMS peut être autorisée en fonction de l'utilisateur EMS ou du groupe EMS.
{"users": ["username1", "username2"]} Autorise un utilisateur EMS par le champ username.
{"users": ["userid1", "userid2"]} Autorise un utilisateur EMS par le champ userid.
{"users": ["*"]} Autorise tout utilisateur EMS.
{"groups": ["groupname1", "groupname2"]} Autorise tout utilisateur EMS qui appartient à un groupe EMS.
{"groups": ["*"]} Autorise tout utilisateur EMS dans tout groupe EMS.

L'exemple suivant rend toutes les méthodes de la ressource Users privées, à l'exception des points de terminaison EMS LoginUser et SignupUser :

 Users={"public": false}
 Users.LoginUser={"public": true}
 Users.SignupUser={"public": true}

L'exemple suivant rend toutes les méthodes de la ressource EMS personnalisée Resource1 disponibles pour tous les utilisateurs EMS dans le groupe group1 :

 Resource1={"groups": ["group1"]}

Créez et modifiez les règles d'accès dans le fichier de configuration du serveur EMS.

Dans le journal de la fenêtre du serveur EMS, vous pouvez voir les règles d'accès créées (sous la forme d'une entrée RegACL).

EMSServerLog RegACL.png

Contrôle de l'accès aux ressources et points de terminaison EMS

Il y a deux moyens de contrôler l'accès aux ressources et points de terminaison par un utilisateur EMS ou une application client EMS.

Modification du fichier de configuration du serveur EMS

Le fichier de configuration du serveur EMS (fichier emsserver.ini) peut être utilisé pour configurer l'autorisation par ressource et point de terminaison.

Configurez les clés MasterSecret ou AppSecret, ou créez de nouvelles règles d'accès pour les ressources et points de terminaison EMS.

Remarque : Si vous modifiez ces valeurs dans le fichier emsserver.ini, vous devez arrêter le serveur EMS pour recharger les paramètres de configuration. Vous devez terminer et redémarrer EMSDevServer.exe pour recharger le fichier emsserver.ini.

Contrôle par programme

Vous pouvez créer une nouvelle ressource EMS personnalisée et ajouter du code empêchant l'accès à des points de terminaison EMS particuliers. Dans votre code, vous pouvez vérifier si la requête provient d'un utilisateur EMS particulier ou d'un utilisateur EMS d'un groupe EMS particulier.

Si l'utilisateur EMS identifié dans la requête n'est pas autorisé à accéder au point de terminaison, la ressource personnalisée doit déclencher une exception (pour indiquer que la requête n'est pas autorisée).

Voir aussi