Skip To Content

Authentification SASL

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.

Paramètre du contrôleur de domaine pour répondre aux exigences de signature auprès du serveur LDAP

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 c:\arcgisportal.

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": "c:\\arcgisportal\\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 Windows

Lorsque vous configurez Portal for ArcGIS pour utiliser les utilisateurs et groupes Windows avec l’authentification SASL, les propriétés "saslAuthenticationScheme" et "krb5ConfigFilePath" sont requises. La propriété "user" doit être spécifiée au format username@realm. La zone doit toujours être en majuscules dans le fichier krb5.conf, mais cela n’est pas nécessaire dans la chaîne json. Également requise, la propriété "domainControllerAddress" doit inclure le nom de domaine complet (FQDN) d’un ou plusieurs contrôleurs de domaine Kerberos utilisés. Les adresses IP ne sont pas prises en charge pour l’authentification SASL. Si les utilisateurs et groupes d’entreprise proviennent de plusieurs domaines, la propriété "domainControllerMapping" doit être utilisée pour établir un lien entre le nom de domaine et le nom d’hôte du contrôleur de domaine. Vous trouverez ci-dessous un exemple de configuration de magasin d’utilisateurs et de groupes avec un seul domaine.

Exemple de configuration de magasin d’utilisateurs

{
  "type": "WINDOWS",
  "properties": {
    "saslAuthenticationScheme": "GSSAPI",
    "krb5ConfigFilePath": "C:\\arcgisportal\\krb5.conf",
    "user": "entuser@example.com",
    "userPassword": "encrypted_password",
    "isPasswordEncrypted": "true",
    "caseSensitive": "false",
    "userGivenNameAttribute": "givenName",
    "userSurnameAttribute": "sn",
    "userEmailAttribute": "mail",
    "domainControllerAddress": "domaincontroller.example.com"
  }
}

Exemple de configuration de magasin de groupes

{
  "type": "WINDOWS",
  "properties": {
    "saslAuthenticationScheme": "GSSAPI",
    "krb5ConfigFilePath": "C:\\arcgisportal\\krb5.conf",
    "user": "entuser@example.com",
    "userPassword": "encrypted_password",
    "isPasswordEncrypted": "true",
    "domainControllerAddress": " domaincontroller.example.com"
  }
}

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.

Si vous utilisez une authentification au niveau du portail propre aux utilisateurs Windows, le format des versions précédentes est conservé : domain\username ou username@domain.

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).

Paramètre du contrôleur de domaine pour la liaison de canaux du serveur LDAP