Cài đặt và định cấu hình dịch vụ SSO dựa trên Edge

Edge for Private Cloud phiên bản 4.19.01

Để cài đặt và định cấu hình mô-đun SSO của Edge, trước tiên bạn phải tạo hai nhóm Khoá và chứng chỉ TLS. Mô-đun SSO của cạnh sử dụng TLS để bảo mật quá trình truyền thông tin trong quá trình trao đổi qua SAML với Nhà cung cấp danh tính (IDP) dựa trên SAML.

Tạo khoá và chứng chỉ TLS

Các bước dưới đây để tạo chứng chỉ tự ký có thể phù hợp với môi trường thử nghiệm của bạn nhưng bạn thường yêu cầu chứng chỉ do CA ký cho môi trường sản xuất.

Cách tạo khoá xác minh và ký cũng như chứng chỉ tự ký:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/jwt-keys
  2. cd /opt/apigee/customer/application/apigee-sso/jwt-keys/
  3. sudo openssl genrsa -out privkey.pem 2048
  4. sudo openssl rsa -pubout -in privkey.pem -out pubkey.pem
  5. sudo chown apigee:apigee *.pem

Cách tạo khoá và chứng chỉ tự ký mà không cần cụm mật khẩu để giao tiếp với SAML IDP:

  1. sudo mkdir -p /opt/apigee/customer/application/apigee-sso/saml/
  2. cd /opt/apigee/customer/application/apigee-sso/saml/
  3. Tạo khoá riêng tư bằng cụm mật khẩu:
    sudo openssl genrsa -aes256 -out server.key 1024
  4. Xoá cụm mật khẩu khỏi khoá:
    sudo openssl rsa -in server.key -out server.key
  5. Tạo yêu cầu ký chứng chỉ cho CA:
    sudo openssl req -x509 -sha256 -new -key server.key -out server.csr
  6. Tạo chứng chỉ tự ký có thời gian hết hạn là 365 ngày:
    sudo openssl x509 -sha256 -days 365 -in server.csr -signkey server.key -out selfsigned.crt
  7. sudo chown apigee:apigee server.key
  8. sudo chown apigee:apigee selfsigned.crt

Nếu bạn muốn bật TLS trên mô-đun SSO của cạnh, bằng cách đặt SSO_TOMCAT_PROFILE thành SSL_TERMINATION hoặc với SSL_PROXY, bạn không thể sử dụng chứng chỉ tự ký. Bạn phải tạo một chứng chỉ của một CA. Xem Định cấu hình apigee-sso cho Truy cập HTTPS để biết thêm thông tin.

Cài đặt và định cấu hình SSO của cạnh cho HTTP truy cập

Để cài đặt mô-đun SSO của Edge, apigee-sso, bạn phải sử dụng cùng quy trình mà bạn từng cài đặt Edge. Vì apigee-sso được biểu thị bằng một tệp RPM, điều đó có nghĩa là người dùng thực hiện cài đặt phải là người dùng gốc hoặc là người dùng có toàn quyền sudo truy cập. Xem bài viết Tổng quan về chế độ cài đặt Edge để biết thêm thông tin.

Truyền tệp cấu hình đến trình cài đặt. Tệp cấu hình có dạng như sau:

IP1=hostname_or_ip_of_management_server
IP2=hostname_or_ip_of_UI_and_apigge_sso

## Management Server configuration.
MSIP=$IP1
MGMT_PORT=8080
# Edge sys admin username and password as set when you installed Edge.
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
# Set the protocol for the Edge management API. Default is http. 
# Set to https if you enabled TLS on the management API.
MS_SCHEME=http

## Postgres configuration.
PG_HOST=$IP1
PG_PORT=5432
# Postgres username and password as set when you installed Edge.
PG_USER=apigee
PG_PWD=postgres

# apigee-sso configuration.
SSO_PROFILE="saml"
# Externally accessible IP or DNS name of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP2
# Default port is 9099. If changing, set both properties to the same value.
SSO_PUBLIC_URL_PORT=9099
SSO_TOMCAT_PORT=9099
# Set Tomcat TLS mode to DEFAULT to use HTTP access to apigee-sso.
SSO_TOMCAT_PROFILE=DEFAULT
SSO_PUBLIC_URL_SCHEME=http

# SSO admin user name. The default is ssoadmin.
SSO_ADMIN_NAME=ssoadmin
# SSO admin password using uppercase, lowercase, number, and special chars.
SSO_ADMIN_SECRET=Secret123

