【问题标题】:How to avoid hard coding access key and security key values aws如何避免硬编码访问密钥和安全密钥值 aws
【发布时间】:2020-04-30 16:55:18
【问题描述】:

在我的 js 文件中,我正在访问我的 AWS sns,但主要问题是目前,我正在对我的 IAM 访问和安全密钥进行硬编码...有没有办法通过使用临时密钥或隐藏我的钥匙?我已经发布了一个关于我如何更新下面的配置的 sn-p。

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-services react-native aws-sts access-keys


    【解决方案1】:

    如果不了解您的代码,很难发表评论。

    React Native 是一款移动应用。您将需要一项服务来针对该服务对您的移动应用程序用户进行身份验证。其中一项服务是亚马逊 Cognito。

    用户池

    Amazon Cognito 有一个名为 user pool 的概念。用户池是存储用户的地方。

    当您针对用户池对用户进行身份验证时,您将获得授权令牌作为回报。您的应用可以存储此令牌并将其发送到您的后端服务。后端服务可以验证令牌以确认用户的身份。

    身份池

    身份池是颁发临时 AWS 凭证以换取授权令牌的概念。这是临时 AWS 凭证,您可以使用它直接从移动应用程序调用 aws 服务。

    希望这会有所帮助。

    这里有一篇文章供你阅读 - https://pusher.com/tutorials/serverless-react-native-aws-amplify

    【讨论】:

    • 我没有使用过 react native 或移动应用开发,但我认为这可能会给你一些背景信息。
    • 嗨!谢谢你的评论!所以我设置了用户池,在用户登录我的应用程序后,我想知道如何传递临时凭据。我可以通过运行“console.log(Auth)”查看用户颁发的令牌。使用分配给用户的令牌,是否可以说“凭据:{Auth.user.jwtToken}”而不是放置我的 IAM 用户的访问密钥和安全密钥?
    • 对不起,我没有关注你。你得到access keysecurity key了吗
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-10
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      相关资源
      最近更新 更多