0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS構築】IAMのスイッチロールをハンズオンする

Last updated at Posted at 2025-04-11

目的

AWSのIAM周りを理解する。
特に、「スイッチロール」

スイッチロール

重要度⭐⭐⭐⭐⭐⭐

スイッチロールとは
AWSのIAMユーザーがAWSアカウント内のIAMロールに切り替えて、一時的にそのロールの権限を受け継ぐ。
アカウントを跨いだスイッチロール等も可能

⭐スイッチロールを実際の設定を交えて、理解していく。

①:IAMユーザー作成

スイッチロールの起点(切り替え元)となるIAMユーザーを作成する。

AWSコンソールで「IAM」と検索し、「ユーザー」を選択
image.png

「ユーザーの作成」を選択。
image.png

ユーザー名を任意で入力して作成する。
image.png

②:IAMロール作成

スイッチロール先となるIAMロールを作成する。
本来はIAMロールで何を許可するか・どのサービスを許可するかなどを定義しますが、今回は割愛します。

適当なロールを作成しました。
ポリシーはAdmin権限を付与してます。
image.png

③:ロールの信頼関係の設定

重要度⭐⭐⭐⭐⭐

ロールの信頼関係とは?
どのエンティティがロールへのスイッチを可能とするかを定義するルール

「信頼関係」タブの中で確認できる。
image.png

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

ほとんどバケットポリシーと同じ形式です。
Allowで明示的に許可してPrincipalでサービス・ARN等を指定。
"Action": "sts:AssumeRole" は、IAMロールを引き受ける(スイッチする)ための操作を許可するものです。(ヘルメットをかぶるためのおまじないみたいもの)

今回は先ほど作ったユーザにのみ、このロールを引き受ける権利を与えたいのでIAMユーザーのプリンシパルを指定します

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "<ARN>"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

ARNはコンソール上で確認&コピペ可能
image.png

④:スイッチロール実行

先ほど作成したユーザーで、AWSコンソール画面にログインします。

image.png

IAM画面を開くと、このユーザーには権限持たせてないため、IAMの情報などは取得できないことが分かります。

では右上のユーザ設定から『ロールの切り替え』を選択します。
image.png

image.png
・アカウントID:スイッチ先のIAMロールが存在するアカウントID
・IAMロール:ロール名

を入力してスイッチします。

成功するとコンソール画面に戻るので右上のユーザー画面を確認すると
・スイッチしたロールとして、ログインできているのが確認できます。

image.png

さらに、IAM関連の情報も確認できていることが分かります。

⑤:細かいスイッチロール設定

セッション期間

スイッチロール後のセッションを保持する時間を変更できる。
image.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?