我正在构建一个使用AWS的原型。在我的原型中,我传递一个纯文本字符串中的项目列表,其中两个是AWS访问键。我知道这将代表一个安全漏洞,所以我将重新审视这种方法,但它让我思考....
访问密钥ID和秘密访问密钥中可以显示哪些值?我用逗号分隔列表,但如果我的密钥包含逗号,这将无法正常工作。如果它们可以包含逗号,但它们不能包含换行符,也许我只会使用换行符。
答案 0 :(得分:2)
访问密钥ID是20个字母数字字符,如022QF06E7MXBSH9DHM02。
秘密访问密钥是40个字母数字斜杠加字符,如kWcrlUX5JEDGM / LtmEENI / aVmYvHNif5zB + d9 + ct。
来源:http://alestic.com/2009/11/ec2-credentials
所以......你的钥匙都不会接受逗号或换行符。
答案 1 :(得分:1)
以下是AWS提供的有关安全最佳做法的白皮书。 http://media.amazonwebservices.com/Whitepaper_Security_Best_Practices_2010.pdf
此外,如果您需要将安全凭证放到EC2虚拟机上,最安全的处理方式是:
使用IAM服务创建一个“用户”,其凭据仅限于 您需要该实例才能执行的任务。 (这将防止被盗凭证损害您的整个AWS账户。)
使用EC2“实例配置文件”,这将使您的EC2实例能够通过instance metadata向您提供凭据。
如果由于某种原因无法使用实例配置文件,则最好的办法是SCP包含您的凭据的文件到实例。由于SCP利用SSH,因此可以确保您的凭据在传输到实例的过程中得到保护。
我希望这有帮助! :)