AWSアカウントの権限を別アカウントに共有する方法

今回はAWSのクロスアカウントアクセスの解説をしていきます。

全体の流れ

IAMユーザーを作成

権限を貰う側

IAMロールを作成

権限を与える側

IAMロールを引き受けれられるユーザーを制限

権利を与える側

IAMユーザーにIAMロールを引き受ける権限を付与

権利を貰う側

IAMユーザーを使ってIAMロールを引き受け

権限を貰う側

権限を貰う側で必要な作業

IAMユーザーを作成

IAMにアクセス

メニューからユーザー→ユーザーを追加

名前を入力しアクセス権限へ

必要な権限をアタッチしタグへ
権限を引き受けるだけであればこの段階では必要ありません。

タグが必要な場合は追加して確認へ

間違いがなければユーザーの作成をクリック

上記作業でユーザーが作成されます。
パスワードを控えるのを忘れずに。

情報を共有し、IAMロールを作成してもらう

担当者に先ほど作成したユーザー名、AWSアカウントIDを共有して、IAMロールを作成してもらいます。
作成が終わったらIAMロールのARNとコンソールでロールを切り替えるためのリンクを受け取ります。

信頼ポリシーを追加

作成したIAMユーザーを開きのインラインポリシーの追加から以下のポリシーを作成します。

JSON
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": "受け取ったIAMロールARN"
        }
    ]
}

ロールの切り替え

コンソールでロールを切り替えるためのリンクにアクセスし、ロールの切り替えをクリック

これでロールに付与された権限を使用することができます。

権限を与える側で必要な作業

アクセスを許可するIAMユーザーの情報を受け取る

権限を貰う側のAWSアカウントID、IAMユーザー名を受け取ります。

IAMロールを作成

IAMにアクセス

メニューからロール→ロールを作成

信頼されたエンティティにAWSアカウントを選択し、相手先のアカウントIDを入力
入力が終わったら次へをクリック

必要なポリシーを追加して次へをクリック

例で使用しているReadOnlyAccessですがこちらAWS全体の読み取り専用の権限を簡単に付与することができるのでお勧めです。

ロール名、説明、タグの設定をしてロールの作成をクリック

信頼関係にユーザーの制限を追加

作成したロールにアクセスし、信頼関係、信頼ポリシーを編集をクリックして以下のように変更します。

JSON
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{アカウントID}:user/{ユーザー名}"
            },
            "Action": "sts:AssumeRole",
            "Condition": {}
        }
    ]
}

IAMロールの情報を共有

コンソールでロールを切り替えるためのリンクを担当者に共有します。

これで別アカウントのユーザーにロールに付与した権限を与えることができます。

参考

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です