Amazon Elastic Container Registry (Amazon ECR) のイメージリポジトリに接続してイメージをプッシュまたはプルすることを別のアカウントに許可したいと思います。これを設定するにはどうすればいいですか?

別のアカウントの ECR リポジトリとの間でイメージのプッシュまたはプルを行うには、このアカウントに対してリポジトリへの API コールを実行することを許可するポリシーを作成する必要があります。このポリシーは、Amazon Elastic Container Service (Amazon ECS) コンソールのリポジトリの [アクセス許可] タブで設定できます。アクセス許可を設定してリポジトリのトークンを取得すると、許可されたアクションに基づいてイメージをプッシュまたはプルできます。トークンを取得するユーザーは、リポジトリを変更するための適切な API アクセス許可も必要です。

ECR リポジトリとの間でイメージをプッシュまたはプルすることを別のアカウントに許可するには、これらのアクションを実行するためのアクセス許可を別のアカウントに付与する必要があります。

  1. Amazon ECS コンソールの左側のナビゲーションペインで、[Repositories (リポジトリ)] を選択します。
  2. 変更するリポジトリの名前を選択します。
  3. [Permissions (アクセス許可)] タブで、[Add (追加)] を選択します。
  4. 別のアカウントのアカウント番号やリポジトリに対して実行できるアクションなど、アクセス許可の詳細を入力し、[保存] を選択します。例については、「例: 他のアカウントへの許可」を参照してください。別のアカウントは、必要な一時的な (12 時間の) 認証トークンを得た後で、これらのアクションをリポジトリに対して実行できるようになります。Amazon ECS 外からイメージのプルとプッシュを行う場合は、次の get-login コマンドを使用し、アカウントの Docker 認証トークンを取得できます。
$aws ecr get-login --registry-ids <account_ID_of_repository> --region <region>

このトークンを使用すれば、通常の Docker の push および pull コマンドを実行することができます。Amazon ECS を使用してリポジトリからイメージをプルする場合は、イメージをタスク定義で設定します。注: いずれの場合でも、トークンの取得を試みるアカウントには、リポジトリアカウント内の必要な API 呼び出しに対するアクセス許可が必要になります。例については、「Amazon ECR マネージドポリシー」を参照してください。トラブルシューティングのために Docker のデバッグ機能を有効にする方法は、「Docker のデバッグ出力を有効にする」を参照してください。


このページは役に立ちましたか? はい | いいえ

AWS サポート ナレッジ センターに戻る

サポートが必要ですか? AWS サポートセンターをご覧ください。

公開日: 2016 年 08 月 04 日

更新 : 2018 年 7 月 23 日