AWS,凭证必须恰好有 5 个斜杠分隔的元素,

问题描述 投票:0回答:5

在 Ubuntu 16.04 上执行

eb init
时,我遇到了错误
Credential must have exactly 5 slash-delimited elements, e.g. keyid/date/region/service/term,

我知道我的

keyid
有斜线,但它们必须在那里,密钥由 AWS 提供并生成。我不知道如何跳过此验证。据我所知,在 MAC 上不存在这个问题。

我该如何处理这个错误?谢谢

amazon-web-services amazon-s3
5个回答
31
投票

AWS 访问密钥 ID 有任何斜杠。它仅由大写 ASCII 字母组成,并以

AKIA...
ASIA...
开头。

一种可能的解释是,您已将访问密钥 ID 与随附的秘密访问密钥互换,该密钥通常带有斜杠。

访问密钥由访问密钥 ID(例如,

AKIAIOSFODNN7EXAMPLE
)和秘密访问密钥(例如,
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
)组成。

https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys

如果您确实在配置中调换了这些值,则应在继续之前停用这些凭据并创建新凭据,因为您可能无意中暴露了您的密钥。


23
投票

就我而言,我将

access_key
用作
secret_key
,将
secrect_key
用作
access_key

所以最好仔细检查一下这个秘密。

此外,访问密钥不应包含任何特殊字符。另外,一种容易识别访问密钥的方法是查看密钥的前缀。

访问键以前缀

ASIA
开头,否则以
AKIA
开头。 AWS 上的所有随机 ID 都有自己的 4 个字母前缀来识别它们的含义。

aws_security_credential_formats


3
投票

我有访问ID和密钥的环境变量,我把它们互换了,这就是问题所在,一旦我正确设置了它们,它就可以工作了


0
投票

就我而言,env 键是小写的。将它们设为大写解决了我的问题

aws_access_key_id
->
AWS_ACCESS_KEY_ID

aws_secret_access_key
->
AWS_SECRET_ACCESS_KEY


0
投票

在我的例子中,只需刷新所有会话,即关闭所有打开的终端并重新启动 ide。

© www.soinside.com 2019 - 2024. All rights reserved.