保护 Secrets Manager 中的数据
为确保您在使用 IBM Cloud® Secrets Manager 时能安全地管理数据,重要的是要清楚地知道哪些数据被存储和加密,以及如何删除这些数据。 与 Key Protect 或 Hyper Protect Crypto Services集成支持使用客户管理的密钥进行数据加密。
您的数据是如何存储和加密的?Secrets Manager
使用 Secrets Manager时,服务会与 HashiCorp 保险库文件通信,以处理不同类型的私钥上的操作。 根据设计,保险库文件将安全屏障 用于对其后端发出的所有请求。 在 Galois 计数器方式 (GCM) 中使用 256 位高级加密标准 (AES) 密码自动对离开保险库文件的数据进行加密,并且具有 96 位的非密码。
Secrets Manager 使用 包络加密使用数据加密密钥加密数据,然后使用可完全管理的根密钥对该密钥进行加密的过程。对所有静态密钥进行加密。 您的加密私钥存储在实例所独有的专用 Cloud Object Storage 存储区中。 为了保护静态私钥,Secrets Manager 与密钥管理服务集成,例如 Key Protect 和 Hyper Protect Crypto Services。 每个密钥的每个版本都由受 根密钥一种对称打包密钥,用于对存储在数据服务中的其他密钥进行加密和解密。保护的数据加密密钥 (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 或 Hyper Protect Crypto Services 中管理的根密钥。 |
关于客户管理的密钥
Secrets Manager 使用信封加密来实现客户管理密钥。 信封加密是指使用另一个加密密钥对某个加密密钥进行加密的过程。 用于加密实际数据的密钥称为 数据加密密钥(DEK)用于加密存储在应用程序中的数据的密钥。。 从不会存储 DEK 本身,但是会通过第二个密钥(称为“密钥加密密钥”(KEK))将其打包以创建一个打包 DEK。 如果要解密数据,那么需要对打包 DEK 进行解包以获取 DEK。 只有访问 KEK 才能实现这一过程,在这种情况下,KEK 就是存储在密钥管理服务中的根密钥。
您可以使用 Key Protect支持的“自带密钥”流程 (BYOK) 对存储在 Secrets Manager 中的数据进行加密。 通过此多租户服务,您可以从内部部署硬件安全模块 (HSM) 导入加密密钥,然后管理密钥。 如果您希望对包括主密钥在内的整个密钥层次结构进行互斥控制,那么可以使用 Hyper Protect Crypto Services支持的“保留自己的密钥”(KYOK) 过程。 通过 KYOK,除了 BYOK 功能外,您还可以获得技术保证,即使是 IBM 也无法访问您的密钥。 了解更多信息。
根据您的用例和安全需求,最适合您组织需求的密钥管理服务可能有所不同。 要了解有关哪个密钥管理解决方案最适合您的更多信息,请参阅 Hyper Protect Crypto Services 与 Key Protect有何不同?
为 Secrets Manager 启用客户管理的密钥
如果选择使用您管理的密钥,那么必须确保将有效的 IAM 授权分配给您正在使用的 Secrets Manager 实例。 要创建该授权,可以使用以下步骤。
-
创建 Key Protect 或 Hyper Protect Crypto Services 的实例。
-
生成或导入根密钥 到密钥管理服务实例。
当您使用 Key Protect 或 Hyper Protect Crypto Services 来创建根密钥时,服务会生成植根于基于云的 HSM 中的密钥资料。 请确保密钥的名称不包含任何个人信息,例如您的姓名或位置。
-
授予对 Key Protect 或 Hyper Protect Crypto Services的服务访问权。
您必须是您正在使用的密钥管理服务实例的帐户所有者或管理员。 您还必须至少具有 Secrets Manager 服务的“查看者”访问权。
- 转到管理 > 访问 IAM > 授权。
- 选择源账户
- 如果计划在此帐户中创建一个 Secrets Manager 实例,请选择此帐户。
- 选择特定账户并提供您计划为其配置 Secrets Manager 实例的源账户ID。
- 选择包含您的根密钥的 Key Protect 或 Hyper Protect Crypto Services 的具体实例作为目标服务。
- 授权范围:
- 钥匙圈中的所有钥匙——点击添加条件,选择钥匙圈ID,并提供您的钥匙圈ID。
- 一个特定的加密密钥——点击添加条件,选择资源类型,并提供值密钥。 接下来点击添加条件,选择资源ID 并提供您的加密密钥ID。
- 指定阅读器角色。
- 单击 授权 以确认授权。
如果使用 Hyper Protect Crypto Services,请添加第二个 IAM 授权,为您的 Hyper Protect Crypto Services 实例分配 Viewer 平台访问权限。
- 转到管理 > 访问 IAM > 授权。
- 选择 Secrets Manager 服务作为源服务。
- 选择包含您的根密钥的特定实例 Hyper Protect Crypto Services 作为目标服务。
- 分配查看器角色。
- 单击 授权 以确认授权。
如果选择 稍后删除 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>
替换为上一步获取的值。