IAMロール作成時の留意点
EKSのIAM設計において、ベストプラクティスに基づいて最小権限にてカスタムポリシーのIAMロールを作成することは頻繁にあります。
その際に留意して頂きたい点を以下にまとめさせて頂きました。
※筆者も見落としかけました。。
留意事項:信頼ポリシーの設計
結論から申し上げますが、信頼ポリシーの設計が留意点となります。
詳細は以下の通りです。
対象のロール
- Podに設定するロール(信頼するエンティティ:eks.pods.amazonaws.com)
- Auto Modeクラスタに設定するロール(信頼するエンティティ:eks.amazonaws.com)
留意点
信頼ポリシーの"Action"が"sts:AssumeRole"だけでなく、"sts:TagSession" が必要になります。
基本的にサービスロールの信頼ポリシーは"sts:AssumeRole"のみですが、今回の1,2のロールについては必須となります。
※詳細な仕組みについては、今回割愛させて頂きます。
-
eks.pods.amazonaws.com(Auto Modeクラスタ)に設定する信頼ポリシー
※オートモード利用しない場合の通常クラスタは信頼するエンティティが同じになりますが、"sts:TagSession"は不要です。
まとめ
簡単にはなりますが、IAMロール設計における留意点となりました。他にもEKSは他AWSサービスと比較してもIAMロール設計やアクセス制御の部分で難易度が高い部分がございますので、また執筆させていただきます。