使用客户管理的加密创建文件共享
使用存储在 Key Protect 中的根密钥创建支持客户管理加密的 File Storage for VPC 共享,以实现BYOK数据保护。
创建文件共享后,无法更改加密类型。
默认情况下,File Storage for VPC 共享文件采用 IBM 由系统管理的加密方式进行加密。 有关信封加密的更多信息,请参阅《 使用信封加密保护数据 》。
准备工作
要创建客户管理加密的文件共享,您必须拥有自己的客户根密钥。 您可以配置密钥管理服务 (KMS),并创建或导入客户根密钥 (CRK)。 您可以选择 Key Protect 单租户或多租户实例。 然后,在 File Storage for VPC 与您创建的 KMS 实例之间 建立服务间授权。
Hyper Protect Crypto Services 已被废弃。 客户可以在 2027 年 3 月 20 日之前使用现有实例。 如需了解更多信息,请参阅 《 IBM Cloud Hyper Protect Crypto Services 已弃用 》。 为了持续保障安全,建议将现有的加密密钥迁移到专用的 Key Protect 实例中。 如需了解更多信息,请参阅《 迁移指南 》。
也可以使用其他账户的客户根密钥。 在IBM Cloud 中,KMS 可以与使用加密密钥的服务位于同一个账户或另一个账户。 这种部署模式允许企业集中管理所有企业账户的加密密钥。 更多信息,请参阅 加密密钥管理。
一般情况下,账户管理员或拥有 CRK 的账户的其他权限用户,请用户 第二个账户,并创建共享 CRK 的授权。 有关更多信息,请参阅 通过 Key Protect 授予密钥访问权限。 然后,第二个账户的用户可以使用 CRK 加密 IBM Cloud 中的数据。
配置所有必需 的服务间 授权,这些授权需File Storage for VPC 建立在源服务与持有客户根密钥的目标服务(即KMS实例)之间。 如果使用其他账户的 CRK 配置卷,请该账户的管理员在其账户中设置授权,并共享根密钥的 CRN。
在控制台中创建客户管理加密的文件共享
遵循此过程以在创建文件共享时指定客户管理的加密。
-
在 IBM Cloud 控制台中,转到菜单图标
> 基础架构
> 存储 > 文件存储共享。
-
单击创建。
-
输入表 1 中描述的信息。
| 字段 | 值 |
|---|---|
| 可用性 |
|
| 地区 | 如果选择“单区可用性”,请为新文件共享选择地理位置、区域和区,例如,北美、达拉斯(美国南部)、us-south-2。 如果选择地区可用性,请选择地区。 例如,达拉斯(美国南部)。 |
| 详细信息 | |
| 名称 | 为文件共享选择有意义的名称。 共享名称最多可以是 63 个小写字母数字字符,并且包含连字符 (-),并且必须以小写字母开头。 如果你愿意,以后可以编辑这个名称。 |
| 资源组 | 指定 资源组。 资源组帮助组织帐户资源,以进行访问控制和计费。 |
| 标记 | 标记用于组织,跟踪甚至管理对文件共享资源的访问。 您可以为相关资源添加标签,并通过在资源列表中按标签筛选,在整个账户中查看这些资源。 用户标记在帐户范围内可见。 请避免在标记名称中包含敏感数据。 有关更多信息,请参阅使用标记。 |
| 访问管理标记 | 您可以对具有访问管理标记的文件共享应用灵活的访问策略。 有关更多信息,请参阅 使用标记控制对资源的访问。 |
| Profile |
配置文件将根据您的数据可用性选择自动填充。 有关详细信息,请参阅文件存储预案。
|
| 允许的传输加密模式 | 作为共享所有者,您可以指定希望帐户和授权帐户中的客户机如何连接到文件共享。 如果不想在传输过程中使用加密,可以选择“无”。 如果希望它们在传输过程中使用加密,请为区域文件选择 ipsec 或为地区文件选择 stunnel。 |
-
创建 挂载目标 是可选的。 如果您现在不想创建安装目标,那么可以跳过此步骤。 不过,要在计算主机上挂载文件共享,还需要一个文件共享。 文件共享可以有多个挂载目标,这样你就可以从多个 VPC 访问它。 您可以为每个文件共享创建一个安装目标。 要创建它,请单击“创建”。 通过提供以下信息来定义挂载目标:
- 提供挂载目标名称。 该名称最多可以是 63 个小写字母数字字符,并且包含连字符 (-),并且必须以小写字母开头。 如果需要,您日后可以编辑该名称。
- 选择可用的 VPC。 该列表仅包含在所选位置拥有子网的 VPC。 位置选择继承自文件共享(例如 us-south-2 )。
- 生成默认虚拟网络接口。 点击“编
”图标即可对其进行自定义。 如果该位置有多个子网,您可以更改名称或子网。 您也可以选择一个现有的 VNI 来附加到挂载目标。 显示 VPC 中可用 VNI 的列表和位置。 由于所连接的 VNI 二级 IP 地址不能被接受为文件共享挂载目标,因此会被从列表中过滤掉。 - 单击下一步。
- 对于区域共享,传输中加密默认处于禁用状态;对于区域共享,传输中加密默认处于启用状态。 单击切换按钮更改预设值。 有关此功能的更多信息,请参阅 传输中加密 - 保护文件共享与主机之间的挂载连接。
- 然后,单击下一步。
- 查看您的选择,然后单击“返回”更新您的选择,或单击“创建”。
-
更新“静态加密”部分的字段。
- 选择加密类型。 默认情况下,所有文件共享都由IBM密钥加密。 您还可以选择使用自己的密钥为共享创建包络加密。 如果要使用自己的密钥,请选择其中一种 密钥管理服务:Key Protect或Hyper Protect Crypto Services.
- 通过实例或其 CRN 定位来指定密钥。
- 如果选择按实例定位,请从加密服务实例菜单中选择一个实例。 然后,从列表中选择“密钥名称”。
- 如果选择按 CRN 定位,请输入 CRN 值。 当你想使用另一个账户的密钥的 CRN 时,请使用此选项,因为在实例选择器中看不到该密钥。
-
输入所有必需信息后,单击 创建文件共享。 返回到 File Storage for VPC 页面,其中有一条消息指示正在供应文件共享。 事务完成时,共享状态将更改为 活动。
若您通过私有端点创建了 Key Protect 或 Hyper Protect Crypto Services 实例,则使用该实例创建的根密钥不会在控制台中显示。 您必须使用 CLI 或 API 来访问和使用这些根密钥。
通过 CLI 使用客户管理的加密创建文件共享
在使用 CLI 之前,您必须先安装 IBM Cloud CLI 以及 VPC CLI 插件。 有关更多信息,请参阅 CLI 先决条件。
-
收集供应共享所需的信息,例如文件共享必须具有的唯一名称,位置,容量和性能特征。 如果要使用 虚拟网络接口 创建安装目标,请使用相应的 CLI 命令列出可用的 子网,子网中的保留 IP 地址 和 安全组。 有关更多信息,请参阅 从 CLI 收集信息。
-
对于加密,请检索密钥管理服务的标识以及该服务中根密钥的 CRN。
- 使用
ibmcloud resource service-instances命令列出可用的 KMS 实例。
ibmcloud resource service-instancesRetrieving instances with type service_instance in all resource groups in all locations under account Test Account as test.user@ibm.com... OK Name Location State Type Resource Group ID KeyProtect-ki us-south active service_instance db8e8d865a83e0aae03f25a492c5b39e schematics us-south active service_instance db8e8d865a83e0aae03f25a492c5b39e- 使用
ibmcloud resource service-instance命令来获取实例标识。 该标识是 CRN 中帐号之后的最后一个字符串。
ibmcloud resource service-instance KeyProtect-ki -location us-south --idRetrieving service instance KeyProtect-ki in all resource groups under account Test Account as test.user@ibm.com... crn:v1:bluemix:public:kms:us-south:a/a1234567:: 22e573bd-c02c-4d7f-81e2-2aa867da176d- 使用
ibmcloud kp keys命令中的标识来检索密钥信息。
ibmcloud kp keys -c --instance-id 22e573bd-c02c-4d7f-81e2-2aa867da176dTargeting endpoint: https://qa.us-south.kms.cloud.ibm.com Retrieving keys... OK Key ID Key Name CRN 2fb8d675-bde3-4780-b127-3d0b413631c1 my-file-key crn:v1:bluemix:public:kms:us-south:a/a1234567:22e573bd-c02c-4d7f-81e2-2aa867da176d:key:2fb8d675-bde3-4780-b127-3d0b413631c1如果打算使用另一个账户的加密密钥,则必须在另一个账户上执行前面的步骤。 即使授权使用,也不能列出其他账户的资源。
- 使用
-
如果客户拥有预览区域文件共享配置文件的特殊权限,则可以使用
rfs配置文件来创建文件共享。 要通过 CLI 创建和管理区域文件共享,请使用以下命令设置相应的环境变量。export IBMCLOUD_IS_FEATURE_SHARE_DENALI_REGIONAL_AVAILABILITY=true只有当该环境变量设置为 "true "时,CLI 才会返回“允许的访问协议”、“可用性模式”、“带宽”和“存储生成”的属性。
-
指定带有
--encryption-key选项的ibmcloud is share-create命令,以使用客户管理的加密创建文件共享。encryption_key选项必须后跟密钥管理服务中根密钥的有效 CRN。 如果您也希望在传输中启用加密,请在安装目标 JSON 中指定加密。 与挂载目标相关联的安全组必须允许从要挂载共享的所有服务器通过 NFS 端口对 TCP 协议进行入站访问。-
以下示例使用客户管理的加密,安全组访问方式以及具有虚拟网络接口的安装目标来创建文件共享。 未启用传输中的加密。
ibmcloud is share-create --name my-encrypted-file-share --zone us-south-2 --profile dp2 --size 500 --iops 2000 --user-tags env:dev --encryption-key crn:v1:bluemix:public:kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1 --mount-targets '[{"name":"my-new-mount-target","virtual_network_interface": {"name":"my-vni-2","subnet": {"id":"r006-298acd6c-e71e-4204-a04f-fe4a4dd89805"},"security_groups":[{"id":"r006-7f369ca2-ca49-4053-b007-5cab79b9873b"}]}}]'Creating file share my-encrypted-file-share under account Test Account as user test.user@ibm.com... ID r006-d44298fe-aced-4f55-a690-8a3830e9fd90 Name my-encrypted-file-share CRN crn:v1:bluemix:public:is:us-south-2:a/a1234567::share:r006-d44298fe-aced-4f55-a690-8a3830e9fd90 Lifecycle state pending Access control mode security_group Accessor binding role none Zone us-south-2 Profile dp2 Size(GB) 500 IOPS 2000 User Tags env:dev Encryption user_managed Mount Targets ID Name r006-00432317-436e-4940-ab7d-8b26c186b00f my-new-mount-target Resource group ID Name db8e8d865a83e0aae03f25a492c5b39e Default Created 2023-10-19T21:16:27+00:00 Encryption key crn:v1:bluemix:public:kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1 Replication role none Replication status none Replication status reasons Status code Status message - - Snapshot count 10 Snapshot size 10 Source snapshot -ibmcloud is share-mount-targets my-encrypted-file-shareListing share mount target of my-encrypted-file-share in all resource groups and region us-south under account Test Account as user test.user@ibm.com... ID Name VPC Lifecycle state Transit Encryption r006-00432317-436e-4940-ab7d-8b26c186b00f my-new-mount-target my-vpc stable none -
以下示例使用客户管理的加密,安全组访问方式以及启用了虚拟网络接口和传输中加密的安装目标来创建文件共享。
ibmcloud is share-create --name my-encrypted-eit-file-share --zone us-south-2 --profile dp2 --size 500 --iops 2000 --user-tags env:dev --encryption_key crn:v1:bluemix:public::kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1 --mount-targets '[{"name":"my-new-mount-target","transit_encryption": "user_managed","virtual_network_interface": {"name":"my-vni-3","subnet": {"id":"r006-298acd6c-e71e-4204-a04f-fe4a4dd89805"},"security_groups":[{"id":"r006-7f369ca2-ca49-4053-b007-5cab79b9873b"}]}}]'响应内容与以下示例类似。
Creating file share my-encrypted-eit-file-share under account Test Account as user test.user@ibm.com... ID r006-f6bf049e-f46c-4160-b548-4a36d27256ac Name my-encrypted-eit-file-share CRN crn:v1:bluemix:public::is:us-south-2:a/a1234567::share:r006-f6bf049e-f46c-4160-b548-4a36d27256ac Lifecycle state pending Access control mode security_group Accessor binding role none Zone us-south-2 Profile dp2 Size(GB) 500 IOPS 2000 User Tags env:dev Encryption user_managed Mount Targets ID Name r006-e6bd52b8-c656-4ba6-8749-1bb41bfa2c3c my-new-mount-target Resource group ID Name db8e8d865a83e0aae03f25a492c5b39e Default Created 2023-10-20T03:05:38+00:00 Encryption key crn:v1:bluemix:public:kms:us-south:a/a1234567-c02c-4d7f-81e2-2aa867da176d:key:2fb8d675-bde3-4780-b127-3d0b413631c1 Replication role none Replication status none Replication status reasons Status code Status message - - Snapshot count 0 Snapshot size 0 Source snapshot -ibmcloud is share-mount-targets my-encrypted-eit-file-share响应内容与以下示例类似。
Listing share mount target of my-encrypted-eit-file-share in all resource groups and region us-south under account Test Account as user test.user@ibm.com... ID Name VPC Lifecycle state Transit Encryption r006-e6bd52b8-c656-4ba6-8749-1bb41bfa2c3c my-new-mount-target my-vpc stable user_managed- 下面的示例创建了一个区域文件共享,并启用了客户管理加密、安全组访问模式和传输中加密。
ibmcloud is share-create --name my-regional-file-share --profile rfs --size 40 --bandwidth 800 --atem stunnel,none --encryption-key crn:v1:bluemix:public::kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1响应内容与以下示例类似。
Creating file share my-file-share1 under account Test Account as user test.user@ibm.com... ID r006-9ae55188-610e-4cf9-9350-d0b675026ff8 Name my-regional-file-share CRN crn:v1:bluemix:public:is:us-south:a/a1234567::share:r006-9ae55188-610e-4cf9-9350-d0b675026ff8 Lifecycle state pending Access control mode security_group Accessor binding role none Allowed transit encryption modes stunnel,none Zone - Profile rfs Size(GB) 40 IOPS 35000 Encryption user_managed Mount Targets ID Name No mounted targets found. Resource group ID Name 11caaa983d9c4beb82690daab08717e9 Default Created 2025-09-22T21:17:23+05:30 Encryption key crn:v1:bluemix:public:kms:us-south:a/a1234567-c02c-4d7f-81e2-2aa867da176d:key:2fb8d675-bde3-4780-b127-3d0b413631c1 Replication role none Replication status none Replication status reasons Status code Status message - - Snapshot count 0 Snapshot size 0 Source snapshot - Allowed Access Protocols nsf4 Availability Mode regional Bandwidth(Mbps) 800 Storage Generation 2 -
有关命令选项的更多信息,请参阅 ibmcloud is share-create。
使用 API 通过客户管理的加密创建文件共享
您可以通过调用 虚拟私有云(VPC)API 来创建具有客户管理的加密的文件共享。
发出 POST /shares 请求并指定 encryption_key 参数以标识客户根密钥 (CRK)。 在示例中显示为 crn:[...key:...]。
必须提供 generation 参数并指定 generation=2。 如需了解更多信息,请参阅《 虚拟私有云 API 参考指南 》中的 “生成”部分。
下面的示例创建了一个带挂载目标的区域文件共享,并指定了客户管理加密根密钥的 CRN。
curl -X POST \
"$vpc_api_endpoint/v1/shares?version=2024-11-05&generation=2" -H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-encrypted-share",
"mount_targets": [
{
"name": "docs-mount-1",
"virtual_network_interface": {
"name": "my-virtual-network-interface-1",
"allow_ip_spoofing": false,
"auto_delete": true,
"enable_infrastructure_nat": true,
"primary_ip": {"auto_delete": true},
"subnet": {"id": "0727-267015ac-7b12-4f62-bda9-52fcb9483fc4"},
"ips": [],
"security_groups": [{"id": "r006-bf9475c2-6846-4c39-b392-587643b2e2f8"}],
"protocol_state_filtering_mode": "auto"
},
"transit_encryption": "none"
}
],
"profile": {"name": "dp2"},
"size": 100,
"zone": {"name": "us-south-2"},
"iops": 3000,
"allowed_transit_encryption_modes": ["none","user_managed"],
"encryption_key": {"crn": "crn:v1:bluemix:public:kms:us-south:a/a1234567-c02c-4d7f-81e2-2aa867da176d:key:2fb8d675-bde3-4780-b127-3d0b413631c1"},
"resource_group": {"id": "db00a952a88945a987b7be1980fdae8e"},
"access_control_mode": "security_group"
}'
下面的示例创建了一个不带挂载目标的区域文件共享,并为客户管理加密指定了根密钥的 CRN。
curl -X POST \
"$vpc_api_endpoint/v1/shares?version=2025-09-02&generation=2" -H "Authorization: Bearer $iam_token" \
-d '{
"name": "my-encrypted-regional-share",
"profile": {"name": "rfs"},
"size": 1000,
"bandwidth": 800,
"allowed_transit_encryption_modes": ["none","stunnel"],
"encryption_key": {"crn": "crn:v1:bluemix:public:kms:us-south:a/a1234567-c02c-4d7f-81e2-2aa867da176d:key:2fb8d675-bde3-4780-b127-3d0b413631c1"},
"resource_group": {"id": "db00a952a88945a987b7be1980fdae8e"},
"access_control_mode": "security_group"
}'
您还可以在 POST /shares 调用中指定来自其他帐户的根密钥的 CRN。 如果要这样做,请联系对方账户的管理员,确保服务对服务授权到位,并获取加密密钥的 CRN。
使用客户管理的 Terraform 加密创建文件共享
要创建文件共享,请使用 ibm_is_share 资源。 下面的示例创建了一个分区文件共享,容量为 800 GiB,性能配置文件为 dp2。 使用由其 CRN 标识的密钥对文件共享进行加密。 此示例还指定具有虚拟网络接口的新安装目标。
resource "ibm_is_share" "share4" {
zone = "us-south-2"
size = "800"
iops = "3000"
name = "my-share4"
profile = "dp2"
encryption_key = "crn:v1:bluemix:public:kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1"
access_control_mode = "security_group"
mount_target {
name = "target"
security_groups = [<security_group_ids>]
virtual_network_interface {
primary_ip {
address = "10.240.64.5"
auto_delete = true
name = "my-example-pip"
}
}
}
}
下面的示例创建了一个区域文件共享,容量为 1000 GiB,性能配置文件为 rfs。 使用由其 CRN 标识的密钥对文件共享进行加密。
resource "ibm_is_share" "regional-share" {
size = "1000"
name = "my-regional-share"
profile = "rfs"
bandwidth = "800"
encryption_key = "crn:v1:bluemix:public:kms:us-south:a/a1234567:key:2fb8d675-bde3-4780-b127-3d0b413631c1"
access_control_mode = "security_group"
}
有关自变量和属性的更多信息,请参阅 ibm_is_share。
后续步骤
-
使用 IBM Cloud File Share Mount Helper 实用程序 将加密文件共享安装到授权的 Compute 实例。
-
请考虑为共享设置复制。 有关更多信息,请参阅 关于文件共享复制。
-
了解有关 从其他帐户共享和安装文件共享 的信息。