【发布时间】:2021-01-15 21:35:49
【问题描述】:
我成功通过 2 个因素进行身份验证,但在使用 aws s3 ls 时,我不断收到
调用 ListBuckets 操作时发生错误 (InvalidToken):提供的令牌格式错误或无效。
而且我确实拥有管理员权限。
【问题讨论】:
标签: amazon-web-services amazon-s3
我成功通过 2 个因素进行身份验证,但在使用 aws s3 ls 时,我不断收到
调用 ListBuckets 操作时发生错误 (InvalidToken):提供的令牌格式错误或无效。
而且我确实拥有管理员权限。
【问题讨论】:
标签: amazon-web-services amazon-s3
问题是我没有通过--region in。例如aws s3 --region us-gov-west-1 ls。我想这也可以用 ENV 变量来设置。该错误消息是改进的候选者。
【讨论】:
aws-cn),使用export AWS_DEFAULT_REGION="{{region}}"定义默认区域将节省调试时间。
aws 工具只需要更好的错误信息。如果我能很快再次重现此问题,我将在 github.com/aws/aws-cli/issues 此处打开上游问题。如果有人目前在最新版本的 aws cli 上遇到此错误并且是因为缺少该区域,请在此处打开一个新问题 github.com/aws/aws-cli/issues/new/choose。
us-gov-west-1 vs us-west-1 解决问题
当aws cli 读取~/.aws 文件中声明的aws_session_token 和aws_security_token 时也会发生此错误,这可能与以前使用的帐户相关联。删除两者并仅保留与存储桶所在帐户关联的密钥和凭据将强制 aws 建立连接。
【讨论】:
请从您的用户帐户中删除 .aws/credentials 文件并重新配置您的 aws cli。 如果您已经与另一个帐户相关联,则很有可能出现此类错误。
【讨论】:
~/.aws/credentials。最多只需用文本编辑器打开~/.aws/credentials,从您正在使用的用户帐户中删除aws_security_token 行,保存文件,然后重试。
运行 aws 配置
如果您附加了 IAM 角色,您可以将访问密钥和访问密钥 ID 留空
为“区域”设置值
现在您将能够成功运行“aws s3 ls”
否则运行'aws s3 ls --region'
【讨论】:
在 .aws 凭证文件中删除会话令牌,它将起作用
【讨论】: