IBM Cloud Docs
手动旋转私钥

手动旋转私钥

通过 IBM Cloud® Secrets Manager,您可以手动创建私钥的新版本。

在旋转服务实例中的秘密时,会创建其值的新版本。 轮换凭证会限制单个私钥可访问受保护资源的时间长度,这可保护您的企业免受与已泄密的凭证相关联的风险的影响。 定期轮换私钥,例如每 30 或 60 天轮换一次,以便您始终能够满足有关私钥管理的最佳实践。

准备工作

开始之前,请确保您具有所需的访问级别。 要轮换私钥,您需要 写入者 服务角色或更高级别的

受支持的密钥类型

可以根据需要旋转和替换存储在 Secrets Manager 中的所有私钥。 Secrets Manager 如何评估用于轮换私钥的请求取决于私钥类型。

描述Secrets Manager如何按秘密类型评估手动轮换
类型 旋转描述
任意私钥 任意私钥将立即替换为您在轮换时提供的数据。
IAM 凭证 将根据服务标识和 API 密钥组成的 IAM 凭证的初始配置立即重新生成。 如果 IAM 凭证私钥是使用帐户中的现有服务标识创建的,那么仅在手动轮换过程中重新生成 API 密钥。 相反,如果通过选择访问组来创建私钥,那么将在手动轮换服务标识和 API 密钥值时重新生成这些值。 重要:IAM凭证的“在租赁到期前重复使用reuse_api_key )”选项会影响是否能够手动轮换。 如果此字段为 false 或在 UI 中设置为 Off,那么不支持手动旋转。 每次读取时为私钥动态生成的 API 密钥已是单一使用的临时值。
导入的证书 最初导入到服务实例的证书将立即替换为轮换时重新导入的数据。
键值私钥 键值私钥将立即替换为您在轮换时提供的数据。
专用证书 专用证书将立即替换为由其父级或颁发认证中心签署的证书。
公用证书 公用证书将移至 Active,Rotation pending 状态,以指示正在处理用于轮换证书的请求。Secrets Manager 将请求发送到配置的认证中心 (CA),例如 Let 's Encrypt,以验证域的所有权。 如果验证成功完成,那么将发放新证书。
用户凭证 与用户凭证私钥关联的密码将立即替换为您在轮换时提供的数据。
服务凭证 服务凭据密文将被新的密文取代。 在定义的 TTL 剩余时间内,上一个秘密仍然有效。
自定义凭证 自定义凭据密文将被新密文取代。 在定义的 TTL 剩余时间内,前一个秘密仍然有效。

请注意,对于为数据库创建的服务凭证,如果除了凭证之外,您还在更改所创建凭证的数据库许可权,那么一旦轮换了服务凭证,将不会同步这些凭证。 当轮换数据库服务凭证时,这被视为身份轮换。

在 UI 中创建新的私钥版本

您可以使用 Secrets Manager UI 手动轮换私钥和证书。

旋转任意私钥

您可以使用 Secrets Manager UI 手动轮换任意私钥。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 选择新文件或输入新的私钥值。
  6. 可选: 将元数据添加到私钥或私钥的特定版本。
    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  7. 要立即轮换私钥,请单击 旋转
  8. 可选: 检查版本历史记录以查看最新更新。

创建新版本的键值私钥

您可以使用 Secrets Manager UI 来手动轮换密钥值私钥。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 选择文件或输入 JSON 格式的新私钥值。
  6. 可选: 将元数据添加到私钥或私钥的特定版本。
    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  7. 要立即轮换私钥,请单击 旋转
  8. 可选: 检查版本历史记录以查看最新更新。

创建用户凭证的新版本

您可以使用 Secrets Manager UI 来手动轮换与用户凭证私钥相关联的密码值。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在 Secrets Manager UI 中,转至 密钥 列表。

  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转

  5. 确定是输入您自己的密码还是生成新的密码。

    如果选择生成新密码,那么 Secrets Manager 会将现有值替换为随机生成的包含大写字母,小写字母,数字和符号的 32 个字符的密码。

  6. 可选: 将元数据添加到私钥或私钥的特定版本。

    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  7. 要立即轮换私钥,请单击 旋转

  8. 可选: 检查版本历史记录以查看最新更新。

创建IAM凭证的新版本

您可以使用 Secrets Manager UI 手动轮换与 IAM 凭证私钥相关联的密码值。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 可选: 将元数据添加到私钥或私钥的特定版本。
    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  6. 要立即轮换私钥,请单击 旋转
  7. 可选: 检查版本历史记录以查看最新更新。

创建服务凭证的新版本

