首页 > 解决方案 > 如何避免硬编码访问密钥和安全密钥值 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'>
     }
});
...

请帮忙。

标签: amazon-web-servicesreact-nativeaws-stsaccess-keys

解决方案


是的,有更安全的方法来处理凭据。硬编码它们是最不安全的。

虽然可以这样做,但我们不建议在您的应用程序中硬编码您的 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/


推荐阅读