LoginSignup
0
0

More than 1 year has passed since last update.

AWSのクロスアカウントアクセスをCLIからやってみた

Posted at

はじめに

  • AWSで他アカウントのリソースにアクセスする必要があったため、方法を以下に整理しました。

前提

  • アカウントAからアカウントBのリソースにアクセスする

準備

アカウントBでの作業

  • アカウントBでIAMロールを作成する
    • 信頼関係でアカウントAのIDを指定する
    • 必要なリソースの権限が記述されたIAMポリシーをロールに付与する
      • 今回は特定のS3バケットへのアクセス権限を記述する

アカウントAでの作業

  • IAMポリシーの作成
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "sts:AssumeRole"
            ],
            "Effect": "Allow",
            "Resource": [ "arn:aws:iam::アカウントB:role/アカウントBで作成したIAMロール名" ]
        }
    ]
}
  • IAMユーザを作成してIAMポリシーをアタッチする
  • アクセスキー、シークレットアクセスキーを作成する

ローカルPCでの作業

  • アカウントAのアクセスキー、シークレットアクセスキーを登録する
$ vi .aws/credentials
[accountA]
aws_access_key_id = <アクセスキー>
aws_secret_access_key = <シークレットアクセスキー>
  • AssumeRoleする先のIAMロールのARNと元になるプロファイルを指定する
$ vi .aws/config 
[profile accountB]
role_arn = arn:aws:iam::<アカウントB>:role/<アカウントBで作成したIAMロール>
source_profile = accountA

検証

以下コマンド実行することで、アカウントAからアカウントBのリソースにアクセスできる

C:\>aws --profile accountB s3 ls <アカウントBのS3バケット名>

参考

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