Single Sign-Onで OIDC認証を設定して kubectlを認証するユースケース
- 印刷する
- PDF
Single Sign-Onで OIDC認証を設定して kubectlを認証するユースケース
- 印刷する
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
VPC環境で利用できます。
OpenID Connect(OIDC)認証設定で Ncloud Single Sign-On Tenantを Issuerとして追加し、ポータルログインを通じて kubectlを使用するユースケースです。
参考
ユースケースのテストのために予め準備する内容は次の通りです。
- krewインストール
- oidc-login/kubeloginインストール
- Ncloud Single Sign-On Tenant / Applicationの作成
oidc-login pluginの設定
- 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
- ブラウザーにログイン画面が表示されたらログインします。既にログインした状態ならログイン画面は表示されません。
- 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" }
- 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'
- コンソールで 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
- 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
- Oidc認証を使用して kubectlコマンドを実行します。
kubectl --user=oidc get nodes
- 現在の kubeconfig contextが oidc認証を使用するように設定します。
kubectl config set-context --current --user=oidc
この記事は役に立ちましたか?