您可以使用 Secrets Manager UI 来手动轮换与服务凭证私钥相关联的密码值。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 可选: 将元数据添加到私钥或私钥的特定版本。
    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  6. 要立即轮换私钥,请单击 旋转
  7. 可选: 检查版本历史记录以查看最新更新。

创建自定义凭证的新版本

您可以使用 Secrets Manager UI 手动旋转与自定义凭据密级相关联的密码值。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的私钥所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 可选: 将元数据添加到私钥或私钥的特定版本。
    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  6. 要立即轮换私钥,请单击 旋转
  7. 可选: 检查版本历史记录以查看最新更新。

创建导入的证书的新版本

在更新最初导入到服务的证书时,可以使用 Secrets Manager UI 手动重新导入该证书。 轮换证书后,将保留先前版本,以防您需要该证书。

如果您要轮换的证书先前是使用中间证书和专用密钥导入的,请在轮换时包含中间证书和专用密钥,以避免服务中断。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在 Secrets Manager UI 中,转至 密钥 列表。

  4. 在要旋转的证书所在的行中,单击 操作 菜单 "操作" 图标 > 旋转

  5. 选择或输入新的证书数据。

    请记住,手动旋转证书会将证书内容替换为您仅提供的新数据。 不会保留来自先前版本的专用密钥和中间证书。

  6. 要立即轮换证书,请单击 旋转

  7. 可选: 检查版本历史记录以查看最新更新。

  8. 将最新证书版本重新部署到 TLS 终止点。

    要访问当前版本,可以 下载证书 或使用 获取私钥 API 以编程方式进行检索。

使用托管的CSR创建新版本的导入证书

您可以使用 Secrets Manager 用户界面创建证书的第一个版本,或者在证书到期时创建下一个版本。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表
  2. 从服务列表中,选择 Secrets Manager的实例。
  3. 在 Secrets Manager UI 中,转至 密钥 列表。
  4. 在要旋转的证书所在的行中,单击 操作 菜单 "操作" 图标 > 旋转
  5. 选择使用当前CSR签署的证书文件,或输入其数据。
  6. 可选:选择签名中间CA文件或输入其数据。
  7. 要立即轮换证书,请单击 旋转
  8. 可选: 检查版本历史记录以查看最新更新。
  9. 将最新证书版本重新部署到 TLS 终止点。

要访问当前版本,您可以下载证书,也可以使用 获取秘密 API 以编程方式获取证书。

创建新版本的专用证书

如果针对 专用证书 启用了 Secrets Manager 服务实例,那么您可以手动更新先前由为服务实例配置的认证中心发出的证书。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在 Secrets Manager UI 中,转至 密钥 列表。

  4. 在要旋转的证书所在的行中,单击 操作 菜单 "操作" 图标 > 旋转

  5. 可选: 将元数据添加到私钥或私钥的特定版本。

    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  6. 单击 旋转

  7. 将最新证书版本重新部署到 TLS 终止点。

    要访问当前版本,可以 下载证书 或使用 获取私钥 API 以编程方式进行检索。

创建新版本的公用证书

如果针对 公用证书 启用了 Secrets Manager 服务实例,那么可以手动更新先前从第三方认证中心订购的证书。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在 Secrets Manager UI 中,转至 密钥 列表。

  4. 在要旋转的证书所在的行中,单击 操作 菜单 "操作" 图标 > 旋转

  5. 可选: 将元数据添加到私钥或私钥的特定版本。

    1. 上载文件或输入 JSON 格式的元数据和版本元数据。
  6. 单击 旋转

    将显示一条成功消息,指示正在处理您的订单。 如果验证成功完成,那么将发放新证书,并且证书状态将从 活动,旋转暂挂 更改回 活动。 如果验证未成功完成,那么证书状态将更改为 活动,旋转失败

  7. 可选: 检查证书的发放详细信息。

    您可以通过单击 操作 图标 "操作" 图标 > 详细信息来检查公用证书的发放详细信息。 如果请求存在问题,那么“状态”字段将提供有关轮换未成功完成的原因的信息。

  8. 将最新证书版本重新部署到 TLS 终止点。

    要访问当前版本,可以 下载证书 或使用 获取私钥 API 以编程方式进行检索。

在 UI 中使用您自己的 DNS 提供程序创建新版本的公用证书

