【问题标题】:aws access key id and secret access keyaws 访问密钥 ID 和秘密访问密钥
【发布时间】:2018-03-17 11:07:18
【问题描述】:

我试图理解访问密钥。我阅读了https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys 并说使用访问密钥来签署您向 AWS 提出的编程请求。

我可以说access key id 像公钥并且可以共享,而secret access key 像私钥不可共享吗?当我在 CLI 中连接到 AWS 时,我需要在 ~/.aws/credentials 中指定两者,我想知道为什么

【问题讨论】:

    标签: amazon-web-services


    【解决方案1】:

    虽然aws不容易透露这两个键之间的内部关系,但我将解释我从他们的资源和经验中收集到的内容。 他们的 REST Api 需要一个授权标头,其中包含与从密钥派生的签名连接的访问​​密钥 ID。此签名是使用密钥和消息的 HMAC 字符串,如下所示:https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#ConstructingTheAuthenticationHeader。我会想象当我们使用 aws cli 时会使用相同的方法。

    还有其他资源声称,访问密钥本质上是公开的,因为它可以在某些情况下被其他人访问,如下所示:https://alestic.com/2009/11/ec2-credentials/。 我想这将意味着日志中的足迹或管理员对用户的个人访问密钥而不是他们的密钥的可见性。密钥仅在创建时显示,此后即使管理员也无法访问它。

    【讨论】:

    • “我想当我们使用 aws cli 时会使用相同的方法。” 是的 - 您可以使用 --debug 选项观察到这一点。 SDK 也是如此。它们都使用完全相同的逻辑。访问密钥是公开的/非秘密的,有点像用户名,而密钥是私有的/秘密的,有点像密码……但与密码不同的是,您永远不会发送实际的密钥,而是使用它来生成签名。这两个值没有明显的数学关系——它们只是一对总是一起使用的值。
    猜你喜欢
    • 1970-01-01
    • 2017-03-23
    • 2021-12-25
    • 2017-10-02
    • 1970-01-01
    • 2020-11-28
    • 2015-11-18
    • 2022-08-09
    • 2015-12-09
    相关资源
    最近更新 更多