1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AWSのクロスアカウント(別アカウントリソースへのアクセス)の方法

Posted at

この記事に書いてあること

AWSでとあるアカウントで作ったリソースに別アカウントのユーザからアクセスする方法です。
リソースAを所有するアカウントをアカウントA、リソースAにアクセスしたいアカウントをアカウントBとします。

用語の理解

用語 意味
アカウント AWSの請求単位
IAMユーザ AWSアカウント内のアイデンティティ。パスワードやアクセスキーにより認証される。
IAMユーザグループ ユーザの集団を定義。グループに対してログインはできない。
ロール リソースに1つだけ結び付けられるポリシーのグループ
ポリシー 各リソースに対するアクションの許可・拒否のルール

関係はこんな感じでしょうか。

アカウント-1---n-ユーザ-n---n-グループ
リソース-n---1-ロール-1---n-ポリシー

事前準備

  1. AWSにアカウントAを作成 → アカウントIDをメモ
  2. アカウントAでリソースAを作成
  3. AWSにアカウントBを作成 → アカウントIDをメモ

アカウントBからリソースAへアクセスするためのロールを作成

  1. アカウントAにサインイン
  2. サービス > Identity Access Management(IAM) を選択
  3. アクセス管理 > ロール を選択
  4. ロールを作成
    4.1.信頼されたエンティティタイプで「AWSアカウント」を選択
    4.2.AWSアカウントで「別のAWSアカウント」を選択
    4.3.アカウントIDに【アカウントBのアカウントID】を入力して「次へ」
    4.4.リソースへのアクセス許可ポリシー(例:Lambdaであれば「AWSLambda_FullAccess」)を追加して「次へ」
    4.5.ロール名を入力して「ロールを作成」
  5. 作成したロールのARNをメモ

リソースAにアクセスするIAMユーザの作成

  1. AccountBでマネージドコンソールにサインイン
  2. サービス > Identity Access Management(IAM) を選択
  3. アクセス管理 > ユーザ を選択
  4. 「ユーザーを追加」
    4.1. ユーザ名(例:UserB)を入力して「次へ」
    4.2. 許可のオプションで「ポリシーを直接アタッチする」 を選択
    4.3. ポリシーの作成 > サービス「sts」, アクション「書き込みのAssumeRole」, リソースは指定で【先程メモしたロールのARN】
    4.4. タグを追加はそのままで「次のステップ:確認」 > 名前をつけて「ポリシーの作成」
    4.5. 作成したポリシーをアタッチ

UserBでリソースAにアクセス

  1. AccountBのUserBでマネージドコンソールにサインイン
  2. 画面右上のアカウント名 > 「ロールの切り替え」( > 初回はもう一度「ロールの切り替え」)
  3. アカウントに【アカウントAのアカウントID】、ロールに【アカウントAで作成したロール名】を入力。表示名は任意。 > ロールの切り替え

以上です。
AWSのリソースへのアクセス制御の概念を学ぶ良い機会でした。

1
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?