2016-09-02 12 views
1

システムアカウントとして実行しているcmd.exeからAWS CLIコマンドを実行できません。Windows AWS CLIシステムアカウントとして実行中に「資格情報を見つけることができません」

C:\>aws --debug s3 ls 
2016-09-02 15:47:31,101 - MainThread - botocore.credentials - DEBUG - Looking for credentials via: iam-role 
2016-09-02 15:47:35,608 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTP connection (1): au-aws-igw.analytics.pvt 
2016-09-02 15:47:35,674 - MainThread - botocore.vendored.requests.packages.urllib3.connectionpool - DEBUG - "GET http://169.254.169.254/latest/meta-data/iam/security-credentials/ HTTP/1.1" 404 345 

問題を複製するには:

デバッグ出力によると、それが問題のように見えるがEC2のマシンのIAM-役割を取得しようとしたときに404を得ることであるかもしれない

  1. はPsExecはをダウンロード(https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
  2. C:\ Temp \ PSTools \ PsExec.exe -i -s cmd.exeを実行します(cmdをローカルシステムとして起動します)
  3. 'aws'コマンドを実行します(例: AWS S3はLS)

だけで、リモートEC2へと(ないシステムアカウントとしてcmdを実行する場合)EC2 IAMの役割がビューにアクセスすることが期待される...つまりリストのすべてのS3バケットなどし、「AWS S3はls」の作品。 http://windowsitpro.com/systems-management/psexec

をそして多分あなたのコマンドを実行するためのボックスでユーザーを指定するには、-uを使用してみてください:

答えて

0

プロキシがシステムアカウント用に設定されていたため、ローカルEC2メタデータURLに到達できませんでした。

Windowsのレジストリに隠されているので、見つけにくいです。私はシステムアカウントとしてregeditを開いてIEに行ってそこに見つけなければなりませんでした。そのキーを削除して正常に動作しました。

0

これを読みますか?

環境変数が設定されていない、AWS設定などへのパスがないという問題があると推測します。

リモートからcmd asを実行できるユーザーは、psexec.exeコマンドの-uパラメーターでそのユーザー名を渡すと正常に動作することが期待されます。

+0

私はユーザーを渡す必要はありません、ローカルシステムを使用するだけです。また、aws config(ローカルシステムとキーの代わりにIAMロールを使用する必要があるため)を使用したくないので、EC2に割り当てられているIAMロールを使用する必要があります。 – pagemedias

関連する問題