6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon EKS #2Advent Calendar 2019

Day 19

2019/12 EKSのIRSA周り雑感メモ

Last updated at Posted at 2019-12-18

tl;dr

  • 2019/12現在、主要なコントローラはIRSAに対応したバージョンをリリース済み
  • 個人管理でまだIRSAに対応していないものはありそう
  • IRSAに対応しているものはIRSA, それ以外はkube2iamなど併用するのが良いかもしれない

長い説明

AWSにはIAM、Kubernetesにも権限管理の仕組みがある。
KubernetesではRBACの視点で権限管理は主に語られる。というかそれ以外の権限管理の話を知らないのでこの記事ではRBACについてのみ言及する。

AWSとkubernetesの権限管理の統合方法

Kubernetes サービスアカウントに対するきめ細やかな IAM ロール割り当ての紹介 | Amazon Web Services ブログに書かれている通り、主要な統合方法だけでも以下の種類がある。

  • 粗粒度(coarce grained)
    • node(EC2インスタンス)単位でのIAMロール割当て
  • 細粒度(fine grained)
    • kube2iam
    • kiam
    • Zalando's IAM controller
    • IRSA(OIDC)

このうち、IRSAが2019/09に発表された最も新しい手法でかつAWS公式のソリューションでもあるので今後はこれがスタンダードになると予想される。

主要コントローラのIRSAサポート状況

IRSAを有効にするにはそれをサポートしたaws-sdkへコントローラ側が更新する必要がある。
サポートされる AWS SDK の使用 - Amazon EKSに書かれているバージョン以上のaws-sdkを使っているかがIRSAを使えるかどうかに関わってくる。

2019/12/19時点でのコントローラの対応状況はこんな感じ。

コントローラ IRSAに対応したバージョン
ALB Ingress Controller v1.1.3
External DNS v0.5.17
External Secrets v2.1.0
Cluster Autoscaler v1.13.8
kube ingress aws controller v0.8.12
aws app mesh controller for k8s v0.2.0
argo cd v2.4.0
amazon vpc cni k8s v1.5.51

調べた限り基本的に対応していた。サポートされる AWS SDK の使用 - Amazon EKSにはALB ingress controllerやcluster autoscalerが対応していないと書いてあるがすでに対応したバージョンがリリースされている。

IRSAに対応していないコントローラもある状況で細粒度の権限管理をしたい場合

kube2iamなどとの併用が現実的な回答となる。

謝辞

この記事はSpeee社内でレビューをしていただきました。 @winebarrel さんありがとう!

  1. 1.5.5と書いてあるが怪しいコミット上aws-sdkをbumpしたのは1.6.0RC4なのでドキュメントを信用せずそちらを使ったほうが良さそう。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?