

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Secrets Manager 和 Terraform
<a name="using-secrets-manager-and-terraform"></a>

## AWS Secrets Manager
<a name="secrets-manager"></a>

[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 服务可用于安全加密、存储和轮换数据库和其他服务的凭证。它可以帮助您将代码中的硬编码凭证（包括密码）替换为以编程方式检索密钥的 API 调用。在 Secrets Manager 中，*密钥*由凭证信息（即*密钥值*）及其元数据组成。密钥值可以是二进制、单个字符串或多个字符串。有关更多信息，请参阅[密钥](https://docs.aws.amazon.com/secretsmanager/latest/userguide/getting-started.html#term_secret)。

Secrets Manager 使用 256 位高级加密标准 (AES) 对称数据密钥来加密机密值。有关更多信息，请参阅 [Secret encryption and decryption in AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html)。

您可以使用以下任何一种方法来访问和使用 Secrets Manager：
+ Secrets Manager 控制台
+ 命令行工具
+ AWS SDKs
+ HTTPS 查询 API，也称为 S *ecrets Manager API*
+ AWS Secrets Manager 端点

## Terraform
<a name="terraform"></a>

[https://developer.hashicorp.com/Terraform/intro](https://developer.hashicorp.com/Terraform/intro)是一款 IaC 工具 HashiCorp ，可帮助您创建和管理云和本地资源。您可以使用Terraform在中部署资源和基础架构 AWS Cloud。

Terraform存储有关您的托管 AWS 基础设施及其配置的信息。此信息称为*状态*。默认情况下，状态存储在名为的本地文件中`Terraform.tfstate`。此文件采用 JSON 格式，Terraform可能以纯文本形式将敏感数据存储在此状态文件中。这会给敏感数据带来风险，因为任何有权访问状态文件的用户都可以访问敏感数据。

本指南提供了最佳实践和建议，以帮助您在使用Terraform管理 AWS 资源时保护敏感数据。