2022年1月15日土曜日

UserAccount作成 / RBACの検証

公式:
https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/#normal-user


今回、myuserという名前で証明書及びユーザ名を作成するが

任意で変更すること!



手順:


1)秘密鍵の作成を行う。

openssl genrsa -out myuser.key 2048








2)署名ファイルの作成を行う。

①CN :ユーザー名

②O   :グループ名

openssl req -new -key myuser.key -out myuser.csr -subj '/CN=mytest/O=group'


3)myuser.csrのコードを表示させる。

cat myuser.csr | base64 | tr -d "\n"


4)CertificateSigningRequestを作成して、デプロイを行う。

   ->以下の赤枠に” myuser.csr “のコードをペーストする。












5)kube apiに上記で作成したCSRを承認を行う。




6)発行された証明書をCertificateSigningRequestからエクスポートする

kubectl get csr myuser -o jsonpath='{.status.certificate}'| base64 -d > myuser.crt




<kubeconfigの追加>


1)上記で作成した資格情報をConfigMapに登録を行う。

kubectl config set-credentials myuser --client-key=myuser.key --client-certificate=myuser.crt --embed-certs=true




2)Contextの作成を行う。

kubectl config set-context myuser --cluster=kubernetes --user=myuser






■RBACの検証


1)RoleとRoleBindingの作成を行う

     ->podのみの設定を許可




















2)nodeの確認を行うと、Pod以外の操作をNGにしているので想定どおり

以下の拒否のメッセージが出ている。




3)Podの作成を行うと、想定どおり作成できることが把握できる。




4)Roleはnamespaceでの実施について決めることができるので

上記では、namespaceをdefaultに指定しているので、それ以外のnamespaceでは実施NGになるか確認してみる。


①namespace: devのマニュフェストでデプロイを実施してみると。


















以下のような、操作拒否のメッセージが出ていることが把握できる。







0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...