ユーザ用ツール

サイト用ツール


aws:iam:assumerole

AWS スイッチロールするためのAssumeRoleの設定方法

Assume Roleとは

Assume Role」は他者にAWSアカウントの権限を委譲する仕組みです。
他者にスイッチロールができるようになります。
設定は、各ロールで「信頼関係」を設定することで、権限を付与することができます。


スイッチロールのために、Assume Roleの設定手順

Switch Roleによるアカウント管理とは

複数のアカウントがあると、利用したいアカウントにログインしたり、ログアウトする必要がありますが、
Switch Roleを利用すると、1つログインすると、Switch Roleで、他のアカウントを利用することができます。

社員が増えたり、減ったりしますが、1環境のみユーザを作ればよく、各アカウントごとにユーザを作る必要がなくなります。


スイッチロール先でのロール設定(委任先のアカウント)

  • [ロール] - [ロールを作成]
  • 「別のAWSアカウント」を選択
  • AWSアカウントの「123456789012」などのを入力
  • ポリシーを選択するか、ポリシーを作成する。(例:AdministratorAccess)
  • 「ロール名」を入力して、「ロールの作成」(例:SwichDeveloper)
  • 作成したロールを選択し、信頼関係タブで、「信頼関係の編集」をクリックします。
信頼関係の例(ユーザとソースIPを設定)

スイッチロールされるロールの「信頼関係」で、許可するユーザを追加します。

特定 IP からのみIAM ユーザーがこのロールを引き受けられるように設定します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": [
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx",
        "arn:aws:iam::xxxxxxxxxxxxxxx:user/xxxxxxxxx"
        ]
      },
      "Action": "sts:AssumeRole"
      "Condition": {
        "IpAddress": {
            "aws:SourceIp": "x.x.x.x/32"
        }
      }
    }
  ]
}


スイッチ元での設定(委任元のアカウント)

スイッチロールするポリシーを作成し、それをユーザに割り当てましょう。

  • [ポリシー][ポリシーの作成](例:AllowAssumeRoleWithSourceIPRestriction)
  • 「JSON」を選択し、以下のようにします。
ポリシーの例(ロール名を指定)
{
  "Version": "2012-10-17",
  "Statement": {
      "Effect": "Allow",
      "Action": "sts:AssumeRole"
      "Resource": "arn:aws:iam::xxxxxxxxxxxx:role/ロール名"
    }
}

または
特定 IP のみ特権ロールの AssumeRole を許可する。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAssumeRole",
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "arn:aws:iam::xxxxxxxxxx:role/AssumedAdministratorAccessRole"
        },
        {
            "Sid": "SourceIPRestriction",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": [
                        "xxx.xxx.xxx.xxx/32"
                    ]
                }
            }
        }
    ]
}


ロールの切り替え手順

(1)右上のアカウント名をクリックし、「ロールの切り替え」を選択します。

(2)以下を入力し、「ロールの切り替え」をクリックします。

項目 設定 説明
アカウント 12345678901
ロール
表示名 オプション
オプション


参考

aws/iam/assumerole.txt · 最終更新: 2021/08/24 00:06 by kurihara

ページ用ツール