Ansible正常运行时AWS CLI给出InvalidClientTokenId错误

Ansible正常运行时AWS CLI给出InvalidClientTokenId错误,ansible,boto3,aws-cli,Ansible,Boto3,Aws Cli,我有以下设置: 运行一个脚本updatecreds.py,该脚本使用STS更新我的Ansible creds文件中的AWS凭据 现在,我用这些信条在Ansible中运行与AWS相关的任务,它们运行得很顺利。但是,CLI命令给了我一个错误 当我在~/.aws/config文件中使用相同的凭据时,在执行CLI命令时会出现以下错误:调用ListAccessKeys操作时发生客户端错误(InvalidClientTokenId):请求中包含的安全令牌无效。 由于我的一些Ansible任务运行的是AWS

我有以下设置:

  • 运行一个脚本
    updatecreds.py
    ,该脚本使用STS更新我的Ansible creds文件中的AWS凭据
  • 现在,我用这些信条在Ansible中运行与AWS相关的任务,它们运行得很顺利。但是,CLI命令给了我一个错误
  • 当我在
    ~/.aws/config
    文件中使用相同的凭据时,在执行CLI命令时会出现以下错误:
    调用ListAccessKeys操作时发生客户端错误(InvalidClientTokenId):请求中包含的安全令牌无效。
  • 由于我的一些Ansible任务运行的是AWS cli命令的shell命令,因此这种行为也会影响我的Ansible运行

    为什么AWS的行为如此怪异?还是我做错了什么

    PS:My
    ~/.aws/config
    如下所示:

    [default]
    aws_access_key_id=<>
    aws_secret_access_key=<>
    aws_session_token=<>
    region=us-east-1
    
    [默认值]
    aws\u访问\u密钥\u id=
    aws\u密码\u访问\u密钥=
    aws_会话_令牌=
    地区=美国东部-1
    
    会话
    /
    安全
    术语中存在混淆,请参阅

    要使
    boto
    aws cli
    正常工作,请复制它们:

    [default]
    aws_access_key_id=KEY
    aws_secret_access_key=SECRET
    aws_session_token=TOKEN
    aws_security_token=TOKEN
    region=REGION
    
    不带 aws_会话_令牌=


    仅在~/.aws中使用aws\u access\u key\u id和aws\u secret\u access\u key,Mine就可以正常工作。凭据

    显示您的
    ~/.aws/config的格式
    (屏蔽实际凭据)@KonstantinSuvorov更新了我的问题尝试用
    aws\u session\u token=
    和相同的token值复制
    aws\u security\u token=
    。@KonstantinSuvorov你是个天才。我很困惑:/
    SessionToken
    用于工作!Pl将其添加为答案:)因为您没有使用STS凭据:)