阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

AWS Secrets Manager:安全地存储、分发和轮换凭证

  • 2019-10-25
  • 本文字数:1745 字

    阅读完需:约 6 分钟

AWS Secrets Manager:安全地存储、分发和轮换凭证

今天我们发布了 AWS Secrets Manager,它让您能够通过 API 或 AWS 命令行界面 (CLI) 轻松地存储和检索自己的密钥,并通过内置或定制 AWS Lambda 函数轮换自己的凭证。当您在本地使用单一机器和单一应用程序时,可以轻松地管理应用程序密钥,例如数据库凭证、密码或 API 密钥。随着您的发展,当规模扩大到拥有多种分布式微服务时,安全地存储、分发、轮换和占用密钥将成为一项艰巨的任务。以前,客户需要单独为密钥管理功能配备和维护额外的基础设施,这可能会产生成本并使系统不必要地复杂化。

AWS Secrets Manager


想像一下,我的应用程序接收 Twitter 发出的推文,并将其存储在 Amazon Aurora 数据库中。以前,我必须向数据库管理员请求用户名和密码,并将这些凭证嵌入到环境变量中,在竞争性生产环境中甚至需要将其嵌入到应用程序本身。我还需要让我们的社交媒体管理员创建 Twitter API 凭证并设计存储这些凭证的方法。这是一个完全手工的流程,涉及多人,每次我想要轮换这些凭证时都需要重新开始。借助 Secrets Manager,我的数据库管理员可在 Secrets Manager 中提供一次凭证,随后依赖 Secrets Manager 提供的 lambda 函数自动更新并轮换这些凭证。我的社交媒体管理员可将 Twitter API 密钥输入 Secrets Manager,随后我可以通过简单的 API 调用访问它们,我甚至还可以通过调用到 Twitter API 的定制 lambda 函数以编程方式轮换这些凭证。我的密钥通过我在账户中选择的 KMS 密钥进行加密,每位管理员都可以通过针对单个角色或用户的精细 IAM 策略明确地授予访问这些密钥的权限。


让我们来了解我如何使用 AWS Secrets Manager 控制台存储密钥。首先,我将单击“存储新密钥”进入新密钥向导。对于我的 RDS Aurora 实例,直接选择实例并提供初始用户名和密码即可连接到数据库。



接下来,我将填充快速描述以及用于访问我的密钥的名称。在此您可以使用自己希望的任何命名方案。



接下来,我们将配置轮换以使用 Secrets Manager 提供的 lambda 函数每 10 天轮换一次密码。



最后,我们将审核所有详细信息,并查验我们用于存储和检索密钥的示例代码。




最后,我可以在控制台中审核密钥。



现在,如果我需要访问这些密钥,只需调用 API 即可。


Python


import jsonimport boto3secrets = boto3.client("secretsmanager")rds = json(sm.get_secrets_value("prod/TwitterApp/Database")['SecretString'])print(rds)
复制代码


它将给我提供下列值:


Python


{'engine': 'mysql', 'host': 'twitterapp2.abcdefg.us-east-1.rds.amazonaws.com', 'password': '-)Kw>THISISAFAKEPASSWORD:lg{&sad+Canr', 'port': 3306, 'username': 'ranman'}
复制代码

不只是密码

AWS Secrets Manager 适用的对象不仅仅是密码。我可以存储 OAuth 凭证、二进制数据以及更多。让我们来了解如何存储我的 Twitter OAuth 应用程序密钥。



现在,我可以定义使用定制 AWS Lambda 函数轮换这些第三方 OAuth 凭证的功能,只要我们需要就可以可调用到 Twitter 轮换这些凭证。


定制轮换

AWS Secrets Manager 最出色的功能之一是用于凭证轮换的定制 AWS Lambda 函数。这允许您为凭证定义完全定制的工作流程。Secrets Manager 将可调用您的 lambda 函数,负载包括 Step ,指定您在轮换的哪一步; SecretId ,指定轮换用于哪种密钥;最重要的是 ClientRequestToken ,用于确保潜在密钥发生任何变化时的幂等性。


