Configurar o apigee-sso para acesso HTTPS

Edge para nuvem privada v4.18.05

Instalar e configurar o SSO do Edge descreve como instalar e configurar o módulo do 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, defina SSO_TOMCAT_PROFILE como um dos seguintes valores para ativar o acesso HTTPS:

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

Você pode ativar o HTTPS no momento em que instalar e configurar o apigee-sso pela primeira vez ou mais tarde.

Ativar o acesso HTTPS a apigee-sso usando qualquer um dos modos desativa o acesso HTTP. Ou seja, não é possível acessar apigee-sso usando HTTP e HTTPS simultaneamente.

Ativar o modo SSL_PROXY

No modo SSL_PROXY, o sistema usa um balanceador de carga na frente do 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 encaminha as solicitações para o módulo de SSO do Edge na porta 9099:

Nessa configuração, você confia na conexão do balanceador de carga para o módulo de SSO do Edge. Portanto, não é necessário usar o TLS para essa conexão. No entanto, entidades externas, como o IDP SAML, agora precisam acessar o módulo de SSO do Edge na porta 443, e não na porta 9099 não protegida.

O motivo para configurar o módulo de SSO do Edge no modo SSL_PROXY é que ele 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 de SSO do Edge, 9099.

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

Para configurar o módulo de SSO do Edge para o modo SSL_PROXY:

  1. Adicione as seguintes configurações ao arquivo de configuração:
    # Enable SSL_PROXY mode.
    SSO_TOMCAT_PROFILE=SSL_PROXY
    
    # Specify the apigee-sso port, typically between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9099
    
    # Specify the port number on the load balancer for terminating TLS.
    # This port number is necessary for apigee-sso to auto-generate redirect URLs.
    SSO_TOMCAT_PROXY_PORT=443
    SSO_PUBLIC_URL_PORT=443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configure o módulo de 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 e acessar o SSO do Edge. Consulte Configurar o SAML IDP para saber mais.
  4. Atualize a configuração da interface do Edge para HTTPS definindo as seguintes propriedades no arquivo de configuração:
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    Em seguida, atualize a interface do Edge:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-sso -f configFile

    Consulte Ativar o SAML na interface do Edge para saber mais.

  5. Se você instalou o portal de serviços para desenvolvedores da Apigee (ou simplesmente o portal), atualize-o para usar HTTPS para acessar o SSO do Ede. Para mais informações, consulte Como configurar o portal para usar SAML para se comunicar com o Edge.

Ativar o modo SSL_TERMINATION

Para o modo SSL_TERMINATION, é necessário:

  • Gerou um certificado e uma chave TLS e os armazenou em um arquivo de repositório de chaves. Não é possível usar um certificado autoassinado. Você precisa gerar um certificado de uma AC.
  • Atualizar as configurações de apigee-sso.

Para criar um arquivo de keystore com o certificado e a 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 com o certificado e a chave. É necessário especificar um keystore para esse modo que contenha um certificado assinado por uma AC. Não é possível usar um certificado autoassinado. Para conferir um exemplo de como criar um arquivo JKS, consulte Como configurar o TLS/SSL para o Edge no local.
  4. Faça com que o arquivo JKS seja de propriedade do usuário "apigee":
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Para configurar o módulo de SSO do Edge:

  1. Adicione as seguintes configurações ao arquivo de configuração:
    # Enable SSL_TERMINATION mode.
    SSO_TOMCAT_PROFILE=SSL_TERMINATION
    
    # Specify the path to the keystore file.
    SSO_TOMCAT_KEYSTORE_FILEPATH=/opt/apigee/customer/application/apigee-sso/tomcat-ssl/keystore.jks
    
    SSO_TOMCAT_KEYSTORE_ALIAS=sso
    
    # The password specified when you created the keystore.
    SSO_TOMCAT_KEYSTORE_PASSWORD=keystorePassword
    
    # Specify the HTTPS port number between 1025 and 65535.
    # Typically ports 1024 and below require root access by apigee-sso.
    # The default is 9099.
    SSO_TOMCAT_PORT=9443
    SSO_PUBLIC_URL_PORT=9443
    
    # Set public access scheme of apigee-sso to https.
    SSO_PUBLIC_URL_SCHEME=https
  2. Configure o módulo de 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 e acessar o SSO do Edge. Consulte Configurar o SAML IDP para saber mais.
  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 o SAML na interface do Edge para saber mais.

  5. Se você instalou o portal de serviços para desenvolvedores, atualize-o para usar HTTPS e acessar o SSO do Ede. Para saber mais, consulte Como configurar o portal de serviços para desenvolvedores para usar SAML para se comunicar com o Edge.

Como definir SSO_TOMCAT_PROXY_PORT ao usar o modo SSL_TERMINATION

Você pode ter um balanceador de carga na frente do módulo do SSO do Edge que encerra o TLS no balanceador de carga, mas também ativa o TLS entre o balanceador de carga e o SSO do Edge. Na figura acima, para o modo SSL_PROXY, isso significa que a conexão do balanceador de carga para o SSO do Edge usa TLS.

Nesse cenário, você configura o SSO do TLS no Edge da mesma forma que fez para o modo SSL_TERMINATION. No entanto, se o balanceador de carga usar um número de porta TLS diferente do que o SSO do Edge usa para TLS, também será necessário 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 do Edge encerra o TLS na porta 9443

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

# Specify the port number on the load balancer for terminating TLS.
# This port number is necessary for apigee-sso to generate redirect URLs.
SSO_TOMCAT_PROXY_PORT=443
SSO_PUBLIC_URL_PORT=443

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