Instalar e configurar o SSO da Apigee

A partir do OPDK 4.54.00, a arquitetura de SSO foi modernizada. O broker de identidade (Dex) agora está incorporado diretamente no componente apigee-openldap, eliminando a necessidade de instalar um módulo apigee-sso legado separado.

Para ativar e configurar o SSO da Apigee, faça o seguinte:

  1. Criar um usuário de máquina para a nova interface do Edge: crie um usuário de máquina necessário para que a nova interface do Edge invoque APIs de gerenciamento.
  2. Configurar propriedades no arquivo de configuração comum: crie um único arquivo de configuração que contenha as propriedades exigidas pelo serviço OpenLDAP (SSO) e pela nova interface do Edge.
  3. Criar um banco de dados de SSO no Postgres: crie um banco de dados para SSO na instância do PostgreSQL da Apigee.
  4. Aplicar configurações de SSO no OpenLDAP: aplique o arquivo de configuração para iniciar o SSO integrado da Apigee no nó OpenLDAP.
  5. Configurar a nova interface do Edge: atualize as propriedades da nova interface do Edge para usar o novo SSO da Apigee.

Cada uma dessas etapas é descrita nas seções a seguir.

Criar um usuário de máquina para a interface

A nova interface do Edge exige um usuário de máquina para invocar APIs de gerenciamento no back-end para determinadas operações. Um script pré-instalado no apigee-openldap nó é usado para essa finalidade.

Saiba mais sobre o script e os usuários de máquina em Usar o script apigee-machine-user.

Use o comando a seguir no nó apigee-openldap para criar um usuário de máquina para a nova interface do Edge e use as mesmas credenciais ao definir a propriedade no arquivo de configuração na próxima etapa.

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

Configurar propriedades no arquivo de configuração comum

Antes de ativar o SSO da Apigee e a nova interface do Edge, defina um arquivo de configuração comum (por exemplo, /opt/silent.conf). Você pode mudar esse caminho e nome de arquivo conforme necessário para seu ambiente.

Adicione as seguintes propriedades de configuração de base ao arquivo /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

Distribuição de propriedades de SSO

As propriedades de SSO da Apigee são distribuídas nos seguintes arquivos de configuração:

  • /opt/silent.conf (ou seu arquivo de configuração personalizado): contém as propriedades de configuração de base para SSO e a nova interface do Edge.
  • /opt/apigee/customer/application/openldap.properties: contém outras propriedades de configuração de SSO para recursos opcionais, como SAML e HTTPS.

O script setup-sso no componente apigee-openldap analisa as variáveis dos dois arquivos acima. Dependendo do seu caso de uso, é necessário configurar as propriedades relevantes nos arquivos de configuração.

As etapas a seguir são opcionais, dependendo do seu ambiente:

Criar um banco de dados de SSO no Postgres

No nó em que o apigee-postgresql está em execução (nó principal na configuração principal-em espera), crie um banco de dados para SSO:

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

Aplicar configurações de SSO no OpenLDAP

Como o SSO da Apigee está incorporado no componente de diretório, não é necessário instalar um pacote independente. Basta aplicar o arquivo de configuração ao nó OpenLDAP.

Para ativar e iniciar o SSO da Apigee:
  1. Faça login no nó que hospeda apigee-openldap.
  2. Execute o comando setup-sso, transmitindo o arquivo de configuração:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap setup-sso -f /opt/silent.conf

Configurar a nova interface do Edge

Depois que o SSO da Apigee estiver em execução, configure a nova interface do Edge para se comunicar com ele.

Depois de ativar um IdP externo na nova interface do Edge, ela usa o OIDC/OAuth2 para se conectar ao servidor de gerenciamento. Não é necessário se preocupar com a expiração de tokens entre a nova interface do Edge e o servidor de gerenciamento do Edge. Os tokens expirados são atualizados automaticamente.

  1. Faça login no nó que hospeda a nova interface do Edge.
  2. Verifique se o arquivo /opt/silent.conf está disponível nesse nó.
  3. Aplique a configuração usando o script setup:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-ui setup -f /opt/silent.conf