Cài đặt và định cấu hình Apigee SSO

Kể từ OPDK 4.54.00, kiến trúc SSO đã được hiện đại hoá. Nhà môi giới danh tính (Dex) hiện được nhúng trực tiếp vào thành phần apigee-openldap, giúp bạn không cần phải cài đặt một mô-đun apigee-sso cũ riêng biệt.

Để bật và định cấu hình tính năng SSO của Apigee, bạn phải làm như sau:

  1. Tạo người dùng máy cho Giao diện người dùng Edge mới: Tạo người dùng máy cần thiết cho Giao diện người dùng Edge mới để gọi API quản lý.
  2. Định cấu hình các thuộc tính trong tệp cấu hình chung: Tạo một tệp cấu hình duy nhất chứa các thuộc tính mà cả dịch vụ OpenLDAP (SSO) và Giao diện người dùng Edge mới đều yêu cầu.
  3. Tạo cơ sở dữ liệu SSO trong Postgres: Tạo cơ sở dữ liệu cho SSO trong phiên bản Apigee PostgreSQL.
  4. Áp dụng cấu hình SSO trong OpenLDAP: Áp dụng tệp cấu hình để bắt đầu SSO Apigee tích hợp trên nút OpenLDAP.
  5. Định cấu hình giao diện người dùng Edge mới: Cập nhật các thuộc tính giao diện người dùng Edge mới để sử dụng SSO mới của Apigee.

Từng bước được trình bày trong các phần tiếp theo.

Tạo người dùng máy cho giao diện người dùng

Giao diện người dùng Edge mới yêu cầu người dùng máy gọi API quản lý trong phần phụ trợ cho một số thao tác nhất định. Một tập lệnh được cài đặt trước trong nút apigee-openldap được dùng cho mục đích này.

Đọc thêm về tập lệnh và người dùng máy trong bài viết Sử dụng tập lệnh apigee-machine-user.

Sử dụng lệnh sau trong nút apigee-openldap để tạo người dùng máy cho Giao diện người dùng Edge mới và đảm bảo sử dụng chính xác thông tin đăng nhập đó khi xác định thuộc tính trong tệp cấu hình ở bước tiếp theo.

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

Định cấu hình các thuộc tính trong tệp cấu hình chung

Trước khi có thể bật SSO của Apigee và Giao diện người dùng Edge mới, bạn phải xác định một tệp cấu hình chung (ví dụ: /opt/silent.conf). Bạn có thể thay đổi đường dẫn và tên tệp này theo yêu cầu của môi trường.

Thêm các thuộc tính cấu hình cơ bản sau vào /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

Phân phối thuộc tính SSO

Các thuộc tính SSO của Apigee được phân phối trên các tệp cấu hình sau:

  • /opt/silent.conf (hoặc tệp cấu hình tuỳ chỉnh): Chứa các thuộc tính cấu hình cơ sở cho SSO và Giao diện người dùng Edge mới.
  • /opt/apigee/customer/application/openldap.properties: Chứa các thuộc tính cấu hình SSO bổ sung cho các tính năng không bắt buộc như SAML và HTTPS.

Tập lệnh setup-sso trong thành phần apigee-openldap phân tích cú pháp các biến từ cả hai tệp nêu trên. Tuỳ thuộc vào trường hợp sử dụng, bạn cần định cấu hình các thuộc tính có liên quan trong tệp cấu hình.

Các bước sau đây là không bắt buộc, tuỳ thuộc vào môi trường của bạn:

Tạo cơ sở dữ liệu SSO trong Postgres

Trên nút nơi apigee-postgresql đang chạy (nút chính trong thiết lập chế độ chờ chính), hãy tạo một cơ sở dữ liệu cho SSO:

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

Áp dụng cấu hình SSO trong OpenLDAP

Vì Apigee SSO được nhúng trong thành phần thư mục, nên bạn không cần cài đặt một gói độc lập. Bạn chỉ cần áp dụng tệp cấu hình cho nút OpenLDAP.

Cách bật và bắt đầu sử dụng Apigee SSO:
  1. Đăng nhập vào nút lưu trữ apigee-openldap.
  2. Thực thi lệnh setup-sso, truyền tệp cấu hình của bạn:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf

Định cấu hình giao diện người dùng mới của Edge

Sau khi Apigee SSO chạy, bạn phải định cấu hình Giao diện người dùng Edge mới để giao tiếp với dịch vụ này.

Sau khi bạn bật IDP bên ngoài trên Giao diện người dùng Edge mới, Giao diện người dùng Edge mới sẽ sử dụng OIDC/OAuth2 để kết nối với Máy chủ quản lý. Bạn không phải lo lắng về việc hết hạn mã thông báo giữa Giao diện người dùng Edge mới và Máy chủ quản lý Edge. Mã thông báo hết hạn sẽ tự động được làm mới.

  1. Đăng nhập vào nút lưu trữ Giao diện người dùng Edge mới.
  2. Đảm bảo tệp /opt/silent.conf của bạn có trên nút này.
  3. Áp dụng cấu hình bằng tập lệnh setup:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf