Amazon web services AWS请求签名是否隐藏访问密钥?

Amazon web services AWS请求签名是否隐藏访问密钥?,amazon-web-services,Amazon Web Services,如果我和我随后将此请求转发给客户机,让其执行该请求,那么给出该请求的客户机能否对所使用的访问密钥进行反向工程 换句话说,如果我用我的访问密钥签署一个请求,我能安全地让其他人在不知道访问密钥的情况下为我执行该请求吗 客户端能否看到正在激发的请求内容?您的访问密钥id将可见,但您的秘密访问密钥将不可见。签名请求不会加密内容,因此内容仍然可读。您的访问密钥id将可见,但您的秘密访问密钥将不可见。签署请求不会加密内容,因此内容仍然可读。从技术上讲,访问密钥不是秘密 例如,它以纯文本形式存储在您分发给他人

如果我和我随后将此请求转发给客户机,让其执行该请求,那么给出该请求的客户机能否对所使用的访问密钥进行反向工程

换句话说,如果我用我的访问密钥签署一个请求,我能安全地让其他人在不知道访问密钥的情况下为我执行该请求吗


客户端能否看到正在激发的请求内容?

您的访问密钥id将可见,但您的秘密访问密钥将不可见。签名请求不会加密内容,因此内容仍然可读。

您的访问密钥id将可见,但您的秘密访问密钥将不可见。签署请求不会加密内容,因此内容仍然可读。

从技术上讲,访问密钥不是秘密

例如,它以纯文本形式存储在您分发给他人或在您的网站上发布的任何内容中:

https://<bucket-name>.s3.amazonaws.com/test.txt?AWSAccessKeyId=AKIA4CHRFYIMJSLJKLHO&Signature=cD47pThlUZ%2BUmfkA0DLAEf%2BxiyU%3D&Expires=1591143311
将访问密钥和秘密访问密钥视为用户名和密码。用户名可以公开,但密码不能公开。因此,如果有人从签名的url获得访问密钥,就没有什么大问题,因为它不是秘密的,因为AWS在url中以明文形式公开存储它

尽管如此,它仍然建议不要无缘无故地把它送人。因此,不必在预签名S3 URL或已签名请求中使用管理员帐户中的明文访问密钥,您可以创建一个临时IAM用户,该用户的凭据仅足以执行所需的操作。这符合良好的实践。

从技术上讲,访问密钥不是秘密

例如,它以纯文本形式存储在您分发给他人或在您的网站上发布的任何内容中:

https://<bucket-name>.s3.amazonaws.com/test.txt?AWSAccessKeyId=AKIA4CHRFYIMJSLJKLHO&Signature=cD47pThlUZ%2BUmfkA0DLAEf%2BxiyU%3D&Expires=1591143311
将访问密钥和秘密访问密钥视为用户名和密码。用户名可以公开,但密码不能公开。因此,如果有人从签名的url获得访问密钥,就没有什么大问题,因为它不是秘密的,因为AWS在url中以明文形式公开存储它


尽管如此,它仍然建议不要无缘无故地把它送人。因此,不必在预签名S3 URL或已签名请求中使用管理员帐户中的明文访问密钥,您可以创建一个临时IAM用户,该用户的凭据仅足以执行所需的操作。这符合我们的良好实践。

谢谢。公开访问密钥ID是否被认为是不安全和不好的做法?谢谢。公开访问密钥ID是否被认为是不安全和错误的做法?