13.3.10.2. 마스터에서 인증 구성


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

    • OpenShift Container Platform을 이미 설치한 다음 /etc/origin/master/master-config.yaml 파일을 새 디렉터리에 복사합니다. 예를 들면 다음과 같습니다.

      $ cd /etc/origin/master
      $ mkdir githubconfig; cp master-config.yaml githubconfig
    • 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=githubconfig
      참고

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

      참고

      openshift start master 를 자체적으로 사용하면 호스트 이름을 자동으로 감지하지만 GitHub에서 애플리케이션을 등록할 때 지정한 정확한 호스트 이름으로 리디렉션할 수 있어야 합니다. 따라서 ID가 잘못된 주소로 리디렉션될 수 있으므로 자동으로 탐지할 수 없습니다. 대신 웹 브라우저가 OpenShift Container Platform 클러스터와 상호 작용하는 데 사용하는 호스트 이름을 지정해야 합니다.

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

    oauthConfig:
      ...
      identityProviders:
      - name: github 1
        challenge: false 2
        login: true 3
        mappingMethod: claim 4
        provider:
          apiVersion: v1
          kind: GitHubIdentityProvider
          ca: ... 5
          clientID: ... 6
          clientSecret: ... 7
          hostname: ... 8
          organizations: 9
          - myorganization1
          - myorganization2
          teams: 10
          - myorganization1/team-a
          - myorganization2/team-b
    1
    이 공급자 이름은 GitHub 숫자 사용자 ID 앞에 접두어로 지정되어 ID 이름을 형성합니다. 콜백 URL을 빌드하는 데에도 사용됩니다.
    2
    GitHubIdentityProviderWWW-Authenticate 챌린지 를 보내는 데 사용할 수 없습니다.
    3
    true인 경우 웹 콘솔과 같은 웹 클라이언트의 인증되지 않은 토큰 요청이 GitHub로 리디렉션되어 로그인합니다.
    4
    위에서 설명한 대로 이 프로바이더의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다.
    5
    GitHub Enterprise의 경우 CA는 서버에 요청할 때 사용할 수 있는 신뢰할 수 있는 인증 기관 번들입니다. 기본 시스템 루트 인증서를 사용하려면 이 매개변수를 생략합니다. GitHub의 경우 이 매개변수를 생략합니다.
    6
    등록된 GitHub OAuth 애플리케이션의 클라이언트 ID. 애플리케이션은 <master>/oauth2callback/<identityProviderName> 의 콜백 URL을 사용하여 구성해야 합니다.
    7
    GitHub에서 발행한 클라이언트 시크릿입니다. 이 값은 환경 변수, 외부 파일 또는 암호화된 파일에서 도 제공할 수 있습니다.
    8
    GitHub Enterprise의 경우 인스턴스의 호스트 이름(예: example.com)을 제공해야 합니다. 이 값은 /setup/settings 파일의 GitHub Enterprise 호스트 이름 값과 일치해야 하며 포트 번호를 포함할 수 없습니다. GitHub의 경우 이 매개변수를 생략합니다.
    9
    조직 선택 목록. 지정된 경우 나열된 조직 중 하나 이상의 멤버인 GitHub 사용자만 로그인할 수 있습니다. clientID에 구성된 GitHub OAuth 애플리케이션이 조직의 소유가 아닌 경우 조직 소유자가 이 옵션을 사용하려면 타사 액세스 권한을 부여해야 합니다. 이러한 작업은 조직 관리자가 GitHub를 처음 로그인하는 동안 또는 GitHub 조직 설정에서 수행할 수 있습니다. teams 필드와 함께 사용할 수 없습니다.
    10
    팀 선택 목록. 지정된 경우 나열된 팀 중 하나 이상의 멤버인 GitHub 사용자만 로그인할 수 있습니다. clientID 에 구성된 GitHub OAuth 애플리케이션이 팀의 조직에서 소유하지 않는 경우 조직 소유자는 이 옵션을 사용하려면 타사 액세스 권한을 부여해야 합니다. 이러한 작업은 조직 관리자가 GitHub를 처음 로그인하는 동안 또는 GitHub 조직 설정에서 수행할 수 있습니다. organizations 필드와 함께 사용할 수 없습니다.
  3. identityProviders 스탠자를 다음과 같이 수정합니다.

    1. GitHub에서 구성한 콜백 URL과 일치하도록 프로바이더 이름을 변경합니다.

      예를 들어 콜백 URL을 https://myapiserver.com:8443/oauth2callback/github/ 로 정의한 경우 이름은 github 여야 합니다.

    2. 이전에 등록한 GitHub에서 clientID 를 클라이언트 ID로 변경합니다.
    3. clientSecret이전에 등록한 GitHub에서 클라이언트 보안으로 변경합니다.
    4. 인증 하기 위해 사용자가 멤버 자격으로 만들어야 하는 하나 이상의 GitHub 조직 또는 팀 목록을 포함하도록 조직 또는 팀을 변경합니다. 지정된 경우 나열된 조직 또는 팀 중 하나 이상의 멤버인 GitHub 사용자만 로그인할 수 있습니다. 이 값을 지정하지 않으면 유효한 GitHub 계정의 모든 사용자가 로그인할 수 있습니다.
  4. 변경 사항을 저장하고 파일을 종료합니다.
  5. 방금 수정한 구성 파일을 지정하여 OpenShift Container Platform API 서버를 시작합니다.

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

구성되고 나면 OpenShift Container Platform 웹 콘솔에 로그인하는 모든 사용자에게 GitHub 자격 증명을 사용하여 로그인하라는 메시지가 표시됩니다. 첫 번째 로그인 시 사용자는 GitHub에서 OpenShift Container Platform에서 사용자 이름, 암호 및 조직 멤버십을 사용할 수 있도록 애플리케이션 권한 부여를 클릭해야 합니다. 그런 다음 사용자는 다시 웹 콘솔로 리디렉션됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.