Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@toshihirock

[k8s]ServiceAccount や User を作って Role の権限を kubectl auth を使って確認する。

検証した時のメモです。

環境

alias | grep kubectl
k=kubectl

k version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.8", GitCommit:"9f2892aab98fe339f3bd70e3c470144299398ace", GitTreeState:"clean", BuildDate:"2020-08-13T16:12:48Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.13-eks-2ba888", GitCommit:"2ba888155c7f8093a1bc06e3336333fbdb27b3da", GitTreeState:"clean", BuildDate:"2020-07-17T18:48:53Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

確認方法

kubectl auth can-i コマンドを使って権限のチェックを行う。
また、--as オプションを指定することで確認したい ServiceAccount や User の指定が出来るのでこれも使ってみる。

ServiceAccount を作ってテストする時

以下では sa-pod-reader という ServiceAccount を作り、確認をする
--as で指定する時は system:serviceaccount:<namespace><service_account_name> という形式で指定する。

Referring to subjects

system:serviceaccount: (singular) is the prefix for service account usernames.

# service account 作成
k create sa sa-pod-reader

# role 作成
kubectl create role pod-reader --verb=get --verb=list --resource=pods

# rolebinding 作成
kubectl create rolebinding binding-sa-pod-reader --role=pod-reader --serviceaccount=default:sa-pod-reader

# pod の get は可能
k auth can-i get po --as system:serviceaccount:default:sa-pod-reader
yes

# pod の作成は不可
k auth can-i create po --as system:serviceaccount:default:sa-pod-reader
no

User を作ってテストする時

以下では john という ユーザーを作り、確認をする。
作成する Role などの情報は以下から抜粋

Normal User

kubectl create role developer --verb=create --verb=get --verb=list --verb=update --verb=delete --resource=pods

kubectl create rolebinding developer-binding-john --role=developer --user=john

確認。

# pod の get は出来る
k auth can-i get po --as john
yes

# deployment の権限はない
k auth can-i get deployment --as john
no
0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
toshihirock
こちらは個人の意見で会社とは関係ありません。お約束です。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?