12.5. 타사 OpenID Connect ID 공급자와 3scale 통합
API 공급자는 3scale과 타사 OpenID Connect ID 공급자 간에 HTTP 통합을 구성할 수 있습니다. 즉, Red Hat Single Sign-On 이외의 OpenID Connect ID 공급자를 구성할 수 있습니다. 3scale은 이 통합을 사용하여 API 소비자의 요청을 인증하고 타사 ID 공급자를 최신 3scale 애플리케이션 세부 정보로 업데이트합니다.
타사 OpenID Connect ID 공급자와 3scale을 통합하는 데 필요한 대부분의 작업은 다음과 같습니다.
- 3scale Zync 관련 사전 요구 사항을 충족합니다.
- 3scale 애플리케이션의 요청을 인증하도록 OpenID Connect ID 공급자 구성.
사전 요구 사항
- 3scale Zync가 설치되어 있습니다.
선택한 타사 OpenID Connect ID 공급자:
- 3scale에서 제공하는 Zync의 OpenAPI 사양을 준수합니다.
-
요청에 매개 변수로 선언된 <
client_id> 및 <client_secret>을 사용하여 클라이언트를 등록할 수 있습니다. 3scale은 3scale과 타사 OpenID Connect ID 공급자 간의 통합을 위한 클라이언트 ID 관리의 소스입니다. - 3scale 애플리케이션에서의 요청을 승인하도록 구성되어 있습니다.
구성이 이전 사전 요구 사항을 충족할 수 없는 경우 Zync 추상 어댑터를 기반으로 하는 사용자 지정 어댑터를 구현해야 합니다. Zync는 이 어댑터를 사용하여 OpenID Connect ID 공급자와 상호 작용합니다. 이 어댑터를 생성하려면 3scale Zync REST API 예제에 포함된 rest_adapter.rb 를 수정할 수 있습니다.
요구 사항에 가장 적합한 방법에 따라
rest_adapter.rb모듈을zync-quePod에 포함할 수 있습니다. 예를 들어 볼륨을 통해 configMap을마운트하거나 Zync에 대한 새 이미지를 빌드할 수 있습니다.
절차
- 3scale 관리 포털의 최상위 수준 선택기에서 제품 을 클릭하고 OpenID Connect 인증을 활성화하는 3scale API 제품을 선택합니다.
- [your_product_name] > 통합 > 설정으로 이동합니다.
Authentication 에서 OpenID Connect Use OpenID Connect for any OAuth 2.0 flow 를 선택합니다.
그러면 OPENID CONNECT (OIDC) BASICS 섹션이 표시됩니다.
- OpenID Connect Issuer Type 필드에서 설정이 REST API 인지 확인합니다.
OpenID Connect Issuer 필드에 OpenID Connect ID 공급자의 URL을 입력합니다. 이 URL의 형식은 다음과 같습니다.
https://<client_id>:<client_secret>@<oidc_host>:<oidc_port>/<endpoint>예를 들어 Zync
rest_adapter.rb예에서 URL 끝점은{endpoint}/clients로 하드 코딩됩니다. 귀하의 엔드포인트는{endpoint}/register또는 다른 것일 수 있습니다.OIDC AUTHORIZATION FLOW 에서 다음 중 하나 이상을 선택합니다.
- 권한 부여 코드 흐름
- 암시적 흐름
- 서비스 계정 흐름
- 직접 액세스 권한 부여 워크플로우
이렇게 하면 API 소비자 애플리케이션에서 OpenID Connect ID 공급자에서 JSON Web Token(JWT)을 수신하는 방법이 구성됩니다. 권한 부여 코드 흐름 은 대부분의 경우에 가장 안전하고 적합한 것으로 권장됩니다. OpenID Connect ID 공급자가 지원하는 OAuth 2.0 흐름 을 선택해야 합니다.
- 아래로 스크롤하여 Update Product (제품 업데이트)를 클릭하여 구성을 저장합니다.
- 왼쪽 탐색 패널에서 통합 > 구성을 클릭합니다.
- 아래로 스크롤하여 Promot e v. x to APIcast Staging을 클릭합니다.
다음 단계
타사 ID 공급자와의 통합을 테스트합니다. 모든 항목이 작동하는 경우 Integration > Configuration 페이지 로 돌아가서 APIcast 스테이징 버전을 프로덕션 버전으로 승격합니다.