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

Private Cloud용 Edge v. 4.17.09

Edge UI 및 Edge 관리 API는 Edge 관리 서버에 요청을 보내는 방식으로 작동하며, 여기서 관리 서버는 다음과 같은 유형의 인증을 지원합니다.

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

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

참고: SAML은 인증 메커니즘으로만 지원됩니다. 승인에는 지원되지 않습니다. 따라서 승인 정보를 유지 관리하는 데 여전히 Edge OpenLDAP 데이터베이스를 사용합니다. 자세한 내용은 역할 할당을 참고하세요.

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

프라이빗 클라우드용 Edge에 OAuth2 지원 추가

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

SAML의 이점

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

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

Edge에서 SAML 사용

Edge에서 SAML을 지원하려면 Edge SSO 모듈인 apigee-sso를 설치합니다. 다음 이미지는 Edge for Private Cloud 설치의 Edge SSO를 보여줍니다.

Edge SSO 모듈은 Edge UI 및 관리 서버와 동일한 노드 또는 자체 노드에 설치할 수 있습니다. Edge 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 관리 API의 경우:

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

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

Edge SSO에서 TLS 구성

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

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

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

개발자 서비스 포털 및 API BaaS에 SAML 지원 사용 설정

Edge에 SAML 지원을 사용 설정한 후 원하는 경우 다음에 대해 SAML을 사용 설정할 수 있습니다.

개발자 서비스 포털 및 API BaaS를 구성할 때 Edge와 함께 설치한 Edge SSO 모듈의 URL을 지정해야 합니다.

Edge와 API BaaS는 동일한 Edge SSO 모듈을 공유하므로 싱글 사인온을 지원합니다. 즉, Edge 또는 API BaaS에 로그인하면 둘 다에 로그인됩니다. 즉, 모든 사용자 인증 정보의 위치를 하나만 유지하면 됩니다.

원하는 경우 싱글 사인아웃도 구성할 수 있습니다. Edge UI에서 싱글 로그아웃 구성하기를 참고하세요.