1
0
この記事誰得? 私しか得しないニッチな技術で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

【AWS】EKSアクセスエントリに複数ユーザをグループとして登録したい

Last updated at Posted at 2024-07-08

はじめに

Amazon EKSのアクセス制御方法で2023年12月のアップデートによりアクセスエントリというConfigMapを使用しない新たな方式が使用できるようになりました。

詳細はこちらの記事でもご紹介しております。

課題

こちらの方法、実務で使用する際に課題となっていたのがアクセスエントリへの登録はIAMユーザまたはIAMロールを指定できるのですが、EKSクラスターを操作できる複数のIAMユーザを都度アクセスエントリに追加するのは運用上煩雑になるのでやりたくないと思い、IAMグループを指定して運用する方法はないかと模索していました。

結論

試行錯誤した結果、IAMグループが直接アクセスエントリへ登録することができないため、特定のIAMグループに所属するユーザにsts:AssumeRole権限を付与することで、そのユーザが特定のロール (この場合EKSを操作できる権限)にスイッチすることで、解決します。
全体像は以下のイメージです。
image.png

方法は以降で解説します。

EKSを操作する専用の一時的な認証情報を持ったポリシーを作成

ResourceにアカウントIDを指定して、指定されたアカウントIDはロールを引き受けることができるポリシーを作成する。

image.png
※eks-access-swhitch-roleは後述しますが、EKSリソースを操作するための権限を持ったロールです
ポリシー名: eks-access-switch-policy

iampolicy
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::{アカウントID}:role/eks-access-swhitch-role"
        }
    ]
}

このポリシーを特定のIAMグループにアタッチすることで、そのアカウントのIAMグループ内のユーザは特定のロールにスイッチすることができるようになります。

image.png

EKSを操作できるポリシーを作成

ポリシー名: eks-access-policy
image.png

EKSにアクセスする専用のIAMロールを作成

ロール名: eks-access-swhitch-role

1.ロールを作成から信頼されたエンティティタイプを[AWSアカウントを選択]
image.png

2.AWSアカウントを[このアカウント]を選択し[次へ]
image.png

3.許可するポリシーを選択
先ほど作成したeks-access-policyのポリシーを選択します

4.ロール名を入力
image.png

信頼されたエンティティタイプで[AWSアカウント]を選択すると、デフォルトで以下のようになっているので、そのままロールを作成
image.png

EKSアクセスエントリに作成したロールをアタッチする

EKSの画面から[アクセスエントリの作成]を選択し、先ほど作成したIAMプリンシパルARNを選択
image.png

ポリシー名の選択で[AmazonEKSClusterAdminPolicy]を選択し作成
File (1).jpg

スイッチロールする

ここまでで準備が整いましたので、スイッチロールしてみます。
eks-access-swhitch-roleの[コンソールでロールの切り替えるためのリンク]をコピー
image.png

リンクにアクセスする[とSwhitch Role]の画面が表示されるため、必要に応じてDisplay nameとDisplay colorを入力をおよび選択し[Switch Role]します。
image.png

スイッチロールした画面でEKSクラスターのコンピューティングの内容などが問題なく閲覧できていれば成功です。
image.png

1
0
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
1
0