本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Secrets Manager 的密钥里有什么?
在 Secrets Manager 中,密钥由密钥信息、密钥值和密钥元数据组成。密钥值可以是字符串或二进制值。
要在一个密钥中存储多个字符串值,我们建议您使用带有键值对的 JSON 文本字符串,例如:
{ "host" : "ProdServer-01.databases.example.com", "port" : "8888", "username" : "administrator", "password" : "
EXAMPLE-PASSWORD
", "dbname" : "MyDatabase", "engine" : "mysql" }
对于数据库密钥,如果要启用自动轮换,则该密钥必须以正确的 JSON 结构包含数据库的连接信息。有关更多信息,请参阅 AWS Secrets Manager 密钥的 JSON 结构 。
Metadata
密钥元数据包括:
-
具有以下格式的 Amazon Resource Name (ARN)。
arn:aws:secretsmanager:
<Region>
:<AccountId>
:secret:SecretName
-6RandomCharacters
Secrets Manager 会在密钥名称末尾添加六个随机字符,以帮助确保密钥 ARN 的唯一性。如果删除了原始密钥,然后使用相同的名称创建了新密钥,则由于这些字符的原因,这两个密钥具有不同的 ARN。由于 ARN 不同,有权访问旧密钥的用户不会自动获得新密钥的访问权限。
-
密钥的名称、说明、资源策略和标签。
-
加密密钥的 ARN,Secrets Manager 使用它来加密和解密密钥值。 AWS KMS key Secrets Manager 始终以加密形式存储密钥文本,并在传输过程中加密密钥。请参阅 中的秘密加密和解密 AWS Secrets Manager。
-
如果设置了轮转,有关如何轮转密钥的信息。请参阅 轮换 AWS Secrets Manager 秘密。
Secrets Manager 使用 IAM 权限策略来确保只有经过授权的用户才能访问或修改密钥。请参阅 的身份验证和访问控制 AWS Secrets Manager。
密钥具有保存加密密钥值副本的版本。更改密钥值或轮换密钥时,Secrets Manager 会创建一个新版本。请参阅 秘密版本。
您可以通过复制多个密钥 AWS 区域 来使用该密钥。复制密钥时,您可以创建原始或主密钥称为副本密钥。副本密钥保持链接到主密钥上。请参阅跨区域复制 AWS Secrets Manager 密钥。
请参阅 使用创建和管理密钥 AWS Secrets Manager。
秘密版本
密钥具有保存加密密钥值副本的版本。更改密钥值或轮换密钥时,Secrets Manager 会创建一个新版本。
Secrets Manager 不会存储带有版本的线性密钥历史记录。相反,它通过标记三个特定版本来跟踪它们:
当前版本 –
AWSCURRENT
。先前版本 –
AWSPREVIOUS
。待处理版本(轮换期间)–
AWSPENDING
。
密钥始终有一个标记为 AWSCURRENT
的版本,Secrets Manager 会在您检索密钥值时默认返回该版本。
您也可以通过调update-secret-version-stage
用自己的标签来为版本添加标签 AWS CLI。您最多可以为一个密钥附加 20 个版本标签。密钥的两个版本不能具有相同的暂存标注。版本可以有多个标签。
Secrets Manager 从不移除带标签的版本,但未标记的版本将被视为已弃用。如果版本超过 100 个,Secrets Manager 会移除已弃用的版本。Secrets Manager 不会移除 24 小时前创建的版本。
下图显示了一个 AWS 标有版本和客户标签版本的密钥。无标签的版本将被视为已弃用,Secrets Manager 将在某个未来的时间将其移除。