8.2. 서비스 검색을 사용하도록 OpenShift 구성
3scale 관리자는 OAuth(Open Authorization) 서버를 사용하거나 사용하지 않고 서비스 검색을 구성할 수 있습니다.
OAuth 서버를 사용하여 3scale 서비스 검색을 구성하는 경우 사용자가 3scale에 로그인할 때 이러한 상황이 발생합니다.
- 사용자가 OAuth 서버로 리디렉션됩니다.
- 사용자가 OAuth 서버에 아직 로그인하지 않은 경우 사용자에게 로그인하라는 메시지가 표시됩니다.
- 사용자가 SSO를 사용하여 3scale 서비스 검색을 구현하는 것이 처음인 경우 OAuth 서버에서 관련 작업을 수행할 수 있는 권한 부여를 요청합니다.
- 사용자가 3scale로 다시 리디렉션됩니다.
OAuth 서버를 사용하여 서비스 검색을 구성하려면 다음 옵션이 있습니다.
OAuth 서버 없이 서비스 검색을 구성 하면 사용자가 3scale로 로그인하면 사용자가 리디렉션되지 않습니다. 대신 3scale 단일 서비스 계정은 서비스 검색을 위해 클러스터에 원활한 인증을 제공합니다. 3scale 테넌트 관리 사용자는 3scale을 통해 API 서비스를 검색하면서 클러스터에 대한 액세스 수준이 모두 동일합니다.
8.2.1. OpenShift OAuth 서버를 사용하여 서비스 검색 구성
3scale 시스템 관리자는 사용자가 OpenShift 내장 OAuth 서버를 사용하여 3scale을 개별적으로 인증하고 승인하여 API를 검색할 수 있습니다.
사전 요구 사항
- 3scale 2.8을 OpenShift 클러스터에 배포해야 합니다(버전 3.11 이상).
- OpenShift에 3scale을 배포하려면 3scale-amp-openshift-templates 를 사용해야 합니다.
- 3scale에서 서비스 검색을 사용하려는 3scale 사용자는 OpenShift 클러스터에 액세스할 수 있어야 합니다.
절차
3scale용 OpenShift OAuth 클라이언트를 생성합니다. 자세한 내용은 OpenShift 인증 설명서를 참조하십시오. 다음 예에서 <
provide-a-client-secret
>을 생성한 시크릿으로 바꾸고 <3scale-master-domain-route
>를 3scale 마스터 관리 포털에 액세스할 수 있도록 URL로 교체합니다.$ 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> 으로 표시되는 관리자 사용자에게 검색할 서비스가 포함된 < namespace > 프로젝트에 대한 보기 권한을 부여하려면 다음 명령을 사용합니다.
oc adm policy add-role-to-user view <user> -n <namespace>
configmap
을 수정한 후 변경 사항을 적용하려면system-app
및system-sidekiq
Pod를 재배포해야 합니다.oc 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 서버 구성.