Apigee SSO 설치 및 구성

OPDK 4.54.00부터 SSO 아키텍처가 현대화되었습니다. 이제 ID 브로커 (Dex)가 apigee-openldap 구성요소에 직접 삽입되어 별도의 기존 apigee-sso 모듈을 설치할 필요가 없습니다.

Apigee SSO를 사용 설정하고 구성하려면 다음 단계를 따르세요.

  1. 새 Edge UI의 머신 사용자 만들기: 새 Edge UI에서 관리 API를 호출하는 데 필요한 머신 사용자를 만듭니다.
  2. 공통 구성 파일에서 속성 구성: OpenLDAP (SSO) 서비스와 새 Edge UI 모두에 필요한 속성이 포함된 단일 구성 파일을 만듭니다.
  3. Postgres에서 SSO 데이터베이스 만들기: Apigee PostgreSQL 인스턴스에서 SSO용 데이터베이스를 만듭니다.
  4. OpenLDAP에서 SSO 구성 적용: 구성 파일을 적용하여 OpenLDAP 노드에서 통합 Apigee SSO를 시작합니다.
  5. 새 Edge UI 구성: 새 Apigee SSO를 사용하도록 새 Edge UI 속성을 업데이트합니다.

다음 섹션에서 각 단계를 설명합니다.

UI의 머신 사용자 만들기

새 Edge UI에는 특정 작업의 백엔드에서 Management API를 호출하기 위한 머신 사용자가 필요합니다. apigee-openldap 노드에 사전 설치된 스크립트가 이 목적으로 사용됩니다.

스크립트 및 머신 사용자에 대한 자세한 내용은 apigee-machine-user 스크립트 사용을 참고하세요.

`apigee-openldap` 노드 에서 다음 명령어를 사용하여 새 Edge UI의 머신 사용자를 만들고 후속 단계에서 구성 파일의 속성을 정의할 때 정확히 동일한 사용자 인증 정보를 사용해야 합니다.

 /opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
 

공통 구성 파일에서 속성 구성

Apigee SSO 및 새 Edge UI를 사용 설정하려면 먼저 공통 구성 파일 (예: /opt/silent.conf)을 정의해야 합니다. 이 경로와 파일 이름은 환경에 맞게 변경할 수 있습니다.

다음 기본 구성 속성을 /opt/silent.conf에 추가합니다.

# ==========================================
# SSO Enablement
# ==========================================
ENABLE_SSO=y

# ==========================================
# SSO Hostname/IP and Port config for Dex
# ==========================================
SSO_PUBLIC_URL_SCHEME=http
SSO_PUBLIC_URL_HOSTNAME=localhost
SSO_PUBLIC_URL_PORT=9099

# ==========================================
# Static Client UI credentials
# ==========================================
MANAGEMENT_UI_SSO_CLIENT_ID=unifiedui
MANAGEMENT_UI_SSO_CLIENT_SECRET=secret123

# ==========================================
# Management UI & SSO redirect URLs
# ==========================================
MANAGEMENT_UI_SCHEME=http
MANAGEMENT_UI_IP=localhost
MANAGEMENT_UI_PORT=3001

# ==========================================
# Management Server parameters (Required for SSO registration)
# ==========================================
MSIP=localhost
ADMIN_EMAIL=admin@apigee.com
APIGEE_ADMINPW=Secret123

# ==========================================
# Machine user for UI
# ==========================================
UI_MACHINE_USER=ui-machine-user@apigee.com
UI_MACHINE_PWD=Secret123

# ==========================================
# Postgres connection parameters
# ==========================================
PG_HOST=postgres_host
PG_USER=apigee
PG_PWD=postgres_password

# ==========================================
# Other UI Parameters
# ==========================================
# Set to sso to enable SSO, default value is basic.
AUTH_MODE=sso

# Y to use internal LDAP for authentication, N to use external IDP
SSO_LOCAL_LDAP=y

MANAGEMENT_UI_APP_ENV=OPDK
MANAGEMENT_UI_SSO_ENABLED=y
MANAGEMENT_UI_SSO_CSRF_SECRET=secret
MANAGEMENT_UI_SSO_CSRF_EXPIRATION_HOURS=24
MANAGEMENT_UI_SSO_STRICT_TRANSPORT_SECURITY_AGE_HOURS=24
MANAGEMENT_UI_SSO_PUBLIC_KEY_CACHE_HOURS=0.5

SSO 속성 배포

Apigee SSO 속성은 다음 구성 파일에 배포됩니다.

  • /opt/silent.conf (또는 맞춤 구성 파일): SSO 및 새 Edge UI의 기본 구성 속성이 포함되어 있습니다.
  • /opt/apigee/customer/application/openldap.properties: SAML 및 HTTPS와 같은 선택적 기능의 추가 SSO 구성 속성이 포함되어 있습니다.

apigee-openldap 구성요소의 setup-sso 스크립트는 위의 두 파일에서 변수를 파싱합니다. 사용 사례에 따라 구성 파일에서 관련 속성을 구성해야 합니다.

다음 단계는 환경에 따라 선택사항입니다.

Postgres에서 SSO 데이터베이스 만들기

apigee-postgresql이 실행 중인 노드 (기본-대기 설정의 마스터 노드)에서 SSO용 데이터베이스를 만듭니다.

/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-sso-db

OpenLDAP에서 SSO 구성 적용

Apigee SSO는 디렉터리 구성요소에 삽입되므로 독립형 패키지를 설치할 필요가 없습니다. 구성 파일을 OpenLDAP 노드에 적용하기만 하면 됩니다.

Apigee SSO를 사용 설정하고 시작하려면 다음 단계를 따르세요.
  1. apigee-openldap을 호스팅하는 노드에 로그인합니다.
  2. 구성 파일을 전달하여 setup-sso 명령어를 실행합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf

새 Edge UI 구성

Apigee SSO가 실행되면 새 Edge UI가 Apigee SSO와 통신하도록 구성해야 합니다.

새 Edge UI에서 외부 IDP를 사용 설정하면 새 Edge UI는 OIDC/OAuth2를 사용하여 관리 서버에 연결합니다. 새 Edge UI와 Edge 관리 서버 간에 토큰이 만료되는 것에 대해 걱정할 필요가 없습니다. 만료된 토큰은 자동으로 새로고침됩니다.

  1. 새 Edge UI를 호스팅하는 노드에 로그인합니다.
  2. 이 노드에서 /opt/silent.conf 파일을 사용할 수 있는지 확인합니다.
  3. setup 스크립트를 사용하여 구성을 적용합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf