你需要知道的一切 [2023]

AWS Secrets Manager 允许您安全地存储所有凭证、数据、密码和其他机密。

网络攻击在全球范围内迅速增加,旨在窃取机密信息和金钱,并使组织遭受破坏。

这就是为什么需要使用 Secrets Manager 等强大的服务来保护您的数据。

在本文中,我将讨论 AWS Secrets Manager 以及它给您带来的好处。

开始吧!

什么是 AWS Secrets Manager?

AWS Secrets Manager 是一款帮助用户在整个生命周期中管理、轮换和检索其秘密的工具,例如密码、API 密钥、数据库和应用程序凭证等。

这里的秘密可以是您想要安全存储的有关您的组织的机密且有价值的信息。 它可以是密码和用户名等凭证、OAuth 令牌、AWS 凭证、SSK 密钥、加密密钥、证书和私钥等。

AWS Secrets Manager 的主要目标是管理和保护您用于访问 IT 资源、服务、应用程序和系统的数据。 它在集中位置存储和管理机密和数据,使合法用户可以更轻松地访问它们,而无需复杂的代码。

AWS Secrets Manager 允许您在 Redshift、RDS 和 DocumentDB 等各种 AWS 服务之间轮换密钥。 这使得所有密钥和数据库凭证能够在这些服务中不断更新。 此外,您可以使用该工具的内置控制台、AWS SDK 或 AWS CLI 按需或按计划轮换密钥。

此外,AWS Secrets Manager 提供更好的数据控制和强大的数据保护加密。 它还允许您监控受保护的信息并借助各种可用集成对其进行审核。

就业务规模而言,其最大的用户是大型企业;就行业类型而言,其最大的用户是软件公司。

AWS Secrets Manager:功能

#1. 秘密存储与管理

不仅是存储,您还可以使用 Secrets Manager 轻松管理您的机密。 要管理平台上的数据,您可以对数据执行各种操作:

  • 创建秘密和数据库
  • 修改秘密
  • 寻找秘密
  • 删除不再需要的机密
  • 恢复您丢失或删除的秘密
  • 将密钥复制到另一个 AWS 区域
  • 在 AWS Secrets Manager 中将复制的密钥提升为给定的独立密钥
  修复脚本诊断本机主机不工作

在 Amazon Aurora、Amazon RDS、Amazon DocumentDB 或 Amazon Redshift 中创建账户后,您可以将凭证存储在平台上。 您可以使用 Secrets Manager 控制台、AWS 开发工具包或 AWS CLI 来完成此操作。

#2. 安全性强

AWS Secrets Manager 使用强加密来保护您的所有机密,防止未经授权的用户访问。 它使用 AWS Key Management Service (KMS) 密钥加密您的机密。

Secrets Manager 利用 AWS Identity and Access Management (IAM) 允许用户安全地访问其机密。 它提供高级访问控制和身份验证。

  • 身份验证用于验证发出请求的用户的身份。 身份验证是通过需要多重身份验证 (MFA) 令牌、访问密钥和密码的登录过程来完成的。
  • 访问控制用于确保经过批准的用户只能对机密执行某些操作。

除此之外,Secrets Manager 使用策略来定义哪些用户可以访问哪些资源并对这些机密或资源采取哪些操作。 它允许您在任何地方使用 AWS IAM Roles 并获得临时凭证,以保证 IAM 中服务器、应用程序、容器和其他在 AWS 上运行的工作负载的安全性。

此外,您可以为您为 AWS 应用程序创建的工作负载启用相同的 IAM 角色和策略,以访问 AWS 和本地设备(如应用程序服务器)中的资源。

#3。 秘密轮换

AWS Secrets Manager 允许您按计划或按需轮换密钥,而无需中断或重新部署活动应用程序。

这里,秘密轮换是指定期更新组织秘密的过程。 因此,当您轮换给定密钥时,您将需要更新密钥中的数据或凭据以及服务或数据库。 此外,您还可以通过控制台和 AWS CLI 设置和自动执行密钥轮换,从而自动执行密钥轮换并节省时间。

为了更新密钥,AWS Secret Manager 利用 AWS Lambda 函数并根据设置计划调用它。 为此,您需要设置一个特定的计划,以便在一段时间(例如 90 天或 30 天)后启用轮换。 也可以通过创建 cron 表达式来完成。

此外,Secrets Manager 可以使用暂存标签在轮换期间标记密钥的版本。 它可以通过给出不同的参数在轮换期间多次调用函数。

以下是轮换机密的方法:

  • 创建秘密的新版本。 它可以有一个新的用户名和密码以及更多秘密数据。
  • 更改服务或数据库中的现有凭据。 这样做将匹配新秘密版本中的新凭证。 根据您正在实施的轮换策略,将创建一个与现有用户具有相同访问权限的新用户。
  • 通过允许新创建的秘密版本访问服务或数据库来测试它。 基于您的应用程序所需的访问类型; 您可以包括读取和写入访问权限。
  • 通过将新版本从旧版本移动到新的秘密版本来执行轮换。 保留旧版本并将其添加到以前的版本中,以避免完全丢失秘密。

#4。 秘密监控

由于违规和效率低下随时可能发生,因此密切关注您的秘密并在还有时间时采取必要的行动非常重要。 AWS Secrets Manager 允许您使用监控工具监控数据,并在出现问题时立即报告。

您将能够使用日志来调查任何意外的更改或使用情况。 如果找到,您还可以回滚不需要的更改并检索以前的版本。 此外,您可以配置自动检查以检测任何秘密删除尝试或不当秘密使用。

以下是通过秘密监控您将得到的结果:

  • 使用 AWS CloudTrail 记录事件:AWS CloudTrail 可以将来自控制台的 API 调用记录为事件,以进行秘密轮换和删除。 它将向您显示过去 90 天内记录的事件。 您还可以设置 CloudTrail 将日志文件从多个 AWS 区域和账户直接传送到 Amazon S3 存储桶。
  • 使用 CloudWatch 进行监控:借助 CloudWatch,您可以让其收集原始数据并将其处理为实时、可读的指标,从而轻松监控您的秘密。 数据将保存 15 个月,以衡量您的服务或应用程序的性能。
  • 使用 EventBridge 匹配事件:使用 EventsBridge,可以匹配 AWS CloudTrail 日志文件中的事件。 为此,配置规则来查找这些事件并向目标发送新事件以采取操作。
  • 监控计划删除的机密:通过结合 Amazon CloudWatch Logs、简单通知服务 (SNS) 和 CloudTrail,您可以设置警报,以便在任何未经授权的尝试删除机密的情况下发出通知。
  6 款用于设计电子产品的最佳 ECAD 软件

收到警报后,您将有时间思考是否真的要删除它还是停止删除。 或者,您可以允许用户使用新密钥并为他们提供访问权限。

#5。 集成

AWS Secrets Manager 与许多其他 Amazon 和 AWS 工具集成。 该列表包括 Alexa for Business、AWS App2Container、App Runner、Amazon AppFlow、AWS AppConfig、Amazon Athena、Amazon DocumentDB、AWS DataSync、AWS CodeBuild、Amazon ElasticCache、Amazon EMR、AWS Elemental Live、Amazon QuickSight、Amazon Redshift、AWS Migration Hub 、Amazon RDS 等。

为什么使用 AWS Secrets Manager

增强的安全态势

Secrets Manager 使您能够增强组织的安全状况,因为您不需要在应用程序源代码中使用任何硬编码凭据。 通过将您的凭据存储在 Secrets Manager 中,您可以避免可以访问应用程序或其组件的人造成与安全相关的损害。

灾难恢复

灾难随时可能降临到您的家门口,例如网络漏洞。 这将导致您丢失重要信息、密码以及其他凭据和数据。 或者,您可能会因意外删除而丢失数据。

使用该工具,您可以通过在运行时调用 AWS Secrets Manager 来替换硬编码凭证,以便在需要时动态检索您的凭证。

降低风险

Secrets Manager 允许您配置轮换计划,以便在时机到来时自动轮换机密。 这样,您可以用短期秘密替换长期秘密,这有助于降低安全妥协的风险。

此外,轮换凭据不需要应用程序更新或修改应用程序客户端,因为您不会将凭据与应用程序一起存储。

满足合规要求

考虑到日益增加的安全和隐私风险,GDPR 和 HIPAA 等监管机构要求组织遵守其合规标准,以确保安全地处理客户和业务数据。 因此,请仅使用安全且符合适用法规的应用程序或服务。

AWS Secrets Manager,您可以监控您的机密,以检测可能危及您的数据的任何安全漏洞或风险,并提前采取行动。 这从本质上保护了您的业务和客户信息,这对于保持合规性至关重要。 您还可以通过记录一切来更好地为审核做好准备。

此外,您可以利用 AWS Configs 来评估您的机密以及它们是否符合组织的内部政策、法规和行业准则。 它允许您定义机密的合规性要求和内部控制,并识别不合规的机密。

