1.20.7.4. OIDC(OpenID Connect) 사용 사례


서비스 메시 및 3scale Istio 어댑터의 경우 다음 예에 표시된 대로 RequestAuthentication 을 배포하여 자체 워크로드 데이터 및 jwtRules 를 채워야 합니다.

apiVersion: security.istio.io/v1beta1
  kind: RequestAuthentication
  metadata:
    name: jwt-example
    namespace: bookinfo
  spec:
    selector:
      matchLabels:
        app: productpage
    jwtRules:
    - issuer: >-
        http://keycloak-keycloak.34.242.107.254.nip.io/auth/realms/3scale-keycloak
      jwksUri: >-
        http://keycloak-keycloak.34.242.107.254.nip.io/auth/realms/3scale-keycloak/protocol/openid-connect/certs

RequestAuthentication 을 적용하면 JWT 토큰을 검증하도록 네이티브 플러그인으로 Envoy 를 구성합니다. 프록시는 모듈을 실행하기 전에 모든 것을 검증하므로 실패한 모든 요청이 3scale WebAssembly 모듈에 연결되지 않습니다.

JWT 토큰이 검증되면 프록시는 키가 플러그인의 특정 구성에 따라 달라지는 항목과 함께 내부 메타데이터 오브젝트에 콘텐츠를 저장합니다. 이 사용 사례에서는 알 수 없는 키 이름이 포함된 단일 항목으로 구조 오브젝트를 검색할 수 있는 기능을 제공합니다.

OIDC의 3scale app_id 는 OAuth client_id 와 일치합니다. JWT 토큰의 azp 또는 aud 필드에 있습니다.

Envoy의 네이티브 JWT 인증 필터에서 app_id 필드를 가져오려면 다음 예제를 참조하십시오.

credentials:
  app_id:
    - filter:
        path:
          - envoy.filters.http.jwt_authn
          - "0"
        keys:
          - azp
          - aud
        ops:
          - take:
              head: 1

이 예제에서는 filter 소스 유형을 사용하여 Envoy특정 JWT 인증 네이티브 플러그인에서 오브젝트의 필터 메타데이터를 조회하도록 모듈에 지시합니다. 이 플러그인에는 단일 항목 및 사전 구성된 이름이 있는 구조 오브젝트의 일부로 JWT 토큰이 포함됩니다. 0 을 사용하여 단일 항목에만 액세스하도록 지정합니다.

결과 값은 두 필드를 분석할 구조입니다.

  • azp: app_id 가 있는 값입니다.
  • aud: 이 정보도 찾을 수 있는 값입니다.

이 작업은 할당을 위해 하나의 값만 보유합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.