ArcGIS Server utilise un système de contrôle d’accès à base de jetons. Dès que les utilisateurs se sont authentifiés, un jeton d’accès est transmis à l’application cliente. Lorsqu’un utilisateur a besoin d’accéder aux services sécurisés ou de réaliser des tâches administratives, l’application cliente envoie le jeton d’accès et ArcGIS Server détermine s’il donne accès à ce service ou cette tâche administrative en fonction des autorisations du service ou des privilèges de l’utilisateur en question.
Propriétés des jetons
Les sections suivantes traitent des propriétés importantes des jetons ArcGIS.
Durée de vie d’un jeton
Chaque jeton a un délai d'expiration défini qui garantit sa sécurité. L'utilisateur final voit apparaître un message d'expiration ou un autre message d'erreur s'il utilise un jeton périmé.
Les jetons à délai d'expiration court sont plus sûrs, car un jeton intercepté par un utilisateur malveillant ne pourra être utilisé que pendant une fenêtre horaire plus courte. Un délai d'expiration court implique toutefois des demandes de nouveaux jetons plus fréquentes au niveau des applications.
Deux paramètres définissent la durée de vie des jetons émis :
- Lifespan of Short-lived Tokens (Durée de vie des jetons éphémères : si un client demande un jeton sans spécifier de durée d’expiration, un jeton éphémère est émis. Le jeton émis n'est valide que pour la durée définie par cette propriété. Si un client demande un jeton avec une durée d’expiration inférieure à la durée de vie d’un jeton éphémère, le jeton émis a la durée d’expiration demandée.
- Lifespan of Long-lived Tokens (Durée de vie des jetons persistants) : si un client demande un jeton en spécifiant une durée d’expiration, la durée d’expiration demandée est comparée à la durée définie par cette propriété. Si la durée d’expiration demandée est inférieure à la durée de vie d’un jeton persistant, le jeton émis a la durée d’expiration demandée. Si la durée d’expiration demandée est supérieure au paramètre de durée de vie d’un jeton persistant, un jeton est émis, mais avec une durée d’expiration qui correspond à cette propriété.
Définition de clé partagée
Un jeton ArcGIS est une chaîne d'informations chiffrées. La clé partagée correspond à la clé cryptographique permettant de générer cette chaîne chiffrée. Plus la clé partagée sera complexe, plus il sera difficile pour un utilisateur malveillant de casser le code de chiffrement et de la déchiffrer. Si un utilisateur parvient à déchiffrer la clé partagée, à répliquer l’algorithme de chiffrement de ArcGIS Server et à obtenir la liste des utilisateurs autorisés, il pourra générer des jetons et exploiter toutes les ressources sécurisées résidant sur cette instance ArcGIS Server spécifique.
Avant de définir une clé partagée, tenez compte des éléments ci-après :
- La clé partagée doit comporter 16 caractères (les caractères spécifiés après les 16 premiers ne sont pas utilisés). Il est recommandé d'utiliser une suite de caractères aléatoires pour la clé. Tous les caractères peuvent être utilisés, y compris les caractères non alphanumériques.
- La clé ne peut pas être un mot du dictionnaire, ni une valeur courante qui est facile à deviner. Dans la mesure où les utilisateurs ne doivent pas mémoriser la clé, ni l'utiliser, sa complexité ne constitue pas un problème (contrairement aux mots de passe).
- Le jeton est chiffré avec la clé partagée à l'aide de la méthode de chiffrement AES (Advanced Encryption Standard), également connue sous le nom de Rijndael. Les 16 caractères de la clé correspondent aux 128 bits utilisés pour le chiffrement. Pour plus d’informations sur le chiffrement et AES, reportez-vous à des références sur la sécurité ou contactez une personne au sein de votre organisation qui est compétente dans les domaines de la sécurité et du chiffrement.
- Dans les environnements hautement sécurisés, il est conseillé de modifier régulièrement la clé partagée. N'oubliez pas que si vous modifiez la clé partagée, vous devrez peut-être mettre à jour vos applications pour qu'elles utilisent la nouvelle clé partagée. Tous les jetons intégrés existants deviendront invalides après la modification de la clé partagée.
Transmission sécurisée de jetons
Pour éviter que les jetons ne soient interceptés et utilisés à mauvais escient, il est recommandé d'utiliser une connexion sécurisée HTTPS. L’utilisation d’une connexion HTTPS permet de s’assurer que le nom d’utilisateur et le mot de passe envoyés par le client, ainsi que le jeton renvoyé par ArcGIS Server, ne sont pas interceptés.
Lors de la création d’applications clientes ArcGIS utilisant les requêtes GET pour accéder aux services web sécurisés par l’authentification ArcGIS à base de jetons, il est recommandé d’envoyer le jeton dans l’en-tête d’autorisation X-Esri plutôt qu’en paramètre de requête. Ceci évite que les intermédiaires sur le réseau, comme les proxys, passerelles ou systèmes d’équilibrage de la charge n’accèdent au jeton. Par exemple, la requête HTTP GET ci-après envoie le jeton dans l’en-tête d’autorisation X-Esri :GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
X-Esri-Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
Si ArcGIS Server utilise l’authentification ArcGIS Server et non l’authentification au niveau du web (IWA, HTTP BASIC, PKI, etc.), l’en-tête Autorisation HTTP standard peut être utilisé à la place de l’en-tête Autorisation Esri X :GET https://arcgis.mydomain.com/arcgis/rest/services/SampleWorldCities/MapServer?f=pjson HTTP/1.1
Host: arcgis.mydomain.com
Authorization: Bearer xMTuPSYpAbj85TVfbZcVU7td8bMBlDKuSVkM3FAx7zO1MYD0zDam1VR3Cm-ZbFo-
Vous avez un commentaire à formuler concernant cette rubrique ?