LDAP IDP 구성

버전 4.54.00에서 Apigee SSO 계층이 현대화됨에 따라 기본 ID 브로커는 기본적으로 간접 바인딩 (검색 및 바인딩)을 요구하며 더 이상 직접 (단순) 바인딩을 지원하지 않습니다. 최소 권한 보안 표준을 유지하기 위해 Apigee SSO는 이제 디렉터리 검색에 전용 읽기 전용 서비스 계정을 사용하도록 표준화합니다.

이 섹션에서는 Apigee 프라이빗 클라우드용 Edge에서 LDAP를 IDP로 사용할 수 있는 메커니즘을 설명합니다.

인증 메커니즘: 검색 및 바인딩 (간접 바인딩)

검색 및 바인딩을 사용하면 사용자가 RDN (예: 사용자 이름 또는 이메일 주소)과 비밀번호를 제공합니다. 그러면 Apigee SSO가 사용자의 고유 이름 (DN)을 찾아 바인딩을 시도합니다. 검색 및 바인딩은 부분 일치를 허용합니다.

다음은 검색 및 바인딩 작업의 단계를 보여줍니다.

  • 사용자가 사용자 이름 또는 이메일 주소와 같은 식별자와 비밀번호를 입력합니다.
  • Apigee SSO는 LDAP 필터와 읽기 전용 서비스 계정 사용자 인증 정보 집합을 사용하여 검색을 실행합니다.
  • 일치하는 항목이 정확히 하나인 경우 Apigee SSO는 사용자의 DN을 가져옵니다. 일치하는 항목이 없거나 두 개 이상인 경우 Apigee SSO는 사용자를 거부합니다.
  • 그런 다음 Apigee SSO는 사용자의 DN과 제공된 비밀번호를 LDAP 서버에 바인딩하려고 시도합니다.
  • LDAP 서버가 인증을 실행합니다.
  • 성공하면 Apigee SSO는 클라이언트가 Edge 서비스에 대한 요청에 연결할 수 있는 OIDC/OAuth2 토큰을 반환합니다.

내부 OpenLDAP (기본 구성)

삽입된 Apigee OpenLDAP (LDAP 호스트가 localhost로 설정됨)를 사용하는 경우 설치 프로세스에서 구성을 자동으로 보호합니다. 설치 중에 시스템은 무작위로 생성된 보안 비밀과 제한된 읽기 전용 액세스 권한이 있는 최소 권한 서비스 계정 (cn=sso-reader)을 자동으로 프로비저닝합니다.

OpenLDAP 루트 관리자 사용자 인증 정보 (cn=manager)는 디스크에서 높은 권한 사용자 인증 정보가 노출되지 않도록 Apigee SSO 구성 파일에서 삭제됩니다.

내부 OpenLDAP를 사용하는 경우 Apigee SSO 설치 및 구성으로 진행합니다.

외부 기업 LDAP

Apigee SSO를 기업 Active Directory와 같은 외부 LDAP 디렉터리에 연결하는 경우 구성 전에 디렉터리에 미리 프로비저닝된 읽기 전용 서비스 계정을 제공해야 합니다. 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 설치 및 구성으로 진행합니다.