8.2.2. RH-SSO 서버를 사용하여 서비스 검색 구성(Keycloak)

시스템 관리자는 사용자가 3scale을 개별적으로 인증하고 승인하여 OpenShift용 Red Hat Single Sign-On 을 사용하여 서비스를 검색할 수 있습니다.

RH-SSO 배포를 OpenShift의 권한 부여 게이트웨이로 사용하도록 OpenShift를 구성하는 예는 이 워크플로 를 참조하십시오.

사전 요구 사항

  • 3scale 2.9를 OpenShift 클러스터(버전 3.11 이상)에 배포해야 합니다.
  • 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 을 사용해야 합니다.
  • 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.

절차

  1. Red Hat OAuth 서버(Keycloak)에서 3scale에 대한 OAuth 클라이언트를 생성합니다.

    참고

    클라이언트 구성에서 사용자 이름이 OpenShift가 계정을 연결할 수 있도록 preferred_username 에 매핑되는지 확인합니다.

  2. 3scale Service Discovery 설정을 편집합니다.

        $ oc project <3scale-project>
        $ oc edit configmap system
  3. 다음 설정이 구성되어 있습니다. 여기서 '<the-client-secret-from-Keycloak >는 OAuth 클라이언트를 생성할 때 Keycloak에서 자동으로 생성하는 값입니다.

        service_discovery.yml:
          production:
            enabled: true
            authentication_method: oauth
            oauth_server_type: rh_sso
            client_id: '3scale'
            client_secret: '<the-client-secret-from-Keycloak>'
  4. 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 사용자에게 있는지 확인합니다.

    예를 들어 < user& gt; 보기 권한을 < namespace > 프로젝트에 부여하려면 다음 명령을 사용하십시오.

    oc adm policy add-role-to-user view <user> -n <namespace>
  5. configmap 을 수정한 후에는 system-appsystem-sidekiq Pod를 재배포하여 변경 사항을 적용해야 합니다.

추가 참고:

  • 토큰 수명: 기본적으로 세션 토큰은 Keycloak - 세션 및 토큰 시간 초과 에 표시된 대로 1분 후에 만료됩니다. 그러나 제한 시간을 하루의 허용 가능한 값으로 설정하는 것이 좋습니다.