以下の内容はhttps://devops-blog.virtualtech.jp/entry/20221017/1665974487より取得しました。


aws-auth ConfigMapを安全に更新する

新しい人が入ってきた時や、誰かが出ていく時など、EKSのaws-auth ConfigMapにIAMユーザーを足したり引いたりすることはよくあると思います。このConfigMap、構文が間違っていても保存できてしまうんですよね。エラーのまま保存してしまうと、そこで管理されているIAMロールやユーザーがアクセスできなくなってしまいます。そこで、EKSのベストプラクティスではツールを使って更新しましょうということになっているようです。

インストール

こちらの手順に沿って進めてみてください。

https://github.com/keikoproj/aws-auth#install

私はKrewの方でインストールしてみました。Krew自体のインストール方法はこちらを参考にしてください。

使ってみる

実際に値を入れたりするので実験できる環境が必要です。もし、遊べるEKSがない場合は以下のように作ると簡単です。

eksctl create cluster -n playground

使い方を見てみましょう。

kubectl aws-auth help

サブコマンドが確認できたと思います。サブコマンドのオプションを確認するには、実行したいサブコマンドの後ろに--helpをつけて確認してください。

それでは実際に一覧を取得してみます。

kubectl aws-auth get

aws-auth ConfigMapに定義されている一覧が取得できます。

TYPE            ARN                                                                                             USERNAME                                GROUPS
Role Mapping    arn:aws:iam::XXXXXXXXXXXX:role/eksctl-playground-nodegroup-ng-b2-NodeInstanceRole-D6LMIQFQ5VYC  system:node:{{EC2PrivateDNSName}}       system:bootstrappers, system:nodes

次はIAMユーザーを追加してみます。実際に追加できるIAMユーザーが必要になるので、使えるIAMユーザーがいない場合は先にIAMユーザーを作っておいてください。

kubectl aws-auth upsert --append --groups system:masters --mapusers --userarn arn:aws:iam::XXXXXXXXXXXX:user/demo_user --username demo_user

もう一度一覧を取得すると、追加されていることがわかると思います。

$ kubectl aws-auth get
TYPE            ARN                                                                                             USERNAME                                GROUPS
Role Mapping    arn:aws:iam::XXXXXXXXXXXX:role/eksctl-playground-nodegroup-ng-b2-NodeInstanceRole-D6LMIQFQ5VYC  system:node:{{EC2PrivateDNSName}}       system:bootstrappers, system:nodes
User Mapping    arn:aws:iam::XXXXXXXXXXXX:user/demo_user                                                        demo_user                               system:masters

追加したユーザーを削除します。

kubectl aws-auth remove --groups system:masters --mapusers --userarn arn:aws:iam::XXXXXXXXXXXX:user/demo_user --username demo_user

まとめ

今回は一覧の取得からユーザーの追加、削除をみてみましたが、ロールの追加削除もできます。やり方も同じです。aws-auth ConfigMapを手でいじるのはとても危険なので、ツールで更新できればミスを減らせるので精神衛生上とてもよいことだと思います。AWSも手作業での更新は推奨していないので、もしまだ手作業で更新してる場合は試してみるといいかと思います。




以上の内容はhttps://devops-blog.virtualtech.jp/entry/20221017/1665974487より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14