29.4. OpenShift OAuth 서버를 사용하여 서비스 검색 구성
3scale 시스템 관리자로서 사용자가 OpenShift 기본 제공 OAuth 서버를 사용하여 API를 검색하도록 3scale을 개별적으로 인증하고 권한을 부여할 수 있습니다.
사전 요구 사항
- OpenShift 클러스터(버전 3.11 이상)에 3scale 2.12를 배포해야 합니다.
- 3scale을 OpenShift에 배포하려면 3scale-amp-openshift-templates 를 사용해야 합니다.
- 3scale에서 Service Discovery를 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.
절차
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
3scale Service Discovery 설정 파일을 엽니다.
$ oc project <3scale-project> $ oc edit configmap system
다음 설정을 구성합니다.
service_discovery.yml: production: enabled: true authentication_method: oauth oauth_server_type: builtin client_id: '3scale' client_secret: '<choose-a-client-secret>'
사용자에게 검색 가능한 서비스가 포함된 클러스터 프로젝트를 볼 수 있는 적절한 권한이 있는지 확인합니다.
검색할 서비스가 포함된 <user> 로 표시되는 관리자에게 권한을 부여하려면 다음 명령을 사용합니다.
oc adm policy add-role-to-user view <user> -n <namespace>
configmap
을 수정한 후에는system-app 및
Pod를 재배포하여 변경 사항을 적용해야 합니다.system-
sidekiqoc rollout latest dc/system-app oc rollout latest dc/system-sidekiq
롤아웃 상태를 확인하여 완료되었는지 확인합니다.
oc rollout status dc/system-app oc rollout status dc/system-sidekiq
추가 리소스
- OpenShift OAuth 토큰에 대한 자세한 내용은 내부 OAuth 서버 구성을 참조하십시오.