La couche SASL (Simple Authentication and Security Layer) est une structure fournissant de services d’authentification et de sécurité des données aux protocoles Internet. Depuis la version 10.9, ArcGIS Enterprise prend en charge l’utilisation de SASL comme moyen d’authentification auprès de Windows Active Directory ou d’autres fournisseurs LDAP utilisant le mécanisme SASL GSS/Kerberos v5.
Cas d'utilisation
L’authentification GSS SASL est généralement utilisée lorsque le contrôleur de domaine d’une organisation est configuré pour exiger une signature lors de l’authentification auprès du serveur LDAP. Cette condition s’applique uniquement en cas de connexion au serveur LDAP sur les ports 389 ou 3268 sans chiffrement. Si le protocole LDAPS est entièrement pris en charge sur tous les contrôleurs de domaine, la signature n’est pas nécessaire.
Conditions requises
Pour configurer l’authentification SASL avec ArcGIS Enterprise, quelques conditions sont requises.
Fichier de configuration Kerberos
Un fichier de configuration Kerberos est obligatoire pour fournir à Portal for ArcGIS les informations relatives au contrôleur de domaine Kerberos. Ces informations doivent être enregistrées dans un fichier texte, par exemple, krb5.conf. Une copie de ce fichier texte doit être stockée dans un emplacement accessible au service Portal for ArcGIS. Il peut s’agir, par exemple, du dossier d’installation du portail ou du répertoire de contenu du portail. L’emplacement par défaut du répertoire de contenu du portail est /arcgis/portal/usr.
Ce fichier de configuration, usuel pour Kerberos, doit inclure les paramètres de configuration par défaut et les informations relatives à un ou plusieurs contrôleurs de domaine Kerberos pour chaque zone (realm) Kerberos. Vous trouverez ci-dessous un exemple de fichier de configuration.
[libdefaults] dns_lookup_realm = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_ccache_name = KEYRING:persistent:%{uid} dns_lookup_kdc = true default_realm = EXAMPLE.COM default_checksum = rsa-md5 [realms] EXAMPLE.COM = { kdc = domaincontroller.example.com admin_server = domaincontroller.example.com } [domain_realm] example.com = EXAMPLE.COM .example.com = EXAMPLE.COM
Nouvelles propriétés des magasins d’utilisateurs et de groupes prises en charge par les types de magasins d’identités LDAP et Windows
- "saslAuthenticationScheme" : définit le schéma d’authentification SASL utilisé par Portal for ArcGIS pour se connecter aux contrôleurs de domaine via LDAP. Avec la version 10.9, seul le schéma d’authentification SASL GSSAPI est pris en charge. Exemple : "saslAuthenticationScheme": "GSSAPI"
- "krb5ConfigFilePath" : définit le chemin d’accès au fichier texte de configuration Kerberos décrit plus haut. Il doit se trouver dans un emplacement auquel le compte de service Portal for ArcGIS peut accéder en lecture.
Exemple : "krb5ConfigFilePath": "/data/arcgis/krb5.conf"
Configurations du magasin d’identités de Portal for ArcGIS
Le mécanisme d’authentification GSS SASL est utilisable avec les types de magasins d’identités LDAP ou Windows ; il fonctionne avec les authentifications au niveau du portail et au niveau du Web. Cela concerne également la gestion et l’actualisation de l’appartenance à un groupe d’entreprise.
Utilisateurs et groupes LDAP
Lorsque vous configurez Portal for ArcGIS pour utiliser les utilisateurs et groupes LDAP avec l’authentification SASL, les propriétés "saslAuthenticationScheme" et "krb5ConfigFilePath" doivent être ajoutées toutes les deux et le format du nom d’utilisateur répertorié dans la propriété "user" doit être remplacé par username@realm. Les propriétés ldapURLForUsers et ldapURLForRoles doivent contenir le nom de domaine complet (FQDN) du contrôleur de domaine Kerberos. Aucune adresse IP n’est prise en charge ici. Si l’authentification au niveau du portail doit être utilisée, la propriété "usernameAttribute" doit être définie sur "userPrincipalName" afin que le format des noms d’utilisateur soit correct. Vous trouverez ci-dessous un exemple de configuration de magasin d’utilisateurs et de groupes avec LDAP.
Exemple de configuration de magasin d’utilisateurs
{ "type": "LDAP", "properties": { "ldapURLForUsers": "ldap://kdc1.example.com:389/OU=users,DC=example,DC=com", "saslAuthenticationScheme": "GSSAPI", "krb5ConfigFilePath": "/data/arcgis/krb5.conf", "user": "entuser@example.com", "userPassword": "encrypted_password", "isPasswordEncrypted": "true", "usernameAttribute": "sAMAccountName", "userGivenNameAttribute": "givenName", "userSurnameAttribute": "sn", "userEmailAttribute": "mail", "caseSensitive": "false” } }
Exemple de configuration de magasin de groupes
{ "type": "LDAP", "properties": { "ldapURLForUsers": "ldap://kdc1.example.com:389/OU=users,DC=example,DC=com", “ldapURLForRoles”: "ldap://kdc1.example.com:389/OU=groups,DC=example,DC=com", "saslAuthenticationScheme": "GSSAPI", "krb5ConfigFilePath": "/data/arcgis/krb5.conf", "user": "entuser@example.com", "userPassword": "encrypted_password", "isPasswordEncrypted": "true", "usernameAttribute": "sAMAccountName", "caseSensitive": "false” } }
Autres remarques
Lorsque la connexion au portail s’effectue avec une authentification au niveau du portail propre aux utilisateurs LDAP, le nom d’utilisateur doit être au format username@realm ; par exemple, testuser@example.com.
Paramètre du contrôleur de domaine Kerberos
Le paramètre du contrôleur de domaine pour répondre aux exigences en matière de jeton de liaison de canaux du serveur LDAP ne peut pas être défini sur Always (Toujours) à cause de limitations Java. Pour en savoir plus, reportez-vous au bogue JVM 8245527. Le paramètre doit être défini sur When supported (Si pris en charge) ou Never (jamais).
Vous avez un commentaire à formuler concernant cette rubrique ?