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