Simple Authentication and Security Layer (SASL) ist ein Framework für die Authentifizierung und die Datensicherheit in Internetprotokollen. Ab Version 10.9 unterstützt ArcGIS Enterprise die Verwendung von SASL für die Authentifizierung bei Windows Active Directory oder anderen LDAP-Anbietern über den GSS/Kerberos-v5-SASL-Mechanismus.
Anwendungsfall
Die SASL-GSS-Authentifizierung wird üblicherweise eingesetzt, wenn der Domänencontroller einer Organisation so konfiguriert ist, dass für die Authentifizierung mit dem LDAP-Server eine Signatur erforderlich ist. Diese Anforderung gilt nur, wenn die Verbindung mit dem LDAP-Server über die Ports 389 oder 3268 ohne Verschlüsselung hergestellt wird. Falls LDAPS auf allen Domänencontrollern vollständig unterstützt wird, ist diese Signaturanforderung nicht erforderlich.
Anforderungen
Zum Konfigurieren der SASL-Authentifizierung in ArcGIS Enterprise müssen einige Anforderungen erfüllt sein.
Kerberos-Konfigurationsdatei
Eine Kerberos-Konfigurationsdatei ist erforderlich, um Portal for ArcGIS Informationen zum Kerberos-Domänencontroller bereitzustellen. Diese Informationen müssen in einer Textdatei wie krb5.conf gespeichert werden. Eine Kopie der Textdatei muss an einem Speicherort gespeichert werden, auf den das Konto des Portal for ArcGIS-Service zugreifen kann. Dies kann z. B. der Portal-Installationsordner oder das Portal-Inhaltsverzeichnis sein. Der Standardspeicherort des Portal-Inhaltsverzeichnisses ist /arcgis/portal/usr.
Diese Konfigurationsdatei ist für Kerberos Standard. Sie sollte die standardmäßigen Konfigurationseinstellungen und Informationen zu einem oder mehreren Kerberos-Domänencontrollern für die einzelnen Kerberos-Bereiche enthalten. Nachfolgend ist ein Beispiel für eine Konfigurationsdatei dargestellt.
[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
Neue Benutzer- und Gruppenspeichereigenschaften, die für Windows- und LDAP-Identitätsspeichertypen unterstützt werden
- "saslAuthenticationScheme": Definiert das SASL-Authentifizierungsschema, das von Portal for ArcGIS für die Verbindung mit Domänencontrollern über LDAP verwendet wird. In Version 10.9 ist GSSAPI das einzige unterstützte SASL-Authentifizierungsschema. Beispiel: "saslAuthenticationScheme": "GSSAPI"
- "krb5ConfigFilePath": Definiert den Pfad zur oben beschriebenen Kerberos-Konfigurationstextdatei. Sie muss sich in einem Speicherort mit Lesezugriff für das Konto des Portal for ArcGIS-Service befinden.
Beispiel: "krb5ConfigFilePath": "/data/arcgis/krb5.conf"
Portal for ArcGIS-Identitätsspeicherkonfigurationen
Der SASL-GSS-Authentifizierungsmechanismus kann mit Windows- oder LDAP-Identitätsspeichertypen verwendet werden und funktioniert für Authentifizierungen auf Portal- und Webebene. Er umfasst auch das Verwalten und Aktualisieren der Active Directory- oder LDAP -Gruppenmitgliedschaft.
LDAP-Benutzer und -Gruppen
Beim Konfigurieren von Portal for ArcGIS für die Verwendung von LDAP-Benutzern und -Gruppen mit SASL-Authentifizierung müssen die Eigenschaften "saslAuthenticationScheme" und "krb5ConfigFilePath" hinzugefügt werden. Zudem muss das Format des in der Eigenschaft "user" aufgeführten Benutzernamens in Benutzername@Bereich geändert werden. ldapURLForUsers und ldapURLForRoles müssen den vollständig qualifizierten Domänennamen (FQDN) für den Kerberos-Domänencontroller enthalten. Eine IP-Adresse wird hier nicht unterstützt. Wenn die Authentifizierung auf Portal-Ebene verwendet wird, sollte "usernameAttribute" auf "userPrincipalName" festgelegt werden, damit Benutzernamen das richtige Format aufweisen. Nachfolgend ist ein Beispiel für die Benutzer- und Gruppenspeicherkonfigurationen mit LDAP dargestellt.
Beispiel für Benutzerspeicherkonfiguration
{ "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” } }
Beispiel für Gruppenspeicherkonfiguration
{ "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” } }
Weitere Überlegungen
Beim Anmelden am Portal mit Authentifizierung auf Portal-Ebene für LDAP-Benutzer muss das Format username@realm sein, z. B.: testuser@example.com.
Einstellung des Kerberos-Domänencontrollers
Die Einstellung des Domänencontrollers für die Token-Anforderungen der LDAP-Serverkanalbindung kann aufgrund von Java-Beschränkungen nicht auf Always festgelegt werden. Details finden Sie unter JVM Bug 8245527. Sie muss stattdessen auf When supported oder Never festgelegt werden.