【问题标题】:`An error occurred (InvalidToken) when calling the ListBuckets operation: The provided token is malformed or otherwise invalid.` w/`aws s3 ls``调用 ListBuckets 操作时发生错误 (InvalidToken):提供的令牌格式错误或无效。` w/`aws s3 ls`
【发布时间】:2021-01-15 21:35:49
【问题描述】:

我成功通过 2 个因素进行身份验证,但在使用 aws s3 ls 时,我不断收到

调用 ListBuckets 操作时发生错误 (InvalidToken):提供的令牌格式错误或无效。

而且我确实拥有管理员权限。

【问题讨论】:

    标签: amazon-web-services amazon-s3


    【解决方案1】:

    问题是我没有通过--region in。例如aws s3 --region us-gov-west-1 ls。我想这也可以用 ENV 变量来设置。该错误消息是改进的候选者。

    【讨论】:

    • 如果使用非默认AWS partitions(例如aws-cn),使用export AWS_DEFAULT_REGION="{{region}}"定义默认区域将节省调试时间。
    • 我认为aws 工具只需要更好的错误信息。如果我能很快再次重现此问题,我将在 github.com/aws/aws-cli/issues 此处打开上游问题。如果有人目前在最新版本的 aws cli 上遇到此错误并且是因为缺少该区域,请在此处打开一个新问题 github.com/aws/aws-cli/issues/new/choose
    • 很好,刚刚发现这个问题于 2020 年 9 月 22 日打开,它已关闭,但我要求重新打开它。据称这是来自 S3 API 的服务器端错误。 github.com/aws/aws-cli/issues/5564
    • 在这里使用 gov 云,us-gov-west-1 vs us-west-1 解决问题
    【解决方案2】:

    aws cli 读取~/.aws 文件中声明的aws_session_tokenaws_security_token 时也会发生此错误,这可能与以前使用的帐户相关联。删除两者并仅保留与存储桶所在帐户关联的密钥和凭据将强制 aws 建立连接。

    【讨论】:

    • 如果您为其他用户定义了环境变量 AWS_SESSION_TOKEN(不仅在 ~/.aws 文件中),这也是如此。因此,请务必将其从当前会话中删除,以免出现问题(例如取消设置 AWS_SESSION_TOKEN)。
    【解决方案3】:

    请从您的用户帐户中删除 .aws/credentials 文件并重新配置您的 aws cli。 如果您已经与另一个帐户相关联,则很有可能出现此类错误。

    【讨论】:

    • 完全没有必要删除~/.aws/credentials。最多只需用文本编辑器打开~/.aws/credentials,从您正在使用的用户帐户中删除aws_security_token 行,保存文件,然后重试。
    【解决方案4】:

    运行 aws 配置

    1. 如果您附加了 IAM 角色,您可以将访问密钥和访问密钥 ID 留空

    2. 为“区域”设置值

    现在您将能够成功运行“aws s3 ls”

    否则运行'aws s3 ls --region'

    【讨论】:

      【解决方案5】:

      在 .aws 凭证文件中删除会话令牌,它将起作用

      【讨论】:

        猜你喜欢
        • 2022-07-08
        • 2020-11-19
        • 1970-01-01
        • 1970-01-01
        • 2020-05-06
        • 2021-09-17
        • 2020-12-11
        • 2022-09-23
        • 1970-01-01
        相关资源
        最近更新 更多