Ncloud Single Sign-On으로 OIDC 인증 설정하여 kubectl 인증 사용 예제
    • PDF

    Ncloud Single Sign-On으로 OIDC 인증 설정하여 kubectl 인증 사용 예제

    • PDF

    기사 요약

    VPC 환경에서 이용 가능합니다.

    OpenID Connect(OIDC) 인증 설정에서 Single Sign-On Tenant를 Issuer로 추가하고, 포탈 로그인을 통해 kubectl을 사용하는 예제입니다.

    참고

    예제를 테스트하기 위해 사전에 준비해야 하는 내용은 다음과 같습니다.

    oidc-login plugin 설정

    1. 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
        
    2. 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"
      }
      
    3. 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'
      
    1. 콘솔에서 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
    2. 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
      
    3. oidc 인증을 사용하여 kubectl 명령을 수행해 주십시오.
      kubectl --user=oidc get nodes
      
    4. 현재 kubeconfig context가 oidc 인증을 사용하도록 설정해 주십시오.
      kubectl config set-context --current --user=oidc
      

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.