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-que Pod에 포함할 수 있습니다. 예를 들어 볼륨을 통해 configMap 을 마운트하거나 Zync에 대한 새 이미지를 빌드할 수 있습니다.

절차

  1. 3scale 관리 포털의 최상위 수준 선택기에서 제품을 클릭하고 OpenID Connect 인증을 활성화하는 3scale API 제품을 선택합니다.
  2. [your_product_name] > 통합 > 설정으로 이동합니다.
  3. Authentication 에서 OpenID Connect Use OpenID Connect for any OAuth 2.0 flow 를 선택합니다.

    그러면 OPENID CONNECT (OIDC) BASICS 섹션이 표시됩니다.

  4. OpenID Connect Issuer Type 필드에서 설정이 REST API 인지 확인합니다.
  5. 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 또는 다른 것일 수 있습니다.

  6. OIDC AUTHORIZATION FLOW 에서 다음 중 하나 이상을 선택합니다.

    • 권한 부여 코드 흐름
    • 암시적 흐름
    • 서비스 계정 흐름
    • 직접 액세스 권한 부여 워크플로우

    이렇게 하면 API 소비자 애플리케이션에서 OpenID Connect ID 공급자에서 JSON Web Token(JWT)을 수신하는 방법이 구성됩니다. 인증 코드 흐름은 대부분의 경우에 가장 안전하고 적합한 것으로 권장됩니다. OpenID Connect ID 공급자가 지원하는 OAuth 2.0 흐름을 선택해야 합니다.

  7. 아래로 스크롤하고 제품 업데이트를 클릭하여 구성을 저장합니다.
  8. 왼쪽 탐색 패널에서 통합 > 구성을 클릭합니다.
  9. 아래로 스크롤하여 promoted v. x to APIcast Staging 을 클릭합니다.

다음 단계

타사 ID 공급자와의 통합을 테스트합니다. 모든 작업이 제대로 작동하는 경우 통합 > 구성 페이지로 돌아가 APIcast 스테이징 버전을 프로덕션 버전으로 승격합니다.