Single Sign-Onで OIDC認証を設定して kubectlを認証するユースケース
    • PDF

    Single Sign-Onで OIDC認証を設定して kubectlを認証するユースケース

    • PDF

    Article Summary

    VPC環境で利用できます。

    OpenID Connect(OIDC)認証設定で Ncloud Single Sign-On Tenantを Issuerとして追加し、ポータルログインを通じて kubectlを使用するユースケースです。

    参考

    ユースケースのテストのために予め準備する内容は次の通りです。

    oidc-login pluginの設定

    1. Ncloud Single Sign-Onで作成した Issuer URLと ClientID、ClientSecretで oidc-login setupを実行します。
      • ブラウザーにログイン画面が表示されたらログインします。既にログインした状態ならログイン画面は表示されません。
        kubectl oidc-login setup \
        --oidc-issuer-url=https://sso.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.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.ncloud.com/tenants/f42162be-f574-477f-985b-c624579f2b08#bcf8067c-da7e-4818-ae58-39add6bd7e6a'
      
    1. コンソールで Ncloud Kubernetes Service OpenID Connect(OIDC)認証設定を行います。
      • Issuer URL: https://sso.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.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.