修改 Amazon Secrets Manager 密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

修改 Amazon Secrets Manager 密钥

您可以在创建密钥后修改其元数据,具体取决于密钥的创建者。对于由其他服务创建的密钥,您可能需要使用其他服务来更新或轮换它。

要确定谁管理密钥,您可以查看密钥名称。由其他服务管理的密钥以该服务的 ID 作为前缀。或者,在 Amazon CLI 中调用 describe-secret,然后查看字段 OwningService。有关更多信息,请参阅由其他 Amazon 服务托管的 Amazon Secrets Manager 密钥

对于您管理的密钥,您可以修改密钥的描述、基于资源的策略、加密密钥和标记。您还可以更改加密密钥值信息,但我们建议您轮换更新包含凭证的密钥值。轮换会更新 Secrets Manager 中的密钥以及数据库或服务上的凭据。这会自动保持同步这些密钥,以便在客户端请求密钥值时,始终检索一组正常工作的凭证。有关更多信息,请参阅轮换 Amazon Secrets Manager 密钥

更新您管理的密钥(控制台)
  1. 通过 https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台。

  2. 从密钥列表上,选择您的密钥。

  3. 在密钥详细信息页面上,执行以下操作之一:

    请注意,您无法更改 ARN 或密钥的名称。

Amazon CLI

例 更新密钥说明

以下 update-secret 示例将更新密钥的描述。

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --description "This is a new description for the secret."
例 更新与密钥关联的加密密钥

以下 update-secret 示例将更新用于加密密钥值的 KMS 密钥。该 KMS 密钥必须与加密密钥位于同一区域中。

aws secretsmanager update-secret \ --secret-id MyTestSecret \ --kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
例 在密钥中存储新的密钥值

当您在命令 shell 中输入命令时,存在访问命令历史记录或实用程序可以访问您命令参数的风险。请参阅降低使用 Amazon CLI 存储 Amazon Secrets Manager 密钥的风险

以下 put-secret-value 将创建包含两个键值对的新版本密钥。

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
例 将凭证中的新密钥值存储在 JSON 文件中

当您在命令 shell 中输入命令时,存在访问命令历史记录或实用程序可以访问您命令参数的风险。请参阅降低使用 Amazon CLI 存储 Amazon Secrets Manager 密钥的风险

以下 put-secret-value 示例将根据文件中的凭证创建新版本密钥。有关更多信息,请参阅《Amazon CLI 用户指南》中的从文件加载 Amazon CLI 参数

aws secretsmanager put-secret-value \ --secret-id MyTestSecret \ --secret-string file://mycreds.json

mycreds.json 的内容:

{ "engine": "mysql", "username": "saanvis", "password": "EXAMPLE-PASSWORD", "host": "my-database-endpoint.us-west-2.rds.amazonaws.com", "dbname": "myDatabase", "port": "3306" }

Amazon SDK

我们建议您避免调用 PutSecretValue 或者 UpdateSecret 以持续速度为每 10 分钟一次以上. 如果调用 PutSecretValueUpdateSecret 更新密钥值,Secrets Manager 将创建密钥的新版本。当存在超过 100 个时,Secrets Manager 会删除过时的版本,但它不会删除 24 小时以内创建的版本。如果每 10 分钟更新一次密钥值,则创建的版本多于 Secrets Manager 删除的版本,将达到密钥版本的配额。

要更新密钥,请使用以下操作:UpdateSecretReplicateSecretToRegionsPutSecretValue。有关更多信息,请参阅Amazon 软件开发工具包