AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

IAM を使用して別の AWS アカウントのリソースにアクセスする方法を教えてください。

所要時間1分
0

別の AWS アカウントにある AWS Identity and Access Management (IAM) ロールへのクロスアカウントアクセスを設定したいです。

簡単な説明

別の AWS アカウントのリソースにアクセスするために、IAM ロールとの信頼関係を設定します。

ソースアカウントから宛先アカウントにアクセスする場合を例に挙げます。ソースアカウントから宛先アカウントに IAM ロールを引き受けさせるために、AssumeRole API の IAM ユーザーアクセス許可を付与します。宛先 IAM ロールの信頼関係で IAM ユーザーを指定する必要があります。

注: ロール連鎖でユーザーからロールを使用するのではなく、ソース IAM ロールから宛先 IAM ロールにロールを引き受けさせることもできます。ロール連鎖は、AWS コマンドラインインターフェイス (AWS CLI) や API などのプログラムによるアクセスでのみ機能します。ロール変更は AWS マネジメントコンソールでは使用できません。

解決策

IAM を使用して別の AWS アカウントのリソースにアクセスするには、次のアクションを実行します。

注: AWS CLI のコマンドの実行時にエラーが発生する場合は、「AWS CLI でのエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

ソースアカウント

次の手順を実行します。

  1. JSON エディタを使用して、次の例のような IAM ポリシーを作成します。

    注: DESTINATION-ACCOUNT-IDDESTINATION-ROLENAME は、実際の値に置き換えます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "sts:AssumeRole"
          ],
          "Resource": [
            "arn:aws:iam::DESTINATION-ACCOUNT-ID:role/DESTINATION-ROLENAME"
          ]
        }
      ]
    }
  2. IAM ポリシーを IAM ユーザーアクセス許可にアタッチします。

宛先アカウント

次の手順を実行します。

  1. コンソールで IAM ロールを作成します。

  2. 次のようなカスタム信頼ポリシーを貼り付けます。

    注: SOURCE-ACCOUNT-IDSOURCE-USERNAME は、実際の値に置き換えます。

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::SOURCE-ACCOUNT-ID:user/SOURCE-USERNAME"
          },
          "Action": "sts:AssumeRole"
        }
      ]
    }

注: IAM ロールとユーザーの作成、編集を行うアクセス許可がない場合は、アカウントオーナーにサポートを依頼したうえで、プロセスを完了してください。アカウントとリソースへのアクセスを制限して、信頼するエンティティだけがアクセスできるようにするのがベストプラクティスです。

このポリシーを変更すると、必要な数のソースエンティティを必要な数の宛先ロールで引き受けることができます。たとえば、宛先アカウントの信頼ポリシーの Principal 値を**"AWS": "SOURCE-ACCOUNT-ID"** に変更すると、ロールを引き継ぐアクセス許可を持つソースアカウントのすべてのエンティティが宛先アカウントロールを引き受けることができます。詳細については、「プリンシパルの指定方法」および「ポリシーの作成、編集」を参照してください。

アクセスをテストする

アクセスをテストするには、「ユーザーから IAM ロールに切り替える (コンソール)」または「IAM ロールに切り替える (AWS CLI)」の手順を実行します。詳細については、「IAM チュートリアル: AWS アカウント間の IAM ロールを使用してアクセスを委任する」を参照してください。

関連情報

AWS CLI を使用して IAM ロールを引き受ける方法を教えてください

IAM ポリシーを作成または更新したところ、「フィールド Principal が禁止されています」というエラーが表示されました。解決方法を教えてください

Amazon S3 バケットにあるオブジェクトに対するクロスアカウントアクセス許可を付与する方法を教えてください

クロスアカウントの IAM ロールを引き受けようとしたときの「AccessDenied」または「無効な情報」エラーを解決する方法を教えてください

コメントはありません

関連するコンテンツ