🐕

クロスアカウントでReadOnlyのアクセス権を与えるハンズオン

2023/07/08に公開
  1. はじめに

    • AWS IAMとは
      AWS Identity and Access Management(IAM)は、AWSのリソースへのアクセスを安全に制御するためのサービスです。IAMを使用すると、どのユーザーがどのAWSリソースに対してどのような操作を行うことができるかを詳細に制御できます。

    • クロスアカウントアクセスとは
      クロスアカウントアクセスとは、あるAWSアカウントのIAMユーザーやロールが、別のAWSアカウントのリソースにアクセスすることを指します。これは、大企業のように複数のAWSアカウントを持っている組織や、AWSリソースを共有する必要があるパートナーシップを持つ組織にとって非常に重要な機能です。

    • ユースケース
      開発チームと運用チームがそれぞれ異なるAWSアカウントを使用している場合、開発チームの一部のメンバーが一時的に運用チームのAWSリソースにアクセスする必要があるかもしれません。このようなケースでは、IAMのクロスアカウントアクセス機能を使用して、必要なメンバーに一時的にアクセス権限を付与することができます。

    • この記事の目的と成果物についての説明
      クロスアカウントでReadOnlyのアクセス権を与えるハンズオンの説明

  2. 前提条件

    • AWSアカウント2つが必要であること
      アカウントA:Iamロールを作成、IamロールにReadOnlyポリシーを付与
      アカウントB:アカウントAにスイッチする
    • 基本的なAWSとIAMの知識があること
    • ブラウザを2つ用意(Chrome,Edgeを使用)
  3. ステップ1: アカウントAのマネジメントコンソールにアクセスする

    マネジメントコンソールを開き、サービスメニューからIAMを開きます。(Chromeを使用しています。)

  4. ステップ2: IAMロールの作成

    • IAMロール作成のための左のメニューから「ロール」をクリックして右上の「ロールを作成」をクリックします。

    • 信頼されたエンティティタイプ
      今回はBのAWSアカウントからアクセスを許可するので「AWSアカウント」を選択します。

    • AWSアカウント
      別のAWSアカウントを選択してアカウントBのアカウントIDを入力します。

    • ReadOnlyのポリシーを付与するので、検索欄に「ReadOnly」と入力しEnterを押します。
      ReadOnlyのポリシーが先頭に来るので、左のチェックボックスをクリックします。
      チェックがついたら右下の「次へ」をクリックします。

    • ロール名と説明に「readonly-role」と入力し信頼されたエンティティにアカウントBのIDの値が正しいか確認します。
      問題なければ右下の「ロールを作成」をクリックします。

    {
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Principal": {
                "AWS": "のアカウントBのID"
            },
            "Condition": {}
        }
       ]
     }
    

    • ロールが作成されるとページの上に緑色の枠のメッセージで確認できます。

    • 作成した「readonly-role」を検索します。「readonly-role」が表示されたらクリックします。

    • コンソールでロールを切り替えるためのリンクのアイコンをクリックします。
      リンクがコピーされます。

    • クロスアカウントアクセスのために信頼ポリシーを設定する方法

  5. ステップ3: アクセスのテスト

    • EdgeのブラウザからBのAWSアカウントにログインします。

    • Edgeの新しいタブを開き先ほどコピーしたリンクにアクセします。
      ロールの切り替え画面が表示されます。
      (リンクからアクセスするとアカウントとロールの入力蘭は値が入っている状態です。)
      表示名に「readonly-role」と入力してください。色は適当に選択し「ロールの切り替え」をクリックします。

    • マネージメントコンソールが開き右上のユーザーが「readonly-role」になっていることを確認してください。

    • 次回からはロールの履歴からアカウントAにスイッチロールすることができます。

以上です。

  1. まとめ
    「ReadOnly」のIAMロールを作成し、他のAWSアカウントへのアクセスを設定する手順を学びました。クロスアカウントアクセスは開発環境間でのアクセス管理に重要で、異なるAWSアカウント間で作業を行う場合やアクセス権限を制限する場面で役立ちます。
    一度スイッチロールしたアカウントは履歴からアクセスできるようになるので便利になります。
    「クロスアカウント」や「スイッチロール」など、名前だけ聞くと難しそうに感じていましたが、実際に操作してみると簡単に設定することができました。
GitHubで編集を提案

Discussion