HTTPS 액세스를 위한 Apigee SSO 구성

Apigee SSO 설치 및 구성에서는 Edge 구성 파일의 다음 속성에 지정된 대로 포트 9099에서 HTTP를 사용하도록 Apigee SSO 모듈을 설치하고 구성하는 방법을 설명합니다.

SSO_TOMCAT_PROFILE=DEFAULT

또는 SSO_TOMCAT_PROFILE를 다음 값 중 하나로 설정하여 HTTPS 액세스를 사용 설정할 수 있습니다.

  • SSL_PROXY: Apigee SSO 모듈인 apigee-sso를 프록시 모드로 구성합니다. 즉, apigee-sso 앞에 부하 분산기를 설치하고 부하 분산기에서 TLS를 종료했습니다. 그런 다음 부하 분산기의 요청에 대해 apigee-sso에 사용되는 포트를 지정합니다.
  • SSL_TERMINATION: 선택한 포트에서 apigee-sso에 대한 TLS 액세스를 사용 설정했습니다. CA에서 서명한 인증서가 포함된 이 모드의 키 저장소를 지정해야 합니다. 자체 서명 인증서는 사용할 수 없습니다.

처음에 apigee-sso를 설치하고 구성할 때 HTTPS를 사용 설정하거나 나중에 사용 설정할 수 있습니다.

두 모드 중 하나를 사용하여 apigee-sso에 대한 HTTPS 액세스를 사용 설정하면 HTTP 액세스가 사용 중지됩니다. 즉, HTTP와 HTTPS를 동시에 사용하여 apigee-sso에 액세스할 수 없습니다.

SSL_PROXY 모드 사용 설정

SSL_PROXY 모드에서는 시스템이 Apigee SSO 모듈 앞에 부하 분산기를 사용하고 부하 분산기의 TLS를 종료합니다. 다음 그림에서 부하 분산기는 포트 443에서 TLS를 종료한 후 포트 9099의 Apigee SSO 모듈로 요청을 전달합니다.

이 구성에서는 부하 분산기와 Apigee SSO 모듈 간의 연결을 신뢰하므로 해당 연결에 TLS를 사용할 필요가 없습니다. 하지만 이제 IDP와 같은 외부 법인은 보호되지 않는 포트 9099가 아닌 포트 443에서 Apigee SSO 모듈에 액세스해야 합니다.

Apigee SSO 모듈을 SSL_PROXY 모드로 구성하는 이유는 Apigee SSO 모듈이 인증 프로세스의 일부로 IDP에서 외부에서 사용하는 리디렉션 URL을 자동으로 생성하기 때문입니다. 따라서 이러한 리디렉션 URL에는 Apigee SSO 모듈의 내부 포트(9099)가 아니라 부하 분산기의 외부 포트 번호(이 예시에서는 443)가 포함되어야 합니다.

SSL_PROXY 모드용으로 Apigee SSO 모듈을 구성하려면 다음 안내를 따르세요.

  1. 구성 파일에 다음 설정을 추가합니다.
    # 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. Apigee SSO 모듈을 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 이제 Apigee SSO에 액세스하려면 부하 분산기의 포트 443에서 HTTPS 요청을 하도록 IDP 구성을 업데이트하세요. 자세한 내용은 다음 중 하나를 참고하세요.
  4. 구성 파일에서 다음 속성을 설정하여 HTTPS의 Edge UI 구성을 업데이트합니다.
    SSO_PUBLIC_URL_PORT=443
    SSO_PUBLIC_URL_SCHEME=https

    그런 다음 Edge UI를 업데이트합니다.

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

    기본 UI용 edge-ui 구성요소를 사용합니다.

  5. Apigee Developer Services 포털 (또는 간단히 포털)을 설치한 경우 HTTPS를 사용하여 Apigee SSO에 액세스하도록 업데이트하세요. 자세한 내용은 외부 IDP를 사용하도록 포털 구성을 참조하세요.

자세한 내용은 Edge UI에서 외부 IDP 사용 설정을 참조하세요.

SSL_TERMINATION 모드 사용 설정

SSL_TERMINATION 모드의 경우 다음을 수행해야 합니다.

  • TLS 인증서와 키를 생성하여 키 저장소 파일에 저장합니다. 자체 서명 인증서는 사용할 수 없습니다. CA에서 인증서를 생성해야 합니다.
  • apigee-sso.의 구성 설정 업데이트

인증서 및 키에서 키 저장소 파일을 만들려면 다음 안내를 따르세요.

  1. JKS 파일의 디렉터리를 만듭니다.
    sudo mkdir -p /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  2. 새 디렉터리로 변경합니다.
    cd /opt/apigee/customer/application/apigee-sso/tomcat-ssl/
  3. 인증서와 키가 포함된 JKS 파일을 만듭니다. CA에서 서명한 인증서가 포함된 이 모드의 키 저장소를 지정해야 합니다. 자체 서명 인증서는 사용할 수 없습니다. JKS 파일을 만드는 예시는 Edge 온프레미스용 TLS/SSL 구성을 참조하세요.
  4. 'apigee' 사용자가 소유한 JKS 파일을 만듭니다.
    sudo chown -R apigee:apigee /opt/apigee/customer/application/apigee-sso/tomcat-ssl

Apigee SSO 모듈을 구성하려면 다음 안내를 따르세요.

  1. 구성 파일에 다음 설정을 추가합니다.
    # 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. Apigee SSO 모듈을 구성합니다.
    /opt/apigee/apigee-service/bin/apigee-service apigee-sso setup -f configFile
  3. 이제 Apigee SSO에 액세스하려면 부하 분산기의 포트 9443에서 HTTPS 요청을 하도록 IDP 구성을 업데이트하세요. 이 포트를 사용하는 다른 서비스가 없는지 확인합니다.

    자세한 내용은 다음을 참조하세요.

  4. 다음 속성을 설정하여 HTTPS의 Edge UI 구성을 업데이트합니다.
    SSO_PUBLIC_URL_PORT=9443
    SSO_PUBLIC_URL_SCHEME=https
  5. 개발자 서비스 포털을 설치한 경우 HTTPS를 사용하여 Apigee SSO에 액세스하도록 업데이트하세요. 자세한 내용은 외부 IDP를 사용하도록 포털 구성을 참조하세요.

SSL_TERMINATION 모드 사용 시 SSO_TOMCAT_PROXY_PORT 설정

부하 분산기의 TLS를 종료하지만 부하 분산기와 Apigee SSO 간 TLS를 사용 설정하는 부하 분산기가 Apigee SSO 모듈 앞에 있을 수 있습니다. 위 그림의 SSL_PROXY 모드에서는 부하 분산기와 Apigee SSO 간 연결에 TLS가 사용된다는 의미입니다.

이 시나리오에서는 위의 SSL_TERMINATION 모드와 마찬가지로 Apigee SSO에 TLS를 구성합니다. 하지만 부하 분산기가 Apigee SSO가 TLS에 사용하는 것과 다른 TLS 포트 번호를 사용하는 경우 구성 파일에 SSO_TOMCAT_PROXY_PORT 속성도 지정해야 합니다. 예를 들면 다음과 같습니다.

  • 부하 분산기가 포트 443에서 TLS를 종료함
  • Apigee SSO가 포트 9443에서 TLS를 종료합니다.

구성 파일에 다음 설정을 포함해야 합니다.

# 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

포트 443에서 HTTPS 요청을 하도록 IDP 및 Edge UI를 구성합니다.