2016-11-28 14 views
1

ECS上のコンテナ内からaws cliを使用すると、ECSインスタンスロールにアタッチされたIAMポリシーがタスクロールIAMポリシーはまったく使用されません。タスク/コンテナ内のAWS cliはインスタンスロールポリシーを使用し、タスクロールは使用しません

シナリオ:タスクの役割ではなく、インスタンスの役割に添付

aws s3 cp local/file s3://remotebucket 

S3のputObjectポリシー - 成功

私の理解 - アクセスが役割を作業ではありません、インスタンスの役割に添付

S3のputObject政策を否定タスクのIAMのコンテナは、インスタンスロールを継承するだけでなく、タスクロールのポリシーも含みます。どのようにして最初のシナリオを動作させることができますか? http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html

+0

同じ問題が発生しています。あなたはこれの解決策を見つけましたか?私が知る限り、AWS CLIはEC2インスタンスの役割を担う必要があります。 –

答えて

2

これについて私の頭を抱いた後、問題はAWS CLIが古くなっていることが原因です。 http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#task-iam-roles-minimum-sdk

私の場合は、バージョン1.4.2をインストールするapt-get install aws-cliでaws-cliをインストールしていました。このバージョンでは、正しいIAMを取得するのに必要な環境変数AWS_CONTAINER_CREDENTIALS_RELATIVE_URIは処理されません。したがって、デフォルトではインスタンスのIAMが取得されます。

解決方法は、pipまたはバンドルされたインストールを使用してAWS CLIをインストールして、最新のバージョンがインストールされていることを確認することでした。同じことがAWS SDKにも適用されます - 必要なバージョンは上記のリンクで説明されています。

関連する問題