Konfigurowanie dostawcy tożsamości LDAP

Wraz z modernizacją warstwy logowania jednokrotnego Apigee w wersji 4.54.00 podstawowy broker tożsamości natywnie wymaga powiązania pośredniego (wyszukiwania i powiązania) i nie obsługuje już powiązania bezpośredniego (prostego). Aby zachować standardy bezpieczeństwa dotyczące jak najmniejszych uprawnień, SSO w Apigee standardowo używa dedykowanego konta usługi tylko do odczytu do wyszukiwania w katalogu.

W tej sekcji opisujemy mechanizmy, za pomocą których możesz używać LDAP jako dostawcy tożsamości w Apigee Edge for Private Cloud.

Mechanizm uwierzytelniania: wyszukiwanie i powiązanie (powiązanie pośrednie)

W przypadku wyszukiwania i powiązania użytkownik podaje RDN (np. nazwę użytkownika lub adres e-mail) oraz hasło. SSO w Apigee znajduje wtedy nazwę wyróżniającą (DN) użytkownika i próbuje się powiązać. Wyszukiwanie i powiązanie umożliwia częściowe dopasowania.

Poniżej przedstawiamy kroki operacji wyszukiwania i powiązania:

  • Użytkownik wpisuje identyfikator, np. nazwę użytkownika lub adres e-mail, oraz hasło.
  • Logowanie jednokrotne Apigee przeprowadza wyszukiwanie za pomocą filtra LDAP i zestawu danych logowania konta usługi tylko do odczytu.
  • Jeśli znajdzie dokładnie 1 dopasowanie, logowanie jednokrotne Apigee pobierze nazwę wyróżniającą użytkownika. Jeśli znajdzie 0 lub więcej niż 1 dopasowanie, logowanie jednokrotne Apigee odrzuci użytkownika.
  • SSO w Apigee próbuje powiązać nazwę wyróżniającą użytkownika i podane hasło z serwerem LDAP.
  • Serwer LDAP przeprowadza uwierzytelnianie.
  • Jeśli uwierzytelnianie się powiedzie, SSO w Apigee zwraca token OIDC/OAuth2, który klient może dołączyć do żądań wysyłanych do usług Edge.

Wewnętrzny OpenLDAP (konfiguracja domyślna)

Jeśli używasz wbudowanego OpenLDAP Apigee (gdzie host LDAP jest ustawiony na localhost), proces instalacji automatycznie zabezpiecza konfigurację. Podczas konfiguracji system automatycznie udostępnia konto usługi o najmniejszych uprawnieniach (cn=sso-reader) z losowo wygenerowanym tajnym kluczem i ograniczonym dostępem tylko do odczytu.

Dane logowania administratora roota OpenLDAP (cn=manager) są usuwane z plików konfiguracyjnych logowania jednokrotnego Apigee, aby zapobiec ujawnieniu danych logowania o wysokich uprawnieniach na dysku.

Jeśli używasz wewnętrznego OpenLDAP, przejdź do sekcji Instalowanie i konfigurowanie SSO w Apigee.

Zewnętrzny firmowy LDAP

Jeśli łączysz logowanie jednokrotne Apigee z zewnętrznym katalogiem LDAP, np. z firmowym Active Directory, przed konfiguracją musisz udostępnić w katalogu wstępnie skonfigurowane konto usługi tylko do odczytu. SSO w Apigee będzie używać tego konta wyłącznie do operacji wyszukiwania i powiązania.

Właściwości konfiguracji zewnętrznego LDAP

Aby skonfigurować zewnętrzny katalog LDAP, podaj w pliku konfiguracyjnym dane konta usługi tylko do odczytu. Skrypt setup-sso automatycznie wstrzyknie do konfiguracji niezbędne tokeny.

Dodaj te właściwości do pliku konfiguracyjnego, np. /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"

Po zdefiniowaniu tych właściwości przejdź do sekcji Instalowanie i konfigurowanie logowania jednokrotnego Apigee.