当您轮换密钥时,需要经过几个不同的步骤:


  1. createSecret

  2. setSecret

  3. testSecret

  4. finishSecret


这些步骤的优点是您可以为轮换的每个阶段添加自己需要的任何批准步骤。如需关于定制轮换的更多详细信息,请查阅相关文档。


现已推出


AWS Secrets Manager 如今已在美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(加利福尼亚北部)、美国西部(俄勒冈)、亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(伦敦)和南美洲(圣保罗)推出。Secrets 定价为每月每个密钥 0.40 美元,每 10,000 次 API 调用 0.05 美元。我期待看到更多用户采用轮换凭证确保应用程序安全!


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/aws-secrets-manager-store-distribute-and-rotate-credentials-securely/


2019-10-25 08:00732

评论

发布
暂无评论
发现更多内容

网络入侵检测系统之Suricata(四)--初始化模块代码详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(十六)--类suricata/snort规则自动维护工具

于顾而言

网络安全 suricata

[极致用户体验] 微信设置大字号后,iOS加载网页时闪动怎么办?

HullQin

CSS JavaScript html 前端 9月月更

「趣学前端」自己动手丰衣足食的TS项目开发

叶一一

typescript 前端 ts 9月月更

网络入侵检测系统之Suricata(十四)--匹配流程

于顾而言

网络安全 suricata

SAP UI5 Form 表单 Column Layout 下的 Column 个数分配问题

Jerry Wang

JavaScript Fiori SAP UI5 ui5 9月月更

「趣学前端」Taro实践+踩坑记录第一期

叶一一

taro 前端 框架 9月月更

王者荣耀商城异地多活架构设计

张立奎

网络入侵检测系统之Suricata(三)--日志代码详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(七)--DDOS流量检测模型

于顾而言

网络安全 suricata

[Maven进阶]多环境配置与应用

十八岁讨厌编程

maven 后端开发 9月月更

[Maven进阶]属性与版本管理

十八岁讨厌编程

maven 后端开发 9月月更

网络入侵检测系统之Suricata(十五)--IPOnly/Radix Tree详解

于顾而言

网络安全 suricata

【云原生 | 从零开始学Docker】七丶实战提交自己的镜像以及docker网络

泡泡

Docker 云计算 容器 云原生 9月月更

网络入侵检测系统之Suricata(二)--运行模式及数据流图

于顾而言

网络安全 suricata

2022-09-17:一个字符串s,表示仓库的墙 与 货物,其中‘|‘表示墙,‘*‘表示货物。 给定一个起始下标start和一个终止下标end, 找出子串中 被墙包裹的货物 数量。 比如: s = “

福大大架构师每日一题

算法 福大大

一文带你快速入门【哈希表】

Fire_Shield

数据结构 哈希表 9月月更

MyBatisPlus(四、代码生成器)

Mybatis-Plus 代码生成 9月月更

Java进阶(二十七)使用Dom4j解析XML文件

No Silver Bullet

Java xml 9月月更 DOM4J

网络入侵检测系统之Suricata(九)--Storage实现详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(十)--ICMP实现详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(十三)--网络安全威胁及攻击手段总览

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(八)--Option实现详解

于顾而言

网络安全 suricata

[Maven进阶]聚合和继承

十八岁讨厌编程

maven 后端开发 9月月更

网络入侵检测系统之Suricata(十一)--TCP重组实现详解

于顾而言

网络安全 suricata

【算法实践】分块查找知多少?手把手带你实现分块查找

迷彩

数据结构 算法 9月月更 分块查找 查找算法

大数据调度平台Airflow(一):什么是Airflow

Lansonli

9月月更

redis对应的数据类型及其底层原理

知识浅谈

redis 底层原理 9月月更

网络入侵检测系统之Suricata(五)--Worker Model线程调度详解详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(六)--规则加载模块代码详解

于顾而言

网络安全 suricata

网络入侵检测系统之Suricata(十二)--TCP重组优化

于顾而言

网络安全 suricata

AWS Secrets Manager:安全地存储、分发和轮换凭证_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章