Windows AWS CLI“;“找不到凭据”;当作为系统帐户运行时

Windows AWS CLI“;“找不到凭据”;当作为系统帐户运行时,windows,amazon-web-services,amazon-ec2,cmd,aws-cli,Windows,Amazon Web Services,Amazon Ec2,Cmd,Aws Cli,我无法从作为系统帐户运行的cmd.exe运行任何AWS CLI命令 根据调试输出,似乎问题可能是在尝试获取EC2机器的IAM角色时获取404: 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 - botoco

我无法从作为系统帐户运行的cmd.exe运行任何AWS CLI命令

根据调试输出,似乎问题可能是在尝试获取EC2机器的IAM角色时获取404:

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
复制问题:

  • 将PsExec下载到EC2()的C:\Temp
  • 打开cmd并运行C:\Temp\PSTools\PsExec.exe-i-s cmd.exe(这将作为本地系统打开cmd)
  • 运行任何“aws”命令(例如aws s3 ls)
  • 如果只是远程进入EC2并运行cmd(而不是作为系统帐户),那么“aws s3 ls”将按预期工作。。。i、 e.列出EC2 IAM角色有权查看的所有s3存储桶。

    阅读以下内容:

    也许可以尝试使用-u在框中指定一个用户来运行您的命令

    我想这是一个没有环境变量集、AWS配置路径或其他东西的问题


    无论您可以远程进入哪个用户并以哪个用户的身份运行cmd,请在psexec.exe命令的-u参数中传递该用户名,我希望它能正常工作。

    问题是为系统帐户配置了代理,因此无法访问本地EC2元数据URL


    很难找到隐藏在windows box注册表中的as。我必须以系统帐户的形式打开regedit,然后转到IE并在那里找到它。刚取下那把钥匙,效果很好

    我不想通过一个用户,它应该只使用本地系统。也不想也不能使用aws配置(因为本地系统和需要使用IAM角色而不是密钥)。。。需要使用分配给EC2的IAM角色。