10장. 호스팅된 제어 평면에 대한 인증 및 권한 부여
OpenShift Container Platform 컨트롤 플레인에는 내장 OAuth 서버가 포함되어 있습니다. OpenShift Container Platform API에 인증하기 위해 OAuth 액세스 토큰을 얻을 수 있습니다. 호스팅 클러스터를 생성한 후 ID 공급자를 지정하여 OAuth를 구성할 수 있습니다.
10.1. CLI를 사용하여 호스팅된 클러스터에 대한 OAuth 서버 구성 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 호스팅된 클러스터에 대한 내부 OAuth 서버를 구성할 수 있습니다.
다음 지원되는 ID 공급자에 대해 OAuth를 구성할 수 있습니다.
-
oidc
-
htpasswd
-
요지
-
ldap
-
기본 인증
-
request-header
-
github
-
gitlab
-
google
OAuth 구성에 ID 공급자를 추가하면 기본 kubeadmin
사용자 공급자가 제거됩니다.
ID 공급자를 구성할 때는 호스팅된 클러스터에 최소한 하나의 NodePool
복제본을 미리 구성해야 합니다. DNS 확인을 위한 트래픽은 워커 노드를 통해 전송됩니다. htpasswd
및 request-header
ID 공급자의 경우 NodePool
복제본을 미리 구성할 필요가 없습니다.
사전 요구 사항
- 호스팅 클러스터를 생성했습니다.
프로세스
다음 명령을 실행하여 호스팅 클러스터에서
HostedCluster
사용자 정의 리소스(CR)를 편집합니다.oc edit hostedcluster <hosted_cluster_name> -n <hosted_cluster_namespace>
$ oc edit hostedcluster <hosted_cluster_name> -n <hosted_cluster_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예를 사용하여
HostedCluster
CR에 OAuth 구성을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 호스팅된 클러스터 이름을 지정합니다.
- 2
- 호스팅된 클러스터 네임스페이스를 지정합니다.
- 3
- 이 공급자 이름은 ID 클레임 값 앞에 접두어로 지정되어 ID 이름을 형성합니다. 제공자 이름은 리디렉션 URL을 작성하는 데에도 사용됩니다.
- 4
- 이메일 주소로 사용할 속성 목록을 정의합니다.
- 5
- 표시 이름으로 사용할 속성 목록을 정의합니다.
- 6
- 기본 사용자 이름으로 사용할 속성 목록을 정의합니다.
- 7
- OpenID 제공자에 등록된 클라이언트의 ID를 정의합니다. 클라이언트가
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
URL로 리디렉션하도록 허용해야 합니다. - 8
- OpenID 공급자에 등록된 클라이언트의 비밀을 정의합니다.
- 9
- OpenID 사양에 설명된 Issuer Identifier 입니다. 쿼리나 조각 구성 요소 없이
https를
사용해야 합니다. - 10
- 이 공급자의 ID와
사용자
개체 간의 매핑이 설정되는 방식을 제어하는 매핑 방법을 정의합니다.
- 파일을 저장하여 변경 사항을 적용합니다.