12장. 3scale API Management와 OpenID Connect ID 공급자 통합


API 요청을 인증하기 위해 Red Hat 3scale API Management는 OpenID Connect 사양 을 준수하는 ID 공급자와 통합할 수 있습니다. 3scale과의 완전한 호환성을 위해 ID 공급자는 RH-SSO(Red Hat Single Sign-On) 또는 기본 Keycloak 클라이언트 등록을 구현하는 타사 ID 공급자일 수 있습니다. 3scale API 게이트웨이(APIcast)와의 호환성을 위해 OpenID Connect를 구현하는 모든 ID 공급자를 사용할 수 있습니다.

참고

3scale는 RFC 7591 동적 클라이언트 등록 메커니즘 을 사용하지 않습니다. 3scale과 OpenID Connect ID 공급자 간의 완전한 호환성을 위해 기본 Keycloak 클라이언트 등록에 종속되어 있습니다.

OpenID Connect의 기반은 OAuth 2.0 인증 프레임워크(RFC 6749)입니다. OpenID Connect는 API 요청에서 JSON 웹 토큰(JWT)(RFC 7519) 을 사용하여 해당 요청을 인증합니다. OpenID Connect ID 공급자와 3scale을 통합하면 프로세스에는 다음 두 가지 주요 부분이 있습니다.

  • APIcast는 요청에서 JWT를 구문 분석하고 확인합니다. 성공하면 APIcast가 API 소비자 클라이언트 애플리케이션의 ID를 인증합니다.
  • 3scale Zync 구성 요소는 3scale 애플리케이션 세부 정보를 OpenID Connect ID 공급자와 동기화합니다.

3scale은 RH-SSO가 OpenID Connect ID 공급자인 경우 이러한 통합 포인트를 모두 지원합니다. 지원되는 구성 페이지에서 지원되는 RH-SSO 버전을 참조하십시오. 그러나 RH-SSO는 요구 사항이 아닙니다. OpenID Connect 사양과 기본 Keycloak 클라이언트 등록을 지원하는 모든 ID 공급자를 사용할 수 있습니다. APIcast 통합은 RH-SSO 및 ForgeRock 으로 테스트됩니다.

다음 섹션에서는 OpenID Connect ID 공급자를 사용하도록 3scale을 구성하는 정보와 지침을 제공합니다.

12.1. 3scale API Management 및 OpenID Connect ID 공급자 통합 개요

각 기본 Red Hat 3scale API Management 구성 요소는 다음과 같이 인증에 참여합니다.

  • APIcast는 API 소비자 애플리케이션에서 제공하는 인증 토큰의 진위 여부를 확인합니다. 기본 3scale 배포에서 API 제품의 OpenID Connect 구성에 대한 자동 검색을 구현하므로 APIcast를 수행할 수 있습니다.
  • API 공급자는 관리 포털을 사용하여 인증 흐름을 설정합니다.
  • 3scale 관리형 API에서 표준 API 키 또는 애플리케이션 식별자 및 키 쌍을 사용하여 요청을 인증하지 않으면 API 공급자가 3scale을 OpenID Connect ID 공급자와 통합해야 합니다. 아래 그림에서 OpenID Connect ID 공급자는 Red Hat Single Sign-On입니다.
  • 인증이 구성되고 실시간 개발자 포털을 통해 API 소비자는 개발자 포털을 사용하여 특정 3scale API 제품에 대한 액세스를 제공하는 애플리케이션 계획을 구독합니다.
  • OpenID Connect가 3scale과 통합되면 subscription에서 API 소비자 애플리케이션에 대해 구성된 흐름을 트리거하여 OpenID Connect ID 공급자에서 JSON 웹 토큰(JWT)을 가져옵니다. API 공급자는 OpenID Connect를 사용하도록 API 제품을 구성할 때 이 흐름을 지정합니다.

그림 12.1. OpenID Connect ID 공급자가 있는 기본 3scale 구성 요소를 보여줍니다.

OpenID Connect ID 공급자를 사용하는 기본 3scale 구성 요소

애플리케이션 계획을 구독하면 API 소비자는 통합 OpenID Connect ID 공급자에서 인증 자격 증명을 받습니다. 이러한 인증 정보를 사용하면 API 소비자 애플리케이션이 업스트림 API로 전송하는 요청을 활성화할 수 있습니다. 이 API는 API 소비자가 액세스할 수 있는 3scale API 제품에서 제공하는 API입니다.

인증 정보에는 클라이언트 ID와 클라이언트 시크릿이 포함됩니다. API 소비자가 생성한 애플리케이션은 이러한 자격 증명을 사용하여 OpenID Connect ID 공급자에서 JSON 웹 토큰(JWT)을 가져옵니다. OpenID Connect와 3scale 통합을 구성할 때 API 소비자 애플리케이션이 JWT를 가져오는 방법에 대한 흐름을 선택합니다. Red Hat Single Sign-On과 기본 인증 코드 흐름을 사용하는 API 소비자 애플리케이션에서는 다음을 수행해야 합니다.

  1. 업스트림 API 백엔드에 대한 첫 번째 요청 전에 OpenID Connect ID 공급자를 사용하여 OAuth 권한 부여 흐름을 시작합니다. 인증 코드 흐름은 최종 사용자를 Red Hat Single Sign-On으로 리디렉션합니다. 최종 사용자가 로그인하여 권한 부여 코드를 가져옵니다.
  2. JWT에 대한 권한 부여 코드를 교환합니다.
  3. 인증 시 Red Hat Single Sign-On에서 JWT를 수신합니다.
  4. JWT가 포함된 API 요청을 업스트림 API 백엔드에 보냅니다.
  5. 만료될 때까지 동일한 JWT를 사용하여 후속 API 요청을 보냅니다.
  6. JWT를 새로 고치거나 새 요청을 OpenID Connect ID 공급자로 보내 새 JWT를 가져옵니다. 필요한 작업은 OpenID Connect ID 공급자에 따라 다릅니다.

APIcast는 API 소비자로부터 요청을 수신하고 요청에서 JWT를 확인합니다. APIcast가 JWT를 확인하는 경우 APIcast는 JWT를 포함한 요청을 업스트림 API 백엔드에 보냅니다.

그림 12.2. OpenID Connect ID 공급자가 Red Hat Single Sign-On이지만 다른 OpenID Connect ID 공급자와의 구성이 가능함을 보여줍니다.

API 요청의 인증
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.