Ncloud Single Sign-On으로 OIDC 인증 설정하여 kubectl 인증 사용 예제
- 인쇄
- PDF
Ncloud Single Sign-On으로 OIDC 인증 설정하여 kubectl 인증 사용 예제
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
VPC 환경에서 이용 가능합니다.
OpenID Connect(OIDC) 인증 설정에서 Single Sign-On Tenant를 Issuer로 추가하고, 포탈 로그인을 통해 kubectl을 사용하는 예제입니다.
참고
예제를 테스트하기 위해 사전에 준비해야 하는 내용은 다음과 같습니다.
- krew 설치
- oidc-login/kubelogin 설치
- Ncloud Single Sign-On Tenant, Application 생성
oidc-login plugin 설정
- Single Sign-On에서 생성된 Issuer URL과 ClientID, ClinetSecret으로 oidc-login setup을 수행해 주십시오.
- 브라우저에서 로그인 화면이 나오면 로그인합니다. 이미 로그인한 상태라면 로그인 화면이 표시되지 않습니다.
kubectl oidc-login setup \ --oidc-issuer-url=https://sso.gov-ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08 \ --oidc-client-id=bf24746a-1957-4d45-8ad6-da86029296b2 \ --oidc-client-secret=22202039-c06d-4ad0-95d0-fb537378cc20
- 브라우저에서 로그인 화면이 나오면 로그인합니다. 이미 로그인한 상태라면 로그인 화면이 표시되지 않습니다.
- id_token의 내용을 확인해 주십시오.
{ "sub": "bcf8067c-da7e-4818-ae58-39add6bd7e6a", "aud": "bf24746a-1957-4d45-8ad6-da86029296b2", "id_no": "bcf8067c-da7e-4818-ae58-39add6bd7e6a", "user_type": "CUSTOMER", "azp": bf24746a-1957-4d45-8ad6-da86029296b2", "user_name": "nbp", "iss": "https:\/\/sso.gov-ncloud.com\/tenants\/f42162be-f574-477f-985b-c624579f2b08", "mbr_no": "2551575", "exp": 1670295764, "iat": 1670293964, "nonce": "IZ32TJmuMGF1iisd8t7VGGSF2DkT5PY1FmVwpbT85Uw" }
- IAM 인증 상태에서 kubeconfig로 oidc 인증 유저용 클러스터 롤을 추가해 주십시오.
- Ncloud Kubernetes Service OIDC 설정에서 username prefix/claim을 설정하지 않으면 기본적으로
iss
#sub
이 username으로 설정됩니다. - username 변경을 위해서는 4번 OIDC 설정에서 prefix/claim을 지정할 수 있습니다.
kubectl create clusterrolebinding oidc-cluster-admin --clusterrole=cluster-admin --user='https://sso.gov-ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08#bcf8067c-da7e-4818-ae58-39add6bd7e6a'
- 콘솔에서 Ncloud Kubernetes Service OpenID Connect(OIDC) 인증 설정을 진행해 주십시오.
- Issuer URL: https://sso.gov-ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08
- Client ID: bf24746a-1957-4d45-8ad6-da86029296b2
- kubeconfig 파일에 oidc 인증을 추가해 주십시오.
kubectl config set-credentials oidc \ --exec-api-version=client.authentication.k8s.io/v1beta1 \ --exec-command=kubectl \ --exec-arg=oidc-login \ --exec-arg=get-token \ --exec-arg=--oidc-issuer-url=https://sso.gov-ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08 \ --exec-arg=--oidc-client-id=bf24746a-1957-4d45-8ad6-da86029296b2 \ --exec-arg=--oidc-client-secret=22202039-c06d-4ad0-95d0-fb537378cc20
- oidc 인증을 사용하여 kubectl 명령을 수행해 주십시오.
kubectl --user=oidc get nodes
- 현재 kubeconfig context가 oidc 인증을 사용하도록 설정해 주십시오.
kubectl config set-context --current --user=oidc
이 문서가 도움이 되었습니까?