# Enable the ability to sign an authentication request with SAML SSO.
SSO_SAML_SIGN_REQUEST=y

# Path to signing key and secret from "Create the TLS keys and certificates" above.
SSO_JWT_SIGNING_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/privkey.pem
SSO_JWT_VERIFICATION_KEY_FILEPATH=/opt/apigee/customer/application/apigee-sso/jwt-keys/pubkey.pem

# Name of SAML IDP. For example, okta or adfs.
SSO_SAML_IDP_NAME=okta
# Text displayed to user when they attempt to access Edge UI.
SSO_SAML_IDP_LOGIN_TEXT="Please log in to your IDP"

# The metadata URL from your IDP.
# If you have a metadata file, and not a URL, 
# see "Specifying a metadata file instead of a URL" below.
SSO_SAML_IDP_METADATA_URL=https://dev-343434.oktapreview.com/app/exkar20cl/sso/saml/metadata

# Specifies to skip TLS validation for the URL specified
# by SSO_SAML_IDP_METADATA_URL. Necessary if URL uses a self-signed cert. 
# Default value is "n".
SSO_SAML_IDPMETAURL_SKIPSSLVALIDATION=n

# SAML service provider key and cert from "Create the TLS keys and certificates" above.
SSO_SAML_SERVICE_PROVIDER_KEY=/opt/apigee/customer/application/apigee-sso/saml/server.key
SSO_SAML_SERVICE_PROVIDER_CERTIFICATE=/opt/apigee/customer/application/apigee-sso/saml/selfsigned.crt
# The passphrase used when you created the SAML cert and key.
# The section "Create the TLS keys and certificates" above removes the passphrase,
# but this property is available if you require a passphrase.
# SSO_SAML_SERVICE_PROVIDER_PASSWORD=samlSP123

# Requires that SAML responses be signed by your IDP.
SSO_SAML_SIGNED_ASSERTIONS=y

# Must configure an SMTP server so Edge SSO can send emails to users.
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
# omit for no username
SMTPPASSWORD=smtppwd
# omit for no password
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

Cách cài đặt mô-đun SSO đối với cạnh:

  1. Đăng nhập vào nút Máy chủ quản lý. Nút đó phải có apigee-service đã được cài đặt như mô tả tại Cài đặt tiện ích thiết lập apigee của Edge.

    Xin lưu ý rằng bạn có thể cài đặt tính năng SSO của cạnh trên một nút khác. Tuy nhiên, nút đó phải có thể truy cập Máy chủ quản lý qua cổng 8080.

  2. Cài đặt và định cấu hình apigee-sso:
    /opt/apigee/apigee-setup/bin/setup.sh -p sso -f configFile

    Trong đó configFile là tệp cấu hình như trên.

  3. Cài đặt tiện ích apigee-ssoadminapi.sh được dùng để quản lý quản trị viên và người dùng máy cho mô-đun apigee-sso:
    /opt/apigee/apigee-service/bin/apigee-service apigee-ssoadminapi install
  4. Đăng xuất khỏi shell rồi đăng nhập lại để thêm apigee-ssoadminapi.sh tiện ích vào đường dẫn của bạn.

Chỉ định tệp siêu dữ liệu thay vì URL

Nếu IDP (nhà cung cấp danh tính) của bạn không hỗ trợ URL siêu dữ liệu loại HTTP/HTTPS, bạn có thể sử dụng tệp XML siêu dữ liệu để định cấu hình SSO cho cạnh:

  1. Sao chép nội dung của tệp XML siêu dữ liệu từ nhà cung cấp danh tính (IDP) vào một tệp trên nút SSO của cạnh. Cho ví dụ: sao chép XML sang:
    /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  2. Thay đổi quyền sở hữu của tệp thành apigee:apigee:
    chown apigee:apigee /opt/apigee/customer/application/apigee-sso/saml/metadata.xml
  3. Thiết lập giá trị của SSO_SAML_IDP_METADATA_URL thành đường dẫn tệp tuyệt đối:
    SSO_SAML_IDP_METADATA_URL=file:///opt/apigee/customer/application/apigee-sso/saml/metadata.xml

    Bạn phải thêm tiền tố "file://" vào đường dẫn tệp, theo sau là đường dẫn tuyệt đối từ căn bậc (/).