クロスアカウントバケットアクセス - Research and Engineering Studio

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

クロスアカウントバケットアクセス

RES は、バケットに適切なアクセス許可がある場合、他の AWS アカウントからバケットをマウントできます。次のシナリオでは、アカウント A のRES環境がアカウント B に S3 バケットをマウントしたいと考えています。

ステップ 1: にデプロイRESされているアカウントにIAMロールを作成する (これはアカウント A と呼ばれます)
  1. S3 バケット (アカウント A) にアクセスする必要があるRESアカウントの AWS マネジメントコンソールにサインインします。

  2. IAM コンソールを開きます。

    1. IAM ダッシュボードに移動します。

    2. ナビゲーションペインで、ポリシー を選択します。

  3. ポリシーの作成:

    1. [Create policy] を選択します。

    2. [JSON] タブを選択します。

    3. 次のJSONポリシーを貼り付けます (アカウント B にある S3 バケットの名前<BUCKET-NAME>に置き換えます)。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    4. [Next (次へ)] を選択します。

  4. ポリシーを確認して作成します。

    1. ポリシーの名前を指定します (例:「S3AccessPolicy」)。

    2. ポリシーの目的を説明するためのオプションの説明を追加します。

    3. ポリシーを確認し、ポリシーの作成 を選択します。

  5. IAM コンソールを開きます。

    1. IAM ダッシュボードに移動します。

    2. ナビゲーションペインで Roles (ロール) を選択します。

  6. ロールを作成する:

    1. [ロールの作成] を選択します。

    2. 信頼されたエンティティのタイプとしてカスタム信頼ポリシーを選択します。

    3. 次のJSONポリシーを貼り付けます ( <ACCOUNT_ID>をアカウント A の実際のアカウント ID、RESデプロイの<ENVIRONMENT_NAME>環境名、リージョン AWS RESがデプロイされている <REGION>に置き換えます)。

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<ACCOUNT_ID>:role/<ENVIRONMENT_NAME>-custom-credential-broker-lambda-role-<REGION>" }, "Action": "sts:AssumeRole" } ] }
    4. [Next (次へ)] を選択します。

  7. アクセス許可ポリシーのアタッチ:

    1. 前に作成したポリシーを検索して選択します。

    2. [Next (次へ)] を選択します。

  8. ロールのタグ付け、レビュー、作成:

    1. ロール名 (「S3AccessRole」など) を入力します。

    2. ステップ 3 でタグの追加 を選択し、次のキーと値を入力します。

      • キー: res:Resource

      • 値: s3-bucket-iam-role

    3. ロールを確認し、ロールの作成 を選択します。

  9. で IAMロールを使用しますRES。

    1. ARN 作成したIAMロールをコピーします。

    2. RES コンソールにログインします。

    3. 左側のナビゲーションペインで、S3 バケット を選択します。

    4. バケットを追加 を選択し、クロスアカウント S3 バケット でフォームを入力しますARN。

    5. 詳細設定 - オプションのドロップダウンを選択します。

    6. ロールARNフィールドにIAMロールARNを入力します。

    7. バケットの追加 を選択します。

ステップ 2: アカウント B でバケットポリシーを変更する
  1. アカウント B の AWS マネジメントコンソールにサインインします。

  2. S3 コンソールを開きます。

    1. S3 ダッシュボードに移動します。

    2. アクセスを許可するバケットを選択します。

  3. バケットポリシーを編集します。

    1. アクセス許可タブを選択し、バケットポリシー を選択します。

    2. 次のポリシーを追加して、アカウント A からバケットへのアクセスをIAMロールに付与します (置き換える <AccountA_ID> アカウント A の実際のアカウント ID と <BUCKET-NAME> S3 バケットの名前を含む):

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::AccountA_ID:role/S3AccessRole" }, "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::<BUCKET-NAME>", "arn:aws:s3:::<BUCKET-NAME>/*" ] } ] }
    3. [Save] を選択します。