更好的控制

您将通过细粒度的策略和访问控制更好地控制您的秘密、系统和其他数据。 AWS IAM 将确保合适的人员对合适的资源拥有合适级别的访问权限。 管理员可以创建或删除帐户、允许或限制用户的访问、添加或删除成员以及根据需要和情况执行许多操作。

AWS Secrets Manager:如何设置和使用它

以下是设置和使用 AWS Secrets Manager 的方法:

  • 输入所需的详细信息来设置您的 AWS 账户。
  • 登录您的 AWS 账户
  • 转到 AWS Secrets Manager 控制台
  • 找到“存储新秘密”选项并单击它以创建并存储您的秘密。
  6 个市场,以便宜的价格找到 SaaS 产品交易

如何创建和存储新的秘密

要在 Secrets Manager 中创建密钥,您需要获得 SecretsManagerReadWrite 托管策略的权限。 创建密钥后,Secret Manager 将生成 CloudTrail 日志条目。

请按照以下步骤将您的访问令牌、API 密钥和凭证存储在 AWS Secrets Manager 中:

来源:堆栈溢出

  • 打开 AWS Secrets Manager 控制台
  • 单击“存储新秘密”。
  • 您将找到“选择秘密类型”页面。 接下来,执行以下步骤:

    • 对于要创建的机密类型,选择“其他类型的机密”。
    • 您将看到键/值对。 在 JSON 中的键/值对中输入机密。 或者,选择纯文本选项卡并以您选择的格式输入您的秘密。 最多可以存储 65536 字节的机密。
    • 选择 Secret Manager 用于加密密钥值的 AWS KMS 密钥。 大多数情况下,您可以使用 aws/secretsmanager 来使用托管密钥。 它不产生任何费用。
    • 要从不同的 AWS 账户访问密钥或使用您的 KMS 密钥启用轮换或对此密钥实施策略,请选择“添加新密钥”或从给定列表中选择客户管理的密钥。 但是,客户管理的密钥是付费的。
    • 选择“下一步”

  • 从“配置秘密”页面,
    • 输入机密名称及其描述。 该名称必须包含 1-512 个 Unicode 字符。
    • 您可以从“标签”部分将标签添加到机密。 您还可以通过选择“编辑权限”来包含资源策略。
    • 此外,还可以通过选择“复制密钥”将密钥复制到不同的 AWS 区域。 这些步骤是可选的。
    • 选择“下一步”
  • 如果需要,您可以从“配置轮换”页面启用自动轮换。 此步骤也是可选的。 选择下一步。
  • 从“查看”页面查看机密的详细信息,然后选择“存储”。 你就完成了; 秘密管理器将返回到秘密列表。 您必须在那里看到新添加的秘密; 如果没有,请刷新。
  • 除了控制台之外,您还可以通过 AWS SDK 和 AWS CLI 添加密钥。

    AWS Secrets Manager 与 AWS Parameter Store

    AWS Parameter Store 是 AWS Systems Manager (SSM) 的应用程序管理工具,允许用户创建键值参数,该参数可以保存应用程序的配置、凭证、产品密钥和自定义环境变量。

    另一方面,AWS Secrets Manager 是一项服务,可让您创建、存储、管理、检索和轮换凭证、密钥、API 令牌等。

    这两种服务都有类似的接口,可以轻松声明密钥和参数的键值对。 然而,他们这样做是基于以下理由:

    AWS Secrets ManagerAWS 参数存储存储大小存储最多 10 kb 的机密大小存储最多 4096 个字符或条目 4 kb,高级参数最多可存储 8 kb限制可存储 500k 机密/区域/帐户可存储 10,000 个标准参数/区域/帐户成本已付费,费用 $0.40/秘密/月 标准参数免费,高级参数费用 $0.05/10,000 API 调用 轮换 为任何秘密提供随时自动轮换,并且可以配置 您需要自己编写一个函数来更新凭证 跨账户访问 是否 跨区域复制 是否 凭证类型 它是对于需要加密的机密数据,因此,用例有限。更广泛的用例,因为您可以存储更多类型的凭据,包括应用程序配置变量,如产品密钥、URL 等。

    结论

    无论您来自小型、中型还是大型企业,您都可以使用 AWS Secrets Manager 创建和存储您的密钥。 它提供增强的安全性、隐私性、访问控制、特性和功能,以保护您的秘密免遭未经授权的访问。

    您还可以探索如何执行 AWS 安全扫描和配置监控。