要轮换在 UI 中使用手动 DNS 提供程序创建的公用证书,请完成以下步骤。

  1. 在控制台中,单击 菜单 图标 "菜单" 图标 > 资源列表

  2. 从服务列表中,选择 Secrets Manager的实例。

  3. 在要旋转的证书所在的行中,单击 操作 菜单 "操作" 图标 > 旋转

  4. 可选: 添加名称和描述以轻松识别证书。

  5. 可选: 单击 更新

  6. 单击 挑战 以访问与每个域关联的 TXT 记录名称和值。 您需要他们来完成挑战。

  7. 要验证域的所有权,请将为每个域提供的 TXT 记录手动添加到 DNS 提供者帐户。 您必须在到期日期之前仅解决未验证的问题。

    如果为子域 (例如,sub1.sub2.domain.com) 订购证书,那么需要将 TXT 记录添加到已注册的域 domain.com

  8. 验证您添加到域的 TXT 记录是否已传播。 根据您的 DNS 提供程序,可能需要一些时间才能完成。

  9. 确认已传播记录后,单击 验证 以请求 Let 's Encrypt 验证对域的提问并创建公用证书。

    如果订单失败 (例如,如果未成功传播 TXT 记录),那么必须启动新订单才能继续。

  10. 发出证书后,请从 DNS 提供者帐户中的域中清除 TXT 记录并将其除去。

从 CLI 手动创建新版本的私钥

您可以使用 Secrets Manager CLI 插件来手动轮换私钥和证书。

旋转任意私钥

要使用 Secrets Manager CLI 插件来轮换任意私钥,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

ibmcloud secrets-manager secret-version-create \    
   --secret-id=SECRET_ID \    
   --secret-version-prototype='{"payload": "updated secret credentials", "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

轮换服务证书机密

要使用 Secrets Manager CLI 插件旋转服务凭据机密,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

轮流定制的信用额度秘密

要使用 Secrets Manager CLI 插件旋转自定义凭据机密,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

轮换用户凭证

要使用 Secrets Manager CLI 插件来轮换用户凭证私钥,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-password 指定为其新版本。

ibmcloud secrets-manager secret-version-create \    
   --secret-id SECRET_ID \    
   --secret-version-prototype='{"password": "new-password", "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

要使服务生成随机密码并将其分配给凭证,请省略 password 字段。 例如,{}. Secrets Manager 将现有值替换为包含大写字母,小写字母,数字和符号的随机生成的 32 个字符的密码。

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

轮换 IAM 凭证

要使用 Secrets Manager CLI 插件来轮换 IAM 凭证密钥,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令将创建新的 API 密钥

ibmcloud secrets-manager secret-version-create \    
   --secret-id SECRET_ID

只有当 “重复使用IAM凭证” 设置为“开”时,才能手动旋转IAM凭证。

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

循环导入的证书

要使用 Secrets Manager CLI插件旋转证书,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

certificate=$(cat cert.pem)
intermediate=$(cat intermediate.pem)
private_key=$(cat private_key.pem)
ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID --imported-cert-certificate ${certificate} --imported-cert-intermediate ${intermediate} --imported-cert-private-key ${private_key}

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

通过企业社会责任管理,循环利用进口证书

要使用 Secrets Manager CLI插件重新导入证书,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

当导入证书密钥用于管理 CSR 时,不允许使用 private_key 字段。

certificate=$(cat cert.pem)
intermediate=$(cat intermediate.pem)
ibmcloud secrets-manager secret-version-create --secret-id SECRET_ID --imported-cert-certificate ${certificate} --imported-cert-intermediate ${intermediate}

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

旋转 私人证书

要使用 Secrets Manager CLI插件创建新的私有证书密钥,请运行 ibmcloud secrets-manager secret-version-create 命令。

ibmcloud secrets-manager secret-version-create \
   --secret-id SECRET_ID
   --secret-version-prototype '{"csr":"..."}' # Keep empty JSON if not needed

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

轮换公用证书

要使用 Secrets Manager CLI 插件订购新的公用证书私钥,请运行 ibmcloud secrets-manager secret-version-create 命令。

ibmcloud secrets-manager secret-version-create \
   --secret-id SECRET_ID \
   --public-cert-rotation '{"rotate_keys": true|false}'

在轮换证书时,选择是否还轮换其专用密钥以针对 rotate_keys 字段分配 truefalse

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

旋转 KV 私钥

要使用 Secrets Manager CLI 插件来轮换 KV 私钥,请运行 ibmcloud secrets-manager secret-version-create 命令。 例如,以下命令会轮换私钥,并将 new-secret-data 指定为其新版本。

ibmcloud secrets-manager secret-version-create \    
   --secret-id=SECRET_ID \    
   --secret-version-prototype='{"data": {"key":"value"}, "custom_metadata": {"anyKey": "anyValue"}, "version_custom_metadata": {"anyKey": "anyValue"}}'

此命令将输出私钥的值以及其他元数据。 有关命令选项的更多信息,请参阅 ibmcloud secrets-manager secret-version-create

使用 API 手动旋转私钥

您可以使用 Secrets Manager API 手动轮换私钥和证书。

旋转任意私钥

