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. 마스터에서 인증 구성

  1. 다음과 같은 사항이 있을 수 있습니다.

    • Openshift 설치를 이미 완료한 다음 /etc/origin/master/master-config.yaml 파일을 새 디렉토리(예:)로 복사합니다.

      $ cd /etc/origin/master
      $ mkdir keystoneconfig; cp master-config.yaml keystoneconfig
    • 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=https://myapiserver.com:8443 --write-config=keystoneconfig
      참고

      Ansible을 사용하여 설치하는 경우 identityProvider 구성을 Ansible 플레이북에 추가해야 합니다. 다음 단계를 사용하여 Ansible을 사용하여 설치한 후 수동으로 구성을 수정하는 경우 설치 도구 또는 업그레이드를 다시 실행할 때마다 수정 사항이 손실됩니다.

  2. keystoneconfig/master-config.yaml 파일의 identityProviders 스탠자를 편집하고 예제 KeystonePasswordIdentityProvider 구성을 복사하여 기존 스탠자를 교체합니다.

    oauthConfig:
      ...
      identityProviders:
      - name: my_keystone_provider 1
        challenge: true 2
        login: true 3
        mappingMethod: claim 4
        provider:
          apiVersion: v1
          kind: KeystonePasswordIdentityProvider
          domainName: default 5
          url: http://keystone.example.com:5000 6
          ca: ca.pem 7
          certFile: keystone.pem 8
          keyFile: keystonekey.pem 9
          useKeystoneIdentity: false 10
    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 로 설정합니다.
  3. identityProviders 스탠자를 다음과 같이 수정합니다.

    1. Keystone 서버와 일치하도록 공급업체 이름 ("my_keystone_provider")을 변경합니다. 이 이름은 공급자 사용자 이름에 접두어로 지정되어 ID 이름을 형성합니다.
    2. 필요한 경우 mappingMethod를 변경하여 공급자의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다.
    3. domainName 을 OpenStack Keystone 서버의 도메인 이름으로 변경합니다. Keystone에서 사용자 이름은 도메인에 따라 다릅니다. 단일 도메인만 지원됩니다.
    4. OpenStack Keystone 서버에 연결하는 데 사용할 URL 을 지정합니다.
    5. 선택적으로 Keystone 사용자 이름 대신 Keystone ID로 사용자를 인증 하려면 useKeystoneIdentitytrue 로 설정합니다.
    6. 선택적으로 구성된 URL의 서버 인증서의 유효성을 검사하기 위해 사용할 ca 를 인증서 번들로 변경합니다.
    7. 선택적으로 구성된 URL에 요청할 때 certFile 을 클라이언트 인증서로 변경합니다.
    8. certFile 이 지정된 경우 keyFile 을 클라이언트 인증서의 키로 변경해야 합니다.
  4. 변경 사항을 저장하고 파일을 종료합니다.
  5. 방금 수정한 구성 파일을 지정하여 OpenShift Container Platform API 서버를 시작합니다.

    $ openshift start master --config=<path/to/modified/config>/master-config.yaml

구성되면 OpenShift Container Platform 웹 콘솔에 로그인하는 모든 사용자에게 Keystone 자격 증명을 사용하여 로그인하라는 메시지가 표시됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.