AWS 的“秘密密钥”(显然)是秘密,但单独的“访问密钥”(没有相应的秘密密钥)是否也应该被视为秘密?
AWS“访问密钥 ID”是秘密吗?
访问密钥 ID 用于识别日志、配置等中的访问密钥。如果您不想公布谁访问了哪些系统以及何时访问,它在某些环境中可能被视为敏感数据,但它不是秘密的。
虽然 AWS 访问密钥 ID 类似于用户名(而秘密访问密钥类似于密码),但访问密钥 ID 也被设计为共享,AWS 使用 AWS Presigned Object URL 功能明确地做到了这一点,正如John Hanley在以前的评论。这是一个扩展的响应。
AWS 预签名对象 URL 是可共享的链接,旨在提供给未经身份验证的用户。以下是 AWS 文档中对 AWS 预签名对象 URL 的描述:
默认情况下,所有对象都是私有的。只有对象所有者有权访问这些对象。但是,对象所有者可以选择与他人共享对象,方法是使用他们自己的安全凭证创建一个预签名 URL,以授予下载对象的时间限制权限。
AWS 文档有很多代码来创建 URL,但我找不到示例 URL。以下 CloudBerry 实验室指南中提供了一个示例预签名对象 URL,其中显示了 3 个查询字符串参数,包括AWSAccessKeyId
、Signature
和Expires
。
https://cloudberry-examples.s3.amazonaws.com/invoices/user1234/july2018.pdf?AWSAccessKeyId=AKIALGKOKBY37F5FZF4I&Signature=bPSs8Kcak%2FgjEqqjOO5cFS022x0%3D&Expires=1531446995
- 指南:“使用 Amazon S3 预签名 URL 进行临时对象访问”
- 指导网址:https ://www.cloudberrylab.com/resources/blog/s3-pre-signed-url-guide/
你的问题的答案是;是的,您必须保护访问密钥,AWS 建议使用以下机制来保护访问密钥:
作为安全最佳实践,管理员会定期轮换(更改)您账户中 IAM 用户的访问密钥。资料来源:https ://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
您还可以创建和使用临时访问密钥,称为临时安全凭证。临时安全凭证的优点是它们是短期的。过期后,它们不再有效。您可以在不太安全的环境中使用临时访问密钥,或分发它们以授予用户对您 AWS 账户中资源的临时访问权限。资料来源:https ://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html
注意:如果您将访问密钥视为用户名,将密钥视为密码。我确定您不会与黑客共享您的用户名以减轻他对您的帐户进行黑客攻击的工作。虽然 AWS 访问密钥不是秘密的,但应按照 AWS 的建议进行管理。
希望这可以澄清您的查询。