您可以通过调用 Secrets Manager API 来轮换任意私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "custom_metadata": {
            "metadata_custom_key": "metadata_custom_value"
            },
         "payload": "Updated arbitrary data",
         "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
            }
         }' \
      "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

旋转键值私钥

您可以通过调用 Secrets Manager API 来轮换密钥值私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer ${iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "data": {
            "key1": "val2"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

轮换用户凭证

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "password": "new-password",
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

要使服务生成随机密码并将其分配给凭证,请省略 password 字段。 例如,{}. Secrets Manager 将现有值替换为包含大写字母,小写字母,数字和符号的随机生成的 32 个字符的密码。

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

轮换 IAM 凭证

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

轮换服务凭证

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

旋转自定义凭证

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
      "custom_metadata": {
         "metadata_custom_key": "metadata_custom_value"
         },
      "version_custom_metadata": {
         "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

循环导入的证书

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIwx\n-----END CERTIFICATE-----", "custom_metadata": {
            "metadata_custom_key": "metadata_custom_value"
         },
         "intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----",
         "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAqcRbzV1wp0nVrPtEpMtnWMO6Js1q3rhREZluKZfu0Q8SY4H3\n-----END RSA PRIVATE KEY-----", "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

将证书,中间和专用密钥数据中的新行替换为 \n

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

通过企业社会责任管理,循环利用进口证书

您可以通过调用 Secrets Manager API来旋转秘密。
以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

当导入证书密钥用于管理 CSR 时,不允许使用 private_key 字段。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
         "certificate": "-----BEGIN CERTIFICATE-----\nMIIE3jCCBGSgAwIBAgIUZfTbf3adn87l5J2Q2Aw+6Vk/qhowCgYIKoZIzj0EAwIwx\n-----END CERTIFICATE-----",
         "intermediate": "-----BEGIN CERTIFICATE-----\nMIIE3DCCBGKgAwIBAgIUKncnp6BdSUKAFGBcP4YVp/gTb7gwCgYIKoZIzj0EAwIw\n-----END CERTIFICATE-----"
         }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

可旋转的公开证书

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
        "rotation": {
          "rotate_keys": true # or false
        },
        "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
        }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

将证书,中间和专用密钥数据中的新行替换为 \n

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

私人证书轮换

您可以通过调用 Secrets Manager API 来轮换私钥。

以下示例请求将创建新版本的私钥。 调用 API 时,请将标识变量和 IAM 令牌替换为特定于 Secrets Manager 实例的值。

您可以使用 custom_metadataversion_custom_metadata 请求参数来存储与组织需求相关的元数据。 仅针对私钥版本返回 version_custom_metadata 的值。 私钥的定制元数据存储为最多 50 个版本的所有其他元数据,并且不得包含机密数据。

curl -X POST \
   -H "Authorization: Bearer {iam_token}" \
   -H "Accept: application/json" \
   -H "Content-Type: application/json" \
   -d '{
        "csr": '{}' # Keep empty if not required
        "version_custom_metadata": {
            "custom_version_key": "custom_version_value"
        }
      }' \
   "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/{id}/versions"

将证书,中间和专用密钥数据中的新行替换为 \n

成功响应会返回秘密的 ID 值和其他元数据。 有关必需和可选请求参数的更多信息,请查看 API 文档

使用 Terraform 手动旋转私钥

您可以使用 Terraform for Secrets Manager手动轮换任意私钥,密钥值私钥或导入的证书。 要手动轮换其他类型的私钥,必须使用 UI,API 或 CLI。

旋转任意私钥

您可以使用 Terraform for Secrets Manager来轮换任意私钥。

要轮换任意私钥,请修改 ibm_sm_arbitrary_secret 资源配置中 payload 属性的值,然后运行 terraform apply 以应用更改。 如果要将输入变量用于有效内容,请在 variables.tf 文件中修改其值。

您还可以同时修改任意私钥的其他属性,包括元数据属性,例如 descriptioncustom_metadataversion_custom_metadata

旋转键值私钥

要使用 Terraform for Secrets Manager来轮换密钥值私钥,请修改 ibm_sm_kv_secret 资源配置中 data 属性的值,然后运行 terraform apply 以应用更改。 如果要将输入变量用于有效内容,请在 variables.tf 文件中修改其值。

您还可以同时修改密钥值私钥的其他属性,包括元数据属性,例如 descriptioncustom_metadataversion_custom_metadata

循环导入的证书

您可以使用 Terraform for Secrets Manager来轮换导入的证书。

要轮换导入的证书,请修改 ibm_sm_imported_certificate 资源配置中 certificateintermediate (可选) 和 private_key (可选) 属性的值,然后运行 terraform apply 以应用更改。

您还可以同时修改导入的证书的其他属性,包括元数据属性,例如 descriptioncustom_metadataversion_custom_metadata