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

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