사용자 등록은 어떻게 하나요?

오픈시프트는 기본적으로 kubeadmin 이라는 사용자가 등록되어 있습니다.
새로운 사용자를 등록하기 위해서 identity provider를 설정하면 되며 가능한 타입은 다음과 같습니다.

Identity providerDescription
HTPasswdhtpasswd를 사용하여 생성된 플랫 파일에 대해 사용자 이름과 비밀번호의 유효성을 검사하도록 htpasswd ID 공급업체를 구성합니다.
Keystone내부 데이터베이스에 사용자를 저장하도록 구성된 OpenStack Keystone v3 서버와의 공유 인증을 활성화하려면 Keystone ID 공급자를 구성하여 OpenShift Container Platform 클러스터를 Keystone과 통합합니다.
LDAP단순 결합 인증을 사용하여 LDAPv3 서버에 대해 사용자 이름과 비밀번호의 유효성을 검사하도록 LDAP ID 제공자를 구성합니다.
Basic authentication사용자가 원격 ID 제공자에 대해 검증된 자격 증명을 사용하여 OpenShift Container Platform에 로그인할 수 있도록 basic-authentication ID 제공자를 구성합니다. 기본 인증은 일반적인 백엔드 통합 메커니즘입니다.
Request headerX-Remote-User와 같은 요청 헤더 값에서 사용자를 식별하도록 request-header ID 제공자를 구성합니다. 일반적으로 요청 헤더 값을 설정하는 인증 프록시와 함께 사용됩니다.
GitHub or GitHub EnterpriseGitHub 또는 GitHub Enterprise의 OAuth 인증 서버에 대해 사용자 이름과 비밀번호의 유효성을 검사하도록 github ID 공급업체를 구성합니다.
GitLabGitLab.com 또는 다른 GitLab 인스턴스를 ID 제공자로 사용하도록 gitlab ID 제공자를 구성합니다.
GoogleGoogle의 OpenID Connect 통합을 사용하여 Google ID 공급업체를 구성합니다.
OpenID Connect인증 코드 흐름을 사용하여 OpenID Connect ID 공급업체와 통합하도록 oidc ID 공급업체를 구성합니다.

이 중 HTPassword를 사용하여 사용자를 등록하는 과정을 설명드리겠습니다.
사용자의 이름은 “user1”, 패스워드는 “MyPassword!” 에 대한 설명입니다.

기존 HTPassword ID 제공자의 유무에 따라 새로 생성하거나 업데이트 하는 작업으로 나뉩니다.

기존 HTPassword ID 제공자가 있을 때

  1. htpassword 파일로 복구합니다.
    $ oc get secret htpass-secret -ojsonpath={.data.htpasswd} -n openshift-config | base64 --decode > users.htpasswd
  2. 사용자를 추가합니다.
    $ htpasswd -bB users.htpasswd user1 MyPassword!
  3. secret을 업데이트 합니다.
    $ oc create secret generic htpass-secret --from-file=htpasswd=users.htpasswd --dry-run=client -o yaml -n openshift-config | oc replace -f -

기존 HTPassword ID 제공자가 없을 때

  1. htpassword 파일을 만듧니다.
    $ htpassword -c -B -b users.htpassword user1 MyPassword!
  2. secret을 만듧니다.
    $ oc create secret generic htpass-secret --from-file=htpassword=users.htpassword -n openshift-config
  3. HTPassword CR 을 작성합니다. (htpassword.yaml)
apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: my_htpasswd_provider 
    mappingMethod: claim 
    type: HTPasswd
    htpasswd:
      fileData:
        name: htpass-secret 
  1. 등록합니다.
    $ oc apply -f htpassword.yaml


Reference

Tags:

답글 남기기

이메일 주소는 공개되지 않습니다.