13.3.6. Keystone
Keystone은 ID, 토큰, 카탈로그 및 정책 서비스를 제공하는 OpenStack 프로젝트입니다. OpenShift Container Platform 클러스터를 Keystone과 통합하여 사용자를 내부 데이터베이스에 저장하도록 구성된 OpenStack Keystone v3 서버와 공유 인증을 활성화할 수 있습니다. 이 구성을 통해 사용자는 Keystone 자격 증명을 사용하여 OpenShift Container Platform에 로그인할 수 있습니다.
새 OpenShift Container Platform 사용자가 Keystone 사용자 이름 또는 고유한 Keystone ID를 기반으로 하도록 Keystone과의 통합을 구성할 수 있습니다. 두 방법 모두 사용자는 Keystone 사용자 이름과 암호를 입력하여 로그인합니다. OpenShift Container Platform 사용자가 Keystone ID를 사용하면 더 안전합니다. Keystone 사용자를 삭제하고 그 사용자 이름으로 새 Keystone 사용자를 생성하는 경우, 새 사용자는 이전 사용자의 리소스에 액세스할 수 있습니다.
13.3.6.1. 마스터에서 인증 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음과 같은 사항이 있을 수 있습니다.
Openshift 설치를 이미 완료한 다음 /etc/origin/master/master-config.yaml 파일을 새 디렉토리(예:)로 복사합니다.
cd /etc/origin/master mkdir keystoneconfig; cp master-config.yaml keystoneconfig
$ cd /etc/origin/master $ mkdir keystoneconfig; cp master-config.yaml keystoneconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform을 아직 설치하지 않은 다음 OpenShift Container Platform API 서버를 시작하여 (미래) OpenShift Container Platform 마스터의 호스트 이름과 start 명령으로 생성한 구성 파일을 저장할 디렉터리를 지정합니다.
openshift start master --public-master=<apiserver> --write-config=<directory>
$ openshift start master --public-master=<apiserver> --write-config=<directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예를 들면 다음과 같습니다.
openshift start master --public-master=https://myapiserver.com:8443 --write-config=keystoneconfig
$ openshift start master --public-master=https://myapiserver.com:8443 --write-config=keystoneconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고Ansible을 사용하여 설치하는 경우
identityProvider
구성을 Ansible 플레이북에 추가해야 합니다. 다음 단계를 사용하여 Ansible을 사용하여 설치한 후 수동으로 구성을 수정하는 경우 설치 도구 또는 업그레이드를 다시 실행할 때마다 수정 사항이 손실됩니다.
새 keystoneconfig/master-config.yaml 파일의
identityProviders
스탠자를 편집하고 예제KeystonePasswordIdentityProvider
구성을 복사하여 기존 스탠자를 교체합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이 공급자 이름은 공급자 사용자 이름에 접두어로 지정되어 ID 이름을 형성합니다.
- 2
true인
경우 웹 이외의 클라이언트(예: CLI)의 인증되지 않은 토큰 요청이 이 프로바이더의WWW-Authenticate 챌린지
헤더가 전송됩니다.- 3
true인
경우 웹 콘솔과 같은 웹 클라이언트의 인증되지 않은 토큰 요청은 이 프로바이더가 지원하는 로그인 페이지로 리디렉션됩니다.- 4
- 위에서 설명한 대로 이 프로바이더의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다.
- 5
- Keystone 도메인 이름. Keystone에서는 사용자 이름이 도메인에 따라 다릅니다. 단일 도메인만 지원됩니다.
- 6
- Keystone 서버 연결에 사용하는 URL입니다(필수).
- 7
- 선택 사항: 구성된 URL에 대한 서버 인증서의 유효성을 검사하는 데 사용할 인증서 번들입니다.
- 8
- 선택 사항: 구성된 URL에 요청할 때 제공할 클라이언트 인증서입니다.
- 9
- 클라이언트 인증서의 키입니다.
certFile
이 지정된 경우 필수 항목입니다. - 10
true인
경우, Keystone 사용자 이름이 아닌 Keystone ID에서 사용자를 인증합니다. 사용자 이름으로 인증하려면false
로 설정합니다.
identityProviders
스탠자를 다음과 같이 수정합니다.-
Keystone 서버와 일치하도록 공급업체
이름
("my_keystone_provider")을 변경합니다. 이 이름은 공급자 사용자 이름에 접두어로 지정되어 ID 이름을 형성합니다. -
필요한 경우
mappingMethod
를 변경하여 공급자의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다. -
domainName
을 OpenStack Keystone 서버의 도메인 이름으로 변경합니다. Keystone에서 사용자 이름은 도메인에 따라 다릅니다. 단일 도메인만 지원됩니다. -
OpenStack Keystone 서버에 연결하는 데 사용할
URL
을 지정합니다. -
선택적으로 Keystone 사용자 이름 대신 Keystone ID로 사용자를 인증
하려면 useKeystoneIdentity
를true
로 설정합니다. -
선택적으로 구성된 URL의 서버 인증서의 유효성을 검사하기 위해 사용할
ca
를 인증서 번들로 변경합니다. -
선택적으로 구성된 URL에 요청할 때
certFile
을 클라이언트 인증서로 변경합니다. -
certFile
이 지정된 경우keyFile
을 클라이언트 인증서의 키로 변경해야 합니다.
-
Keystone 서버와 일치하도록 공급업체
- 변경 사항을 저장하고 파일을 종료합니다.
방금 수정한 구성 파일을 지정하여 OpenShift Container Platform API 서버를 시작합니다.
openshift start master --config=<path/to/modified/config>/master-config.yaml
$ openshift start master --config=<path/to/modified/config>/master-config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
구성되면 OpenShift Container Platform 웹 콘솔에 로그인하는 모든 사용자에게 Keystone 자격 증명을 사용하여 로그인하라는 메시지가 표시됩니다.