Edge에서 프라이빗 클라우드용 SAML 지원

Private Cloud용 Edge v4.18.05

Edge UI 및 Edge 관리 API는 에지 관리 서버에 요청을 전송하여 작동합니다. 에지 관리 서버에는 다음 유형의 인증이 지원됩니다.

  • 기본 인증 Edge UI에 로그인하거나 사용자 이름과 비밀번호를 전달하여 Edge 관리 API에 요청합니다.
  • OAuth2 Edge 기본 인증 사용자 인증 정보를 OAuth2 액세스 토큰 및 갱신 토큰으로 교환합니다. API 호출의 Bearer 헤더에 OAuth2 액세스 토큰을 전달하여 Edge 관리 API를 호출합니다.

또한 Edge는 인증 메커니즘으로 보안 보장 마크업 언어 (SAML) 2.0을 지원합니다. SAML을 사용 설정해도 Edge UI 및 Edge 관리 API에 액세스하는 데 OAuth2 액세스 토큰이 사용됩니다. 하지만 이제 SAML ID 공급업체가 반환한 SAML 어설션에서 이러한 토큰을 생성할 수 있습니다.

SAML은 싱글 사인온 (SSO) 환경을 지원합니다. Edge와 함께 SAML을 사용하면 사용자가 제공하고 SAML을 지원하는 다른 서비스 외에도 Edge UI 및 API에 SSO를 지원할 수 있습니다.

프라이빗 클라우드용 에지에 OAuth2 지원이 추가되었습니다.

위에서 언급했듯이 SAML의 Edge 구현은 OAuth2 액세스 토큰을 사용합니다.따라서 OAuth2 지원이 Private Cloud용 Edge에 추가되었습니다. 자세한 내용은 OAuth 2.0 소개를 참고하세요.

SAML 장점

SAML 인증은 여러 이점을 제공합니다. SAML을 사용하면 다음을 수행할 수 있습니다.

  • 사용자 관리를 완전히 제어할 수 있습니다. 사용자가 조직을 떠나고 중앙에서 프로비저닝 해제되면 Edge에 대한 액세스가 자동으로 거부됩니다.
  • 사용자가 Edge에 액세스하기 위해 인증하는 방법을 관리합니다. Edge 조직마다 다른 인증 유형을 선택할 수 있습니다.
  • 인증 정책을 제어합니다. SAML 제공업체에서 기업 표준에 부합하는 인증 정책을 지원할 수도 있습니다.
  • Edge 배포에서 로그인, 로그아웃, 로그인 시도 실패, 고위험 활동을 모니터링할 수 있습니다.

Edge와 함께 SAML 사용

Edge에서 SAML을 지원하려면 Edge SSO 모듈인 apigee-sso를 설치합니다. 다음 이미지는 프라이빗 클라우드 설치용 에지의 에지 SSO를 보여줍니다.

Edge SSO 모듈을 Edge UI 및 관리 서버와 동일한 노드 또는 자체 노드에 설치할 수 있습니다. 에지 SSO가 포트 8080을 통해 관리 서버에 액세스할 수 있는지 확인합니다.

브라우저, 외부 SAML IDP, 관리 서버 및 Edge UI에서 Edge SSO 액세스를 지원하려면 Edge SSO 노드에서 포트 9099를 열어야 합니다. Edge SSO를 구성하는 과정에서 외부 연결이 HTTP 또는 암호화된 HTTPS 프로토콜을 사용하도록 지정할 수 있습니다.

Edge SSO는 Postgres 노드의 포트 5432에서 액세스할 수 있는 Postgres 데이터베이스를 사용합니다. 일반적으로 Edge와 함께 설치한 것과 동일한 Postgres 서버(독립형 Postgres 서버 또는 마스터/대기 모드로 구성된 두 개의 Postgres 서버)를 사용할 수 있습니다. Postgres 서버의 부하가 높은 경우 Edge SSO용으로 별도의 Postgres 노드를 만들 수도 있습니다.

SAML을 사용 설정하면 Edge UI 및 Edge 관리 API에 액세스할 때 OAuth2 액세스 토큰이 사용됩니다. 이러한 토큰은 IDP에서 반환한 SAML 어설션을 수락하는 Edge SSO 모듈에 의해 생성됩니다.

SAML 어설션에서 생성된 OAuth 토큰은 30분 동안 유효하며 갱신 토큰은 24시간 동안 유효합니다. 개발 환경에서 테스트 자동화 또는 지속적 통합/지속적 배포(CI/CD)와 같이 시간이 더 긴 토큰이 필요한 일반적인 개발 작업에 자동화를 지원할 수 있습니다. 자동화된 태스크용 특수 토큰을 만드는 방법에 대한 자세한 내용은 자동 태스크에 SAML 사용을 참조하세요.

Edge UI 및 API URL

Edge UI 및 Edge 관리 API에 액세스하는 데 사용하는 URL은 SAML을 사용 설정하기 전에 사용한 URL과 동일합니다. Edge UI:

http://edge_ui_IP_DNS:9000
https://edge_ui_IP_DNS:9000

여기서 edge_ui_IP_DNS은 Edge UI를 호스팅하는 머신의 IP 주소 또는 DNS 이름입니다. Edge UI를 구성하는 과정에서 HTTP 또는 암호화된 HTTPS 프로토콜을 사용하도록 연결할 수 있습니다.

Edge Management API의 경우:

http://ms_IP_DNS:8080/v1
https://ms_IP_DNS:8080/v1

여기서 ms_IP_DNS은 관리 서버의 IP 주소 또는 DNS 이름입니다. API 구성 과정에서 연결이 HTTP 또는 암호화된 HTTPS 프로토콜을 사용하도록 지정할 수 있습니다.

에지 SSO에 TLS 구성하기

기본적으로 Edge SSO에 연결할 때는 Edge SSO 모듈인 apigee-sso을 호스팅하는 노드에서 포트 9099를 통한 HTTP가 사용됩니다. apigee-sso에는 HTTP 및 HTTPS 요청을 처리하는 Tomcat 인스턴스가 내장되어 있습니다.

Edge SSO 및 Tomcat은 세 가지 연결 모드를 지원합니다.

  • DEFAULT - 기본 구성은 포트 9099에서 HTTP 요청을 지원합니다.
  • SSL_TERMINATION - 선택한 포트에서 에지 SSO에 대한 TLS 액세스를 사용 설정했습니다. 이 모드에 TLS 키와 인증서를 지정해야 합니다.
  • SSL_PROXY - 프록시 모드에서 Edge SSO를 구성합니다. 즉, apigee-sso 앞에 부하 분산기를 설치하고 부하 분산기에서 TLS를 종료합니다. 부하 분산기의 요청에 대해 apigee-sso에 사용되는 포트를 지정할 수 있습니다.

포털에 SAML 지원 사용 설정

Edge용 SAML 지원을 사용 설정한 후 필요에 따라 Apigee 개발자 서비스 포털 (또는 간단히 포털)에 SAML을 사용 설정할 수 있습니다. 포털은 Edge에 대한 요청 시 SAML 인증을 지원합니다. 이는 개발자가 포털에 로그인하기 위한 SAML 인증과 다릅니다. 개발자 로그인을 위한 SAML 인증을 별도로 구성합니다. 자세한 내용은 SAML을 사용하여 Edge와 통신하도록 포털 구성을 참조하세요.

포털을 구성하는 과정에서 Edge와 함께 설치한 Edge SSO 모듈의 URL을 지정해야 합니다.