Как настроить поставщика идентификационной информации LDAP

В версии 4.54.00 уровень SSO Apigee был модернизирован, и теперь базовый брокер идентификации требует косвенной привязки (поиск и привязка) и больше не поддерживает прямую (простую) привязку. Чтобы обеспечить соблюдение стандартов безопасности, основанных на принципе минимальных привилегий, в системе единого входа Apigee теперь используется специальный сервисный аккаунт с правами только на чтение для поиска в каталоге.

В этом разделе описываются механизмы, с помощью которых вы можете использовать LDAP в качестве IDP с Apigee Edge для частного облака.

Механизм аутентификации: поиск и привязка (косвенная привязка)

При использовании поиска и привязки пользователь указывает относительное отличительное имя (например, имя пользователя или адрес электронной почты) и пароль. Затем система единого входа Apigee находит уникальное имя пользователя (DN) и пытается выполнить привязку. При поиске и привязке допускаются частичные совпадения.

Ниже описаны шаги операции поиска и привязки.

  • Пользователь вводит идентификатор, например имя пользователя или адрес электронной почты, а также пароль.
  • Apigee SSO выполняет поиск с помощью фильтра LDAP и набора учетных данных сервисного аккаунта с доступом только на чтение.
  • Если найдено только одно совпадение, система единого входа Apigee извлекает DN пользователя. Если совпадений нет или их больше одного, система единого входа Apigee отклоняет пользователя.
  • Затем Apigee SSO пытается связать различающееся имя пользователя и предоставленный пароль с сервером LDAP.
  • Аутентификация выполняется на сервере LDAP.
  • В случае успеха система единого входа Apigee возвращает токен OIDC/OAuth2, который клиент может прикрепить к своим запросам к сервисам Edge.

Внутренний сервер OpenLDAP (конфигурация по умолчанию)

Если вы используете встроенный Apigee OpenLDAP (где хост LDAP установлен на localhost), процесс установки автоматически защищает конфигурацию. Во время настройки система автоматически создает сервисный аккаунт с минимальными правами (cn=sso-reader) со случайно сгенерированным секретом и ограниченным доступом только для чтения.

Учетные данные администратора корневого каталога OpenLDAP (cn=manager) удалены из файлов конфигурации Apigee SSO, чтобы предотвратить раскрытие учетных данных с высоким уровнем привилегий на диске.

Если вы используете внутренний OpenLDAP, перейдите к разделу Установка и настройка Apigee SSO.

Внешний корпоративный каталог LDAP

Если вы подключаете систему единого входа Apigee к внешнему каталогу LDAP, например корпоративному каталогу Active Directory, перед настройкой необходимо предоставить предварительно подготовленный сервисный аккаунт только для чтения в каталоге. Apigee SSO будет использовать этот аккаунт исключительно для поиска и привязки.

Свойства конфигурации внешнего LDAP

Чтобы настроить внешний каталог LDAP, укажите в файле конфигурации данные аккаунта сервиса с доступом только на чтение. Скрипт setup-sso автоматически добавит необходимые токены в конфигурацию.

Добавьте в файл конфигурации следующие свойства, например /opt/silent.conf:

ENABLE_SSO=y
SSO_EXTERNAL_LDAP=y
SSO_LDAP_HOST=corp-ad.company.com
SSO_LDAP_PORT=636

# Set to false for secure connection
SSO_LDAP_INSECURE_SKIP_VERIFY=false

# The DN and password of your pre-provisioned read-only service account
SSO_LDAP_BIND_DN="cn=svc-apigee,ou=ServiceAccounts,dc=corp,dc=com"
SSO_LDAP_BIND_PW="password"

# The base DN for user searches
SSO_LDAP_USER_BASE_DN="ou=Employees,dc=corp,dc=com"

# The filter used to search for the user
SSO_LDAP_USER_FILTER="(&(objectClass=user)(objectCategory=person))"

# The attribute containing the user's email address
SSO_LDAP_USER_EMAIL_ATTR="mail"

# (Optional) The attribute containing the user's ID
# SSO_LDAP_USER_ID_ATTR="sAMAccountName"

# (Optional) The attribute containing the user's display name
# SSO_LDAP_USER_NAME_ATTR="displayName"

После определения этих свойств перейдите к разделу Установка и настройка Apigee SSO.