Skip To Content

Аутентификация SASL

Простой уровень аутентификации и безопасности (SASL) - это среда для аутентификации и безопасности данных в интернет-протоколах. Начиная с версии 10.9, ArcGIS Enterprise поддерживает использование SASL в качестве средства аутентификации с помощью Windows Active Directory или других поставщиков LDAP, используя механизм SASL GSS/Kerberos v5.

Случай применения

Аутентификация SASL GSS обычно используется, когда контроллер домена организации настроен на запрос подписи для аутентификации с сервером LDAP. Это требование применяется только при подключении к серверу LDAP через порты 389 или 3268 без шифрования. Если LDAPS полностью поддерживается на всех контроллерах домена, запрос подписи не требуется.

Настройка контроллера домена для требования подписи сервера LDAP

Требования

Чтобы настроить аутентификацию SASL с помощью ArcGIS Enterprise, необходимо выполнить несколько требований.

Файл конфигурации Kerberos

Файл конфигурации Kerberos необходим для предоставления Portal for ArcGIS информации о контроллере домена Kerberos. Эту информацию необходимо сохранить в текстовом файле, например, krb5.conf. Копия текстового файла должна храниться в месте, где учетная запись сервиса Portal for ArcGIS может получить к нему доступ. Например, папка установки портала или директория ресурсов портала. Местоположение директории ресурсов портала по умолчанию - /arcgis/portal/usr.

Этот файл конфигурации является стандартным для Kerberos и должен включать параметры конфигурации по умолчанию и информацию об одном или нескольких контроллерах домена Kerberos для каждой области Kerberos. Ниже показан пример файла конфигурации.

[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

Новые свойства хранилища пользователей и групп, поддерживаемые типами хранилищ удостоверений Windows и LDAP

  • "saslAuthenticationScheme" - определяет схему аутентификации SASL, которую Portal for ArcGIS использует для подключения к контроллерам домена через LDAP. В версии 10.9 GSSAPI это единственная поддерживаемая схема аутентификации SASL. Пример: "saslAuthenticationScheme": "GSSAPI"
  • "krb5ConfigFilePath" - определяет путь к текстовому файлу конфигурации Kerberos, описанному выше. Он должен находиться в местоположении с доступом на чтение для учетной записи сервиса Portal for ArcGIS.

    Пример: "krb5ConfigFilePath": "/data/arcgis/krb5.conf"

Конфигурации хранилища удостоверений Portal for ArcGIS

Механизм аутентификации SASL GSS может использоваться с типами хранилища удостоверений Windows или LDAP и будет работать как с аутентификацией на уровне портала, так и с аутентификацией веб-уровня. Это также включает поддержание и обновление участия в группе Active Directory или LDAP.

Пользователи и группы LDAP

При настройке Portal for ArcGIS на использование пользователей и групп LDAP с аутентификацией SASL необходимо добавить свойства "saslAuthenticationScheme" и "krb5ConfigFilePath", а также изменить формат имени пользователя, указанного в свойстве "user", на username@realm. ldapURLForUsers и ldapURLForRoles должны содержать полное доменное имя (FQDN) для контроллера домена Kerberos. IP-адрес здесь не поддерживается. Если будет использоваться аутентификация на уровне портала, "usernameAttribute" должно быть задано как "userPrincipalName", чтобы имена пользователей были в правильном формате. Ниже приведен пример конфигураций хранилища пользователей и групп с LDAP.

Пример конфигурации хранилища пользователей

{
  "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”
  }
}

Пример конфигурации хранилища групп

{
  "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”
  }
}

Другие соображения

При входе на портал с аутентификацией на уровне портала для пользователей LDAP формат имени пользователя должен быть username@realm, например, testuser@example.com.

Настройка контроллера домена Kerberos

Параметр контроллера домена для требований к токену привязки канала сервера LDAP не может быть установлен на Всегда из-за ограничений Java. Подробнее см. Ошибка JVM 8245527. Для него должно быть установлено значение При поддержке или Никогда.

Настройка контроллера домена для стыковки канала сервера LDAP