29.4. OpenShift OAuth 서버를 사용하여 서비스 검색 구성

3scale 시스템 관리자로서 사용자가 OpenShift 기본 제공 OAuth 서버를 사용하여 API를 검색하도록 3scale을 개별적으로 인증하고 권한을 부여할 수 있습니다.

사전 요구 사항

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

절차

  1. 3scale용 OpenShift OAuth 클라이언트를 만듭니다. 자세한 내용은 OpenShift 인증 문서를 참조하십시오. 다음 예제에서 <provide-a-client-secret> 을 생성한 시크릿으로 교체하고 <3scale-master-domain-route> 를 URL로 변경하여 3scale 마스터 관리 포털에 액세스합니다.

        $ oc project default
        $ cat <<-EOF | oc create -f -
        kind: OAuthClient
        apiVersion: v1
        metadata:
         name: 3scale
        secret: "<provide-a-client-secret>"
        redirectURIs:
         - "<3scale-master-domain-route>"
        grantMethod: prompt
        EOF
  2. 3scale Service Discovery 설정 파일을 엽니다.

        $ oc project <3scale-project>
        $ oc edit configmap system
  3. 다음 설정을 구성합니다.

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

    검색할 서비스가 포함된 <user> 로 표시되는 관리자에게 권한을 부여하려면 다음 명령을 사용합니다.

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

    oc rollout latest dc/system-app
    oc rollout latest dc/system-sidekiq
  6. 롤아웃 상태를 확인하여 완료되었는지 확인합니다.

    oc rollout status dc/system-app
    oc rollout status dc/system-sidekiq

추가 리소스