保护 Secrets Manager 中的数据
为了确保您在使用 IBM Cloud® Secrets Manager 时能够安全管理自己的数据,了解哪些数据被存储和加密,以及如何删除这些数据,这一点非常重要。 通过与 Key Protect 或 Hyper Protect Crypto Services 集成,支持使用客户管理的密钥进行数据加密。
您的数据在 Secrets Manager
当您使用 Secrets Manager 时,服务会与 HashiCorp Vault 通信,以处理对不同类型秘密的操作。 根据设计,保险库文件将安全屏障 用于对其后端发出的所有请求。 在 Galois 计数器方式 (GCM) 中使用 256 位高级加密标准 (AES) 密码自动对离开保险库文件的数据进行加密,并且具有 96 位的非密码。
Secrets Manager 使用 包络加密使用数据加密密钥加密数据,然后使用可完全管理的根密钥对该密钥进行加密的过程。对所有静态密钥进行加密。 您的加密私钥存储在实例所独有的专用 Cloud Object Storage 存储区中。 为保护静态机密,Secrets Manager 与密钥管理服务集成,如 Key Protect。 每个秘密的每个版本都由一个数据加密密钥(DEK)加密,该密钥由 根键一种对称打包密钥,用于对存储在数据服务中的其他密钥进行加密和解密。 保护,Secrets Manager,封存和解封进入保险库的通道。 此集成使用根植于 FIPS 验证的 硬件安全模块一种物理设备,用于提供随需应变加密、密钥管理和密钥存储作为受管服务。中的加密密钥来保护私钥。 在服务存储凭证时,您的凭证不会以明文形式提供。
Secrets Manager 还使用以下安全机制来保护传输中的数据。
- TLS 1.2 + 用于端到端通信
- mTLS,用于内部通信
- Web 应用程序防火墙和 DDoS 保护
- 用于隔离专用实例的入口和出口网络规则
保护 Secrets Manager 中的敏感数据
您可以通过启用与密钥管理服务的集成,向静态数据 (存储数据时) 添加更高级别的加密控制。
您存储在 IBM Cloud 中的数据在静态时使用信封加密。 如果您需要管理加密密钥,可以集成密钥管理服务。 这些过程通常称为“自带密钥”(BYOK) 或“保留自己的密钥”(KYOK)。 借助密钥管理服务,您可以创建、导入和管理加密密钥。 您可以为密钥指定访问策略,向密钥分配用户或服务标识,或者仅向特定服务授予密钥访问权。
下表描述了用于管理 Secrets Manager 数据加密的选项。
| 加密 | 描述 |
|---|---|
| 提供者管理的加密 | 您存储在 Secrets Manager 中的数据会通过 IBM 管理的密钥进行静态加密。 加密密钥存储在 Key Protect 标准实例中。 这是缺省设置。 |
| 客户管理的加密 | 存储在 Secrets Manager 中的数据会使用您拥有并管理的加密密钥进行静态加密。 您可以使用在 Key Protect. |
关于客户管理的密钥
Secrets Manager 使用信封加密来实现客户自管密钥。 信封加密是指使用另一个加密密钥对某个加密密钥进行加密的过程。 用于加密实际数据的密钥被称为 数据加密密钥(DEK)用于加密存储在应用程序中的数据的密钥。。 从不会存储 DEK 本身,但是会通过第二个密钥(称为“密钥加密密钥”(KEK))将其打包以创建一个打包 DEK。 如果要解密数据,那么需要对打包 DEK 进行解包以获取 DEK。 只有通过访问 KEK,才能完成此过程;在此情况下,KEK 即指存储在您的密钥管理服务中的根密钥。
您可以使用 Key Protect 支持的自带密钥流程 (BYOK) 对存储在 Secrets Manager 中的数据进行加密。 通过这项服务,您可以从内部硬件安全模块(HSM)中导入加密密钥,然后对密钥进行管理。 如果想独占整个密钥层次结构(包括主密钥),可以使用“保存自己的密钥”(KYOK)程序,该程序支持 由 Key Protect。 有了 KYOK,除了 BYOK 功能外,您还能从技术上确保 IBM 也无法访问您的钥匙。 了解更多信息。
为 Secrets Manager 启用客户管理的密钥
如果选择使用您管理的密钥,那么必须确保将有效的 IAM 授权分配给您正在使用的 Secrets Manager 实例。 要创建该授权,可以使用以下步骤。
-
创建 Key Protect 实例。
-
生成或导入根密钥 到密钥管理服务实例。
使用 Key Protect 创建根密钥时,服务会生成根植于云 HSM 的加密密钥材料。 请确保密钥的名称不包含任何个人信息,例如您的姓名或位置。
-
授予对 Key Protect 或 Hyper Protect Crypto Services的服务访问权。
您必须是您正在使用的密钥管理服务实例的帐户所有者或管理员。 您还必须至少具有 Secrets Manager 服务的“查看者”访问权。
- 转到 “管理”>“IAM 访问”>“授权”。
- 选择源账户
- 如果计划在此帐户中创建一个 Secrets Manager 实例,请选择此帐户。
- 选择特定账户并提供您计划为其配置 Secrets Manager 实例的源账户ID。
- 选择包含根密钥的 Key Protect 的特定实例作为目标服务。
- 授权范围:
- 钥匙圈中的所有钥匙:单击添加条件,选择钥匙圈 ID,并提供钥匙圈的 ID。
- 特定加密密钥:单击添加条件,选择资源类型,并提供值密钥。 下一步单击添加条件,选择资源 ID 并提供加密密钥的 ID。
- 授予 “读者”角色。
- 单击 授权 以确认授权。
如果您选择 稍后删除 Secrets Manager 实例,IAM 也会删除此授权。
-
使用您之前授权的根密钥 创建您的 Secrets Manager 实例。
在 Secrets Manager 中删除数据
删除 Secrets Manager实例时,还会删除与其关联的所有用户数据。 删除服务实例时,将开始 7 天的回收周期。 在此期间,您可以还原实例及其所有相关的用户数据。 但是,如果永久删除实例和数据,那么无法再复原该实例和数据。Secrets Manager 不会存储永久删除的实例中的任何数据。
如果在发布新定价计划的过程中自动删除了您的实例,那么可以使用回收过程来复原该实例。 复原后,必须在 1 小时内升级套餐,否则将再次删除套餐。
Secrets Manager 的数据保留政策说明了您删除该服务后,您的数据将被保存多长时间。 数据保留时间策略包含在 Secrets Manager 服务描述中,您可以在 IBM Cloud 条款和声明 中找到该服务描述。
删除 Secrets Manager 实例
如果不再需要 Secrets Manager的实例,那么可以删除服务实例以及存储的任何数据。 您的实例进入禁用状态,并且在 7 天后其数据将被永久删除。 您还可以选择使用控制台来删除服务实例。
在 7 天的回收期内,请勿删除 Secrets Manager 和其他集成服务(如 Key Protect )之间的授权。Secrets Manager 会使用授权从这些服务中的任何相关资源中取消注册您的实例。 永久删除实例后,IAM 也会删除授权。
-
删除服务并将其置于 7 天的回收周期内。
ibmcloud resource service-instance-delete "INSTANCE_NAME"请将
INSTANCE_NAME替换为您要删除的 Secrets Manager 实例的名称。 -
可选: 要永久删除实例,请获取回收标识。
ibmcloud resource reclamations --resource-instance-id INSTANCE_ID将
INSTANCE_ID替换为 Secrets Manager 实例标识。如果选择通过删除实例的回收来永久删除实例,那么无法复原数据。
-
可选: 永久删除回收实例。
ibmcloud resource reclamation-delete RECLAMATION_ID将
<reclamation_ID>替换为上一步中获取的值。
复原已删除的服务实例
如果尚未永久删除实例,那么可以在 7 天的回收周期内将其复原。
-
查看哪些服务实例可用于复原。
ibmcloud resource reclamations从可用实例列表中,复制要复原的 Secrets Manager 实例的回收标识。
-
复原回收。
ibmcloud resource reclamation-restore RECLAMATION_ID将
<reclamation_ID>替换为上一步中获取的值。