Edge UI 및 Edge 관리 API는 Edge 관리 서버에 요청을 보내는 방식으로 작동하며, 여기서 관리 서버는 다음과 같은 유형의 인증을 지원합니다.
- 기본 인증: 사용자 이름과 비밀번호를 전달하여 Edge UI에 로그인하거나 Edge 관리 API에 요청합니다.
- OAuth2: Edge 기본 인증 사용자 인증 정보를 OAuth2 액세스 토큰 및 갱신 토큰으로 교환합니다. API 호출의 Bearer 헤더에 OAuth2 액세스 토큰을 전달하여 Edge 관리 API를 호출합니다.
Edge는 인증을 위해 다음과 같은 외부 ID 공급업체 (IDP)를 지원합니다.
- 보안 보장 마크업 언어 (SAML) 2.0: SAML ID 공급업체에서 반환한 SAML 어설션에서 OAuth 액세스 권한을 생성합니다.
- 경량 디렉터리 액세스 프로토콜 (LDAP): LDAP의 검색 및 바인딩 또는 간단한 바인딩 인증 메서드를 사용하여 OAuth 액세스 토큰을 생성합니다.
SAML 및 LDAP IDP는 모두 SSO (단일 로그인) 환경을 지원합니다. Edge와 함께 외부 IDP를 사용하면 사용자가 제공하고 외부 IDP를 지원하는 다른 서비스 외에도 Edge UI 및 API의 SSO를 지원할 수 있습니다.
이 섹션의 외부 IDP 지원 사용 설정 안내는 다음과 같은 점에서 외부 인증과 다릅니다.
- 이 섹션에서는 SSO 지원을 추가합니다.
- 이 섹션은 기존 UI가 아닌 Edge UI 사용자를 위한 섹션입니다.
- 이 섹션은 4.19.06 이상에서만 지원됩니다.
Apigee SSO 정보
Edge에서 SAML 또는 LDAP를 지원하려면 Apigee SSO 모듈인 apigee-sso
를 설치합니다.
다음 이미지는 프라이빗 클라우드용 Edge 설치의 Apigee SSO를 보여줍니다.
Apigee SSO 모듈은 Edge UI 및 관리 서버와 동일한 노드 또는 자체 노드에 설치할 수 있습니다. Apigee SSO가 포트 8080을 통해 관리 서버에 액세스할 수 있는지 확인하세요.
브라우저, 외부 SAML 또는 LDAP IDP, 관리 서버 및 Edge UI에서 Apigee SSO에 대한 액세스를 지원하려면 Apigee SSO 노드에서 포트 9099를 열어야 합니다. Apigee SSO를 구성하는 과정에서 외부 연결에 HTTP 또는 암호화된 HTTPS 프로토콜을 사용하도록 지정할 수 있습니다.
Apigee SSO는 Postgres 노드의 포트 5432에서 액세스할 수 있는 Postgres 데이터베이스를 사용합니다. 일반적으로 Edge와 함께 설치한 것과 동일한 Postgres 서버(독립형 Postgres 서버 또는 마스터/스탠바이 모드로 구성된 두 개의 Postgres 서버)를 사용할 수 있습니다. Postgres 서버의 부하가 높은 경우 Apigee SSO 전용으로 별도의 Postgres 노드를 만들 수도 있습니다.
Private Cloud용 Edge에 OAuth2 지원 추가
위에서 언급한 대로 SAML의 Edge 구현은 OAuth2 액세스 토큰을 사용합니다.따라서 Private Cloud용 Edge에 OAuth2 지원이 추가되었습니다. 자세한 내용은 OAuth 2.0 소개를 참조하세요.
SAML 정보
SAML 인증은 여러 이점을 제공합니다. SAML을 사용하면 다음을 수행할 수 있습니다.
- 사용자 관리를 완전히 제어합니다. 사용자가 조직을 떠나고 중앙에서 프로비저닝이 해제되면 해당 사용자의 Edge 액세스가 자동으로 거부됩니다.
- 사용자가 Edge에 액세스하기 위해 인증하는 방식을 제어합니다. Edge 조직마다 다른 인증 유형을 선택할 수 있습니다.
- 인증 정책을 관리합니다. SAML 제공업체가 기업 표준에 부합하는 인증 정책을 지원할 수 있습니다.
- Edge 배포에서 로그인, 로그아웃, 로그인 시도 실패, 고위험 활동을 모니터링할 수 있습니다.
SAML을 사용 설정하면 Edge UI 및 Edge 관리 API에 대한 액세스에 OAuth2 액세스 토큰이 사용됩니다. 이러한 토큰은 IdP에서 반환된 SAML 어설션을 허용하는 Apigee SSO 모듈에서 생성됩니다.
SAML 어설션에서 생성된 OAuth 토큰은 30분 동안 유효하고 새로고침 토큰은 24시간 동안 유효합니다. 개발 환경에서 테스트 자동화 또는 지속적 통합/지속적 배포(CI/CD)와 같이 기간이 더 긴 토큰이 필요한 일반적인 개발 작업의 자동화를 지원할 수 있습니다. 자동화된 작업을 위한 특수 토큰을 만드는 방법에 관한 자세한 내용은 자동화된 작업에 SAML 사용을 참고하세요.
LDAP 정보
Lightweight Directory Access Protocol (LDAP)은 분산 디렉터리 정보 서비스에 액세스하고 이를 유지 관리하기 위한 개방형 업계 표준 애플리케이션 프로토콜입니다. 디렉터리 서비스는 종종 기업 이메일 디렉터리와 같이 계층 구조를 사용하여 정리된 레코드 집합을 제공할 수 있습니다.
Apigee SSO 내의 LDAP 인증에서는 Spring Security LDAP 모듈을 사용합니다. 따라서 Apigee SSO의 LDAP 지원을 위한 인증 방법 및 구성 옵션은 Spring Security LDAP에 있는 방법 및 구성 옵션과 직접적인 상관관계가 있습니다.
프라이빗 클라우드용 Edge를 통한 LDAP는 LDAP 호환 서버에 대해 다음 인증 방법을 지원합니다.
- 검색 및 결합 (간접 결합)
- 간단한 바인드 (직접 바인딩)
Apigee SSO는 사용자의 이메일 주소를 검색하고 내부 사용자 레코드를 이메일 주소로 업데이트하려고 시도합니다. Edge에서 이 이메일을 승인 목적으로 사용하므로 파일에 현재 이메일 주소가 있어야 합니다.
Edge UI 및 API URL
Edge UI 및 Edge 관리 API에 액세스하는 데 사용하는 URL은 SAML 또는 LDAP를 사용 설정하기 전에 사용한 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 프로토콜을 사용하도록 지정할 수 있습니다.
Apigee SSO에서 TLS 구성
기본적으로 Apigee SSO에 대한 연결은 Apigee SSO 모듈인 apigee-sso
를 호스팅하는 노드의 포트 9099를 통해 HTTP를 사용합니다. apigee-sso
에는 HTTP 및 HTTPS 요청을 처리하는 Tomcat 인스턴스가 내장되어 있습니다.
Apigee SSO 및 Tomcat은 세 가지 연결 모드를 지원합니다.
- 기본값: 기본 구성은 포트 9099에서 HTTP 요청을 지원합니다.
- SSL_TERMINATION: 선택한 포트에서 Apigee SSO에 대한 TLS 액세스를 사용 설정했습니다. 이 모드에는 TLS 키와 인증서를 지정해야 합니다.
- SSL_PROXY: 프록시 모드로 Apigee SSO를 구성합니다. 즉,
apigee-sso
앞에 부하 분산기를 설치하고 부하 분산기에서 TLS를 종료했습니다. 부하 분산기의 요청에 대해apigee-sso
에서 사용되는 포트를 지정할 수 있습니다.
포털에 외부 IDP 지원 사용 설정
Edge에 외부 IdP 지원을 사용 설정한 후 원하는 경우 Apigee Developer Services 포털 (이하 포털)에 이를 사용 설정할 수 있습니다. 포털은 Edge에 요청할 때 SAML 및 LDAP 인증을 지원합니다. 이는 포털에 대한 개발자 로그인의 SAML 및 LDAP 인증과는 다릅니다. 개발자 로그인에 대한 외부 IdP 인증은 별도로 구성합니다. 자세한 내용은 IDP를 사용하도록 포털 구성을 참조하세요.
포털을 구성할 때 Edge와 함께 설치한 Apigee SSO 모듈의 URL을 지정해야 합니다.