SAA学習-IAM-IAMロールの権限移譲
今回のテーマ:IAMロールの権限移譲
IAMロールの信頼ポリシー
IAMロールの信頼ポリシーは、監査人などに一時的な権限を委譲する際に利用します。
実施する概要
1.アカウントAでアカウントBへ権限移譲用のロールを設定
2.アカウントBへ権限移譲用のロールをポリシーとして設定
3.2のポリシーをアカウントBのIAMユーザに設定
4.3のIAMユーザーを利用してIAMロールをスイッチしアカウントAにアクセス
実施概要の概略図
実際の適用方法
1.アカウントAでアカウントBへ権限移譲用のロールを設定
- IAM-アクセス管理-ロール-ロールの順にクリック
- 別のAWSアカウントを選択(クロスサイトアカウント=IAMロールを適用することが合致) し別のアカウントIDを入力後、次のステップ:アクセス権限をクリック
- ポリシーは前回作成したApplication-policyを活用し、次のステップ:タグをクリック
- タグは未設定で問題ないので次のステップ:確認をクリック
ロール名は任意ですがこの場合アカウントBに対する意図を判断できるようにApplication_AcountBを指定します。 * ロール名入力後、ロールの作成をクリック
2.アカウントBへ権限移譲用のロールをポリシーとして設定
- 設定前事前確認
1.アカウントAで作成したIAMロールのロールARN (AWSリソース名) をコピーしておくこと
2.アカウントIDをコピーしておくこと
実施する場合、通常使用するブラウザと異なるブラウザを使用すると便利です。
- 別のAWSアカウントへログインし、IAMからポリシーを作成するをクリック
JSONを選択しコードから作成します。 * ひな形を活用すると便利なので管理ポリシーのインポートをクリック
- AdministratorAccessを選択しインポートをクリック
- ひな形をインポート後、コードを実装します。(こういうのCI/CDの一環につながります)
{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":"sts:AssumeRole", "Resource":"arn:aws:iam::(AWSアカウントID):role/Application_AcountB" } ] }
- 実装後、次のステップ:タグをクリック
- タグの指定は不要なので、次のステップ:確認をクリック
- ポリシー名を指定し、ポリシーを作成をクリック
3.2のポリシーをアカウントBのIAMユーザに設定
- IAM-アクセス管理-ユーザー-ユーザーを追加をクリック
- コンソールパスワードやパスワードリセットのチェックを外して次のステップ:アクセス権限をクリック
- 既存ポリシーを直セスアタッチを選択後、先程作成したポリシーを選択し次のステップ:タグをクリック
- タグは特に指定しないため、次のステップ:確認をクリック
- 確認画面に来たら、内容を確認しユーザーの作成をクリック
- アカウントBのルートユーザからサインアウトを行います。
※ ユーザの作成が終わったらアカウントBのAWSアカウントIDを控えておくと楽です。
4.3のIAMユーザーを利用してIAMロールを選択し、アカウントBへ変更しIAMロールの権限移譲を有効化
- アカウントBのサインインの画面に来たらIAMユーザを選択し、アカウントIDをクリック
- 先程作成したユーザーでAWSマネイジメントコンソールへログイン
- ログイン後右上のIAMユーザーをクリックすると「ロールの切り替え」というメニューが増えます。
- ロールの切り替え画面に来たら、ロールの切り替えをクリック
- アクセスしたいアカウントAのAWSアカウントIDと該当ロールを入力し、ロールの切り替えをクリック
- 表示名がピンク色で設定しているので、この状態でOKとなります。
この状態でAWSマネジメントコンソールで、アカウントAのマネジメントコンソールに切り替わり完了となります。
今回のテーマは以上です。