Configurar o apigee-sso para acesso HTTPS

Edge para nuvem privada v4.18.01

Em Instalar e configurar o SSO de borda, descrevemos como instalar e configurar o módulo de SSO do Edge para usar HTTP na porta 9099, conforme especificado pela seguinte propriedade no arquivo de configuração:

SSO_TOMCAT_PROFILE=DEFAULT

Como alternativa, você pode definir SSO_TOMCAT_PROFILE como um dos seguintes valores para ativar o acesso HTTPS:

  • SSL_PROXY: configura apigee-sso no modo de proxy, ou seja, você instalou um balanceador de carga na frente do apigee-sso e encerrou o TLS no balanceador de carga. Em seguida, especifique a porta usada em apigee-sso para solicitações do balanceador de carga.
  • SSL_TERMINATION: ativou o acesso TLS ao apigee-sso, o módulo SSO do Edge, na porta de sua escolha. É preciso especificar um keystore para esse modo que contenha um certificado assinado por uma CA. Não é possível usar um certificado autoassinado.

Você pode ativar o HTTPS ao instalar e configurar o apigee-sso inicialmente ou mais tarde.

Ativar o acesso HTTPS ao apigee-sso usando qualquer um desses modos desativa o acesso HTTP. Ou seja, não é possível acessar o apigee-sso usando HTTP e HTTPS ao mesmo tempo.

Ativar o modo SSL_PROXY

No modo SSL_PROXY, o sistema usa um balanceador de carga em frente ao módulo de SSO do Edge e encerra o TLS no balanceador de carga. Na figura a seguir, o balanceador de carga encerra o TLS na porta 443 e, em seguida, encaminha as solicitações para o módulo SSO do Edge na porta 9099:

Nesta configuração, você confia na conexão do balanceador de carga para o módulo SSO de borda, então não é necessário usar TLS. No entanto, as entidades externas, como o IdP SAML, agora precisam acessar o módulo SSO do Edge na porta 443, não na porta desprotegida da 9099.

O motivo para configurar o módulo SSO do Edge no modo SSL_PROXY é que o módulo de SSO do Edge gera automaticamente URLs de redirecionamento usados externamente pelo IdP como parte do processo de autenticação. Portanto, esses URLs de redirecionamento precisam conter o número da porta externa no balanceador de carga, 443 neste exemplo, e não a porta interna no módulo SSO de borda, 9099.

Observação: não é necessário criar um certificado TLS e uma chave para o modo SSL_PROXY porque a conexão entre o balanceador de carga e o módulo SSO de borda usa HTTP.

Se quiser configurar o módulo SSO do Edge para o modo SSL_PROXY, siga estas etapas:

  1. Adicione as seguintes definições ao seu arquivo de configuração:
    # Ative o modo SSL_PROXY.
    SSO_TOMCAT_PROFILE=SSL_PROXY

    # Especificar a porta apigee-sso, normalmente entre 1025 e 65535.
    # Normalmente, as portas 1024 e anteriores exigem acesso raiz pelo apigee-sso.
    # O padrão é 9099.
    SSO_TOMCAT_PORT=9099

    # Especifique o número da porta no balanceador de carga para encerrar o TLS.
    # Esse número de porta é necessário para que o apigee-sso gere automaticamente URLs de redirecionamento.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443

    # Defina o esquema de acesso público do apigee-sso como https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configure o módulo SSO do Edge:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Atualize a configuração do IdP para fazer uma solicitação HTTPS na porta 443 do balanceador de carga para acessar o SSO do Edge. Para mais informações, consulte Configurar o IdP SAML.
  4. Atualize a configuração da interface do Edge para HTTPS definindo estas propriedades:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https


    Consulte Ativar SAML na interface do Edge para mais informações.
  5. Se você instalou o portal de serviços para desenvolvedores ou a API BaaS, atualize-os para usar HTTPS para acessar o SSO Ede. Para mais informações, acesse:

Ativar o modo SSL_TERMINATION

Para o modo SSL_TERMINATION, é necessário:

  • Criou um certificado e uma chave TLS e os armazenou em um arquivo de keystore. Não é possível usar um certificado autoassinado. É preciso gerar um certificado de uma CA.
  • Atualize as definições de configuração do apigee-sso..

Para criar um arquivo de keystore a partir do seu certificado e chave:

  1. Crie um diretório para o arquivo JKS:
    > sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. Mude para o novo diretório:
    > cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. Crie um arquivo JKS contendo o certificado e a chave. É preciso especificar um keystore para esse modo que contenha um certificado assinado por uma CA. Não é possível usar um certificado autoassinado. Para ver um exemplo de como criar um arquivo JKS, consulte Como configurar TLS/SSL para o Edge local.
  4. Faça o arquivo JKS pertencente ao usuário "apigee":
    > sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl (em inglês)

Para configurar o módulo SSO do Edge:

  1. Adicione as seguintes definições ao seu arquivo de configuração:
    # Ative o modo SSL_TERMINATION.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION

    # Especifique o caminho para o arquivo de keystore.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    SSO_TOMCAT_KEYSTORE_ALIAS=sso

    # A senha especificada quando você criou o keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword

    # Especifique o número da porta HTTPS entre 1025 e 65535.
    # Normalmente, as portas 1024 e anteriores exigem acesso raiz pelo apigee-sso.
    # O padrão é 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443

    # Definir o esquema de acesso público do apigee-sso como https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configure o módulo SSO do Edge:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. Atualize a configuração do IdP para fazer uma solicitação HTTPS na porta 9443 do balanceador de carga para acessar o SSO do Edge. Para mais informações, consulte Configurar o IdP SAML.
  4. Atualize a configuração da interface do Edge para HTTPS definindo as seguintes propriedades:
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https


    Consulte Ativar SAML na interface do Edge para mais informações.
  5. Se você instalou o portal de serviços para desenvolvedores ou a API BaaS, atualize-os para usar HTTPS para acessar o SSO Ede. Para mais informações, acesse:

Como configurar SSO_TOMCAT_PROXY_PORT ao usar o modo SSL_TERMINATION

Talvez você tenha um balanceador de carga na frente do módulo SSO de borda que encerre o TLS no balanceador de carga, mas também ative o TLS entre o balanceador de carga e o SSO de borda. Na figura acima, para o modo SSL_PROXY, isso significa que a conexão do balanceador de carga com o SSO de borda usa TLS.

Nesse cenário, você configura o TLS no SSO do Edge como fez acima para o modo SSL_TERMINATION. No entanto, se o balanceador de carga usar um número de porta TLS diferente do que o SSO de borda usa para TLS, você também precisará especificar a propriedade SSO_TOMCAT_PROXY_PORT no arquivo de configuração. Exemplo:

  • O balanceador de carga encerra o TLS na porta 443
  • O SSO de borda encerra o TLS na porta 9443

Inclua a seguinte definição no arquivo de configuração:

# Especifique o número da porta no balanceador de carga para encerrar o TLS.
# Este número de porta é necessário para apigee-sso para gerar URLs de redirecionamento.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

Configure o IdP e a IU do Edge para fazer solicitações HTTPS na porta 443.