amazon-web-services - 如何避免硬编码访问密钥和安全密钥值 aws
问题描述
在我的 js 文件中,我正在访问我的 AWS sns,但主要问题是目前,我正在对我的 IAM 访问和安全密钥进行硬编码......有没有办法通过使用临时密钥或隐藏我的密钥来避免这样做? 我已经发布了一个关于我如何更新下面的配置的片段。
var AWS = require('aws-sdk');
AWS.config.update({
region: < 'My Hard coded region' >,
credentials: {
accessKeyId: < 'My Hard coded Access Key' >,
secretAccessKey: <'My Hard Coded Security Key'>
}
});
...
请帮忙。
解决方案
是的,有更安全的方法来处理凭据。硬编码它们是最不安全的。
虽然可以这样做,但我们不建议在您的应用程序中硬编码您的 AWS 凭证。硬编码凭证存在暴露您的访问密钥 ID 和秘密访问密钥的风险
请参阅https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-credentials-node.html
另请参阅管理 AWS 访问密钥的最佳实践:
不要将访问密钥直接嵌入到代码中。AWS 开发工具包和 AWS 命令行工具允许您将访问密钥放在已知位置,这样您就不必将它们保存在代码中。
请参阅https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html
最安全的方法是从 Amazon EC2 的 AWS Identity and Access Management (IAM) 角色加载凭证。
每个 SDK 都有办法做到这一点。检查您的 SDK 文档以从 IAM 加载凭证。
以下是凭证最佳实践的一个很好的概述,并带有 Java 示例: https ://aws.amazon.com/blogs/developer/credentials-best-practices/
推荐阅读
- javascript - 根据日期选择下一个对象
- vector - 如何在 Rust 中转置向量的向量?
- gradle - 如何使用 gradle/kotlin 发布 OpenAPI Generator 生成的二进制文件?
- javascript - select2 作为组合框
- javascript - 是否可以在 Javascript 中创建自定义函数?
- r - 如何将带有希腊字母的标题添加到带有 R 的 Plotly 图中?
- c# - 显式调用的 C# 构造函数歧义 - 错误 CS0012
- php - 不要在 Gmail 中获得后者,而是在 Outlook 中获得
- vue.js - 使用补丁包在本地修补 NPM 包,不起作用
- c++ - 增强 opencv 类型的序列化