---
title: "Single Sign-On으로 OIDC 인증 설정하여 kubectl 인증 사용 예제"
slug: "k8s-k8sexamples-singlesignon"
tags: ["Kubernetes", "Ncloud Kubernetes Service 활용예제", "Ncloud Kubernetes Service(VPC)"]
updated: 2026-05-21T09:01:37Z
published: 2026-05-21T09:03:11Z
canonical: "guide-gov.ncloud-docs.com/k8s-k8sexamples-singlesignon"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-gov.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

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

<p class="platform-info type-vpc">VPC 환경에서 이용 가능합니다.</p>

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

:::(Info) (참고)
예제를 테스트하기 위해 사전에 준비해야 하는 내용은 다음과 같습니다.
- [krew](https://krew.sigs.k8s.io/) 설치
- [oidc-login/kubelogin](https://github.com/int128/kubelogin) 설치
- [Ncloud Single Sign-On](/docs/sso-overview) Tenant, Application 생성
:::

## oidc-login plugin 설정<a name="oidcloginpulign설정"></a>
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'
    ```
4. 콘솔에서 Ncloud Kubernetes Service [OpenID Connect(OIDC) 인증 설정](/docs/k8s-k8suse-oidc-auth)을 진행해 주십시오.
    * Issuer URL: https://sso.gov-ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08
    * Client ID: bf24746a-1957-4d45-8ad6-da86029296b2
5. kubeconfig 파일에 oidc 인증을 추가해 주십시오.
    ```
    kubectl config set-credentials oidc \
      --exec-api-version=client.authentication.k8s.io/v1 \
      --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 \
      --exec-arg=--oidc-extra-scope=groups
    ```
6. oidc 인증을 사용하여 kubectl 명령을 수행해 주십시오.
    ```
    kubectl --user=oidc get nodes
    ```
7. 현재 kubeconfig context가 oidc 인증을 사용하도록 설정해 주십시오.
    ```
    kubectl config set-context --current --user=oidc
    ```
