【Switch Role】特定のIAMグループのみに権限を付与する

  • 2020年9月26日
  • 2020年9月26日
  • AWS, IT
AWS

こんにちはますのです。
先日、IAM Switch RoleでIAMユーザにしか権限付与出来ないじゃないの。とつぶやいたところ、

出来まっせ!!と有識者の方から情報を頂きました!

Twitterって有難いですわぁ。。。
わたしの検証アカウントで「AdministratorAccess」がついていたので、全IAMユーザと勘違いしていたというオチでした。

IAMグループ単位で管理したいと思っていたので、筆者の環境はこちらの設定に変更しました。

事前準備:スイッチロールの設定を行う

細かい設定手順は他人任せです。クラスメソッドさんの記事をご覧あれです。

関連:【AWS SSO】【Switch Role】複数のAWSアカウントでログインを簡単に!

事前準備でやることを簡単に説明するとこんな感じです。

  1. スイッチ先のAWSアカウント>IAMで「スイッチを許可するIAMロール」を作成する
  2. スイッチ元のAWSアカウント>IAMで「スイッチ操作を許可するIAMポリシー」を作成する

スイッチ元のIAMグループに「sts:AssumeRole」が許可されたIAMポリシーをアタッチする

スイッチ元からスイッチ先「AWSアカウント:123456789012」に対してスイッチ出来るように、IAMポリシーが作成されています。

あとは設定したいIAMグループにアタッチするのみです。

  1. IAM>グループ>スイッチを許可したいグループ選択
  2. タブ:アクセス許可>ポリシーのアタッチをクリック
  3. 事前に作成したIAMポリシー「AdminSwticthRole」を選択しアタッチする

AdministratorAccessの場合は「Action:*」「Resource:*」で許可となっているので、IAMグループ自体設定不要でした。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

スイッチロールの許可に必要なものは「Action:sts:AssumeRole」「Resource:スイッチ先のARN」であると理解できました。

言われてから「確かになぁ…」と新たな学びになりました。
IAMの権限設定は行き当たりで設定していますが、まだまだ考えないといけないことが多そうです。
最新情報をチェックしよう!