Począwszy od OPDK 4.54.00, architektura logowania jednokrotnego została zmodernizowana. Broker tożsamości (Dex) jest teraz wbudowany bezpośrednio w komponent apigee-openldap, co eliminuje konieczność instalowania osobnego starszego modułu apigee-sso.
Aby włączyć i skonfigurować logowanie jednokrotne w Apigee, musisz wykonać te czynności:
- Utwórz użytkownika maszyny na potrzeby nowego interfejsu Edge: utwórz użytkownika maszyny, który jest wymagany, aby nowy interfejs Edge mógł wywoływać interfejsy API zarządzania.
- Skonfiguruj właściwości w wspólnym pliku konfiguracyjnym: utwórz jeden plik konfiguracyjny, który zawiera właściwości wymagane zarówno przez usługę OpenLDAP (SSO), jak i nowy interfejs Edge.
- Utwórz bazę danych logowania jednokrotnego w Postgres: utwórz bazę danych na potrzeby logowania jednokrotnego w instancji Apigee PostgreSQL.
- Zastosuj konfiguracje logowania jednokrotnego w OpenLDAP: zastosuj plik konfiguracyjny, aby uruchomić zintegrowane logowanie jednokrotne w Apigee w węźle OpenLDAP.
- Skonfiguruj nowy interfejs Edge: zaktualizuj właściwości nowego interfejsu Edge, aby używać nowego logowania jednokrotnego w Apigee.
Każdy z tych kroków jest opisany w sekcjach poniżej.
Tworzenie użytkownika maszyny na potrzeby interfejsu
Nowy interfejs Edge wymaga użytkownika maszyny do wywoływania interfejsów API zarządzania
w backendzie w przypadku niektórych operacji. W tym celu używany jest skrypt fabrycznie zainstalowany w węźle
apigee-openldap.
Więcej informacji o skrypcie i użytkownikach maszyn znajdziesz w artykule Korzystanie ze skryptu apigee-machine-user.
Aby utworzyć użytkownika maszyny na potrzeby nowego interfejsu Edge, użyj w węźle apigee-openldap
tego polecenia. Podczas definiowania właściwości
w pliku konfiguracyjnym w następnym kroku użyj dokładnie tych samych danych logowania.
/opt/apigee/apigee-openldap/bin/apigee-machineuser.sh add -u ui-machine-user@apigee.com -p Secret123
Konfigurowanie właściwości w wspólnym pliku konfiguracyjnym
Zanim włączysz SSO w Apigee i nowy interfejs Edge, musisz zdefiniować wspólny plik konfiguracji (np. /opt/silent.conf). W razie potrzeby możesz zmienić tę ścieżkę i nazwę pliku.
Dodaj do pliku /opt/silent.conf te podstawowe właściwości konfiguracji:
# ========================================== # 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
Dystrybucja właściwości logowania jednokrotnego
Właściwości SSO w Apigee są rozproszone w tych plikach konfiguracyjnych:
/opt/silent.conf(lub niestandardowy plik konfiguracyjny): zawiera podstawowe właściwości konfiguracji logowania jednokrotnego i nowego interfejsu Edge./opt/apigee/customer/application/openldap.properties: zawiera dodatkowe właściwości konfiguracji logowania jednokrotnego na potrzeby funkcji opcjonalnych, takich jak SAML i HTTPS.
Skrypt setup-sso w komponencie apigee-openldap analizuje zmienne z obu tych plików. W zależności od przypadku użycia musisz skonfigurować odpowiednie właściwości w plikach konfiguracyjnych.
Te kroki są opcjonalne i zależą od Twojego środowiska:
Tworzenie bazy danych logowania jednokrotnego w Postgres
W węźle, w którym działa apigee-postgresql (węzeł główny w konfiguracji podstawowej i rezerwowej), utwórz bazę danych na potrzeby logowania jednokrotnego:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-sso-db
Zastosuj konfiguracje logowania jednokrotnego w OpenLDAP
Logowanie jednokrotne w Apigee jest wbudowane w komponent katalogu, więc nie musisz instalować osobnego pakietu. Wystarczy zastosować plik konfiguracyjny w węźle OpenLDAP.
Aby włączyć i uruchomić logowanie jednokrotne w Apigee:- Zaloguj się w węźle, w którym jest hostowany komponent
apigee-openldap. - Uruchom polecenie
setup-sso, przekazując plik konfiguracyjny:/opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf
Konfigurowanie nowego interfejsu Edge
Gdy logowanie jednokrotne w Apigee jest uruchomione, musisz skonfigurować nowy interfejs Edge, aby mógł się z nim komunikować.
Gdy włączysz zewnętrznego dostawcę tożsamości w nowym interfejsie Edge, będzie on używać OIDC/OAuth2 do łączenia się z serwerem zarządzania. Nie musisz się martwić o wygasanie tokenów między nowym interfejsem Edge a serwerem zarządzania Edge. Wygasłe tokeny są automatycznie odświeżane.
- Zaloguj się w węźle, w którym jest hostowany nowy interfejs Edge.
- Upewnij się, że w tym węźle jest dostępny plik
/opt/silent.conf. - Zastosuj konfigurację za pomocą skryptu
setup:/opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf