使用客户管理的加密创建文件共享
使用 Key Protect 标准型或专用型实例的根密钥,创建具有客户管理加密功能的 File Storage for VPC 共享。
创建文件共享后,无法更改加密类型。
默认情况下,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 控制台中,转到菜单图标
> 基础架构
> 存储 > 文件存储共享。
-
单击创建。
-
请输入以下信息。
| 字段 | 值 |
|---|---|
| 可用性 |
|
| 地区 |
|
| 详细信息 | |
| 名称 | 请为您的文件共享指定一个有意义的名称。 文件共享名称最长可包含 63 个小写字母和数字,可包含连字符 (-),且必须以小写字母开头。 如果需要,您日后可以编辑该名称。 |
| 资源组 | 使用默认资源组,或指定一个 资源组。 资源组帮助组织帐户资源,以进行访问控制和计费。 |
| 标记(可选) | 请输入要应用于此文件共享的任何用户标签。 输入时,系统会显示现有的标签供您选择。 有关标签的更多信息,请参阅“向文件共享添加用户标签”。 |
| 访问管理标记(可选) | 输入您在 IAM 中创建的访问管理标签,将其应用到此文件共享。 有关访问管理标记的更多信息,请参阅 “文件共享的访问管理标记”。 |
| Profile |
配置文件将根据您的数据可用性选择自动填充。 有关详细信息,请参阅 “文件存储配置文件 ”。
|
-
创建 挂载目标 是可选的。 如果您现在不想创建安装目标,那么可以跳过此步骤。 不过,要在计算主机上挂载文件共享,还需要一个文件共享。 文件共享可以有多个挂载目标,这样你就可以从多个 VPC 访问它。 您可以为每个文件共享创建一个安装目标。 要创建它,请单击“创建”。 通过提供以下信息来定义挂载目标:
- 提供挂载目标名称。 该名称最多可以是 63 个小写字母数字字符,并且包含连字符 (-),并且必须以小写字母开头。 如果需要,您日后可以编辑该名称。
- 选择可用的 VPC。 该列表仅包含在所选位置拥有子网的 VPC。 位置选择继承自文件共享(例如 us-south-2 )。
- 生成默认虚拟网络接口。 点击“编
”图标即可对其进行自定义。 如果该位置有多个子网,您可以更改名称或子网。 您也可以选择一个现有的 VNI 来附加到挂载目标。 显示 VPC 中可用 VNI 的列表和位置。 由于所连接的 VNI 二级 IP 地址不能被接受为文件共享挂载目标,因此会被从列表中过滤掉。 - 单击下一步。
- 对于区域共享,传输中加密默认处于禁用状态;对于区域共享,传输中加密默认处于启用状态。 单击切换按钮更改预设值。 有关此功能的更多信息,请参阅 传输中加密 - 保护文件共享与主机之间的挂载连接。
- 然后,单击下一步。
- 查看您的选择,然后单击“返回”更新您的选择,或单击“创建”。
-
在 “静态加密”部分,所有文件共享默认均由 IBM 管理的密钥进行加密。 若要使用您自己的加密密钥,请点击切换按钮以启用客户管理的加密功能。 如果您已有 KMS 实例和根密钥,系统会自动为您选中它。 要更改密钥或实例,请单击 “编辑”图标
,以打开 “配置加密”侧边栏。 请从以下选项中选择一项,以查找您的加密密钥:
- 按实例定位:该面板包含三个步骤:
- 选择 KMS 实例:该列表显示了每个可用 Key Protect 实例的名称、ID、类型(标准型或专用型)以及所在位置。 选择一个实例,然后单击 “选择”。 如果您还没有实例,请点击 “创建”以配置一个。
- 关联密钥:该列表显示了每个可用根密钥的名称、ID、最后更新日期、别名和密钥环。 选择一个键,然后单击 “选择”。 如果您还没有密钥,请点击 “创建新密钥”。
- 审核:请确认您的选择,包括密钥管理服务、实例类型、实例名称和密钥名称。 “服务授权”部分显示 File Storage for VPC 与KMS实例之间是否已建立所需的授权关系。 如果不是,您可以允许 Key Protect 自动创建授权,或者手动创建一个。 有关详细信息,请参阅 《 为 File Storage for VPC 建立服务间授权 》。 单击 “确认” 以应用您的选择,并返回文件共享配置页面。
- 按 CRN 查找:输入用于加密共享的客户根密钥的 CRN。 如果您使用的是其他账户的CRK,请选择此选项。 单击 “选择” 以进入 “按实例定位”选项中所述的 “审核”步骤。
- 按实例定位:该面板包含三个步骤:
-
如果您选择了单区域可用性,则“加密”卡片之后会显示 “灾难恢复”部分。 此步骤是可选的。 用于在配置时设置同一区域内的异步复制。 跨区域复制必须在共享资源配置完成且处于稳定状态后,单独进行设置。 有关详细信息,请参阅“为文件共享添加复制”。
要配置同区域复制,请单击 “异步复制”切换按钮。 复制字段会内联展开。 该副本继承了源共享的配置文件和加密设置。 安装目标必须单独添加。
填写以下字段:
- 区域:地理位置和地区是根据源共享的位置预先填充的,无法更改。 从下拉菜单中选择副本所在的区域。 仅显示适用于复制的区域。
- 副本名称:为副本共享输入一个名称。
- 最大 IOPS:指定副本共享的最大 IOPS 值。
- 频率:选择从源共享向副本同步更改的频率,并配置开始时间:
- 每15分钟:输入开始时间的分钟值。
- 按小时:输入开始时间的分钟值。
- 每日:请以 UTC 时间(HH:MM 格式)输入开始时间,时间范围为 00:00 至 23:59。
- 每周:选择复制任务运行的具体星期几(可选一天或多天),并以 HH:MM 格式输入 UTC 时间,时间范围为 00:00 至 23:59。
- 每月:输入复制任务运行的日期(1 - 31),并以 HH:MM 格式输入 UTC 时间,时间范围为 00:00 至 23:59。
- Cron表达式:请以
minute hour day month weekday的格式输入cron-spec表达式。 复制操作的计划间隔不得少于15分钟。 例如,若要每天 UTC 时间下午 5:30 进行复制,请输入30 17 * * *。
-
输入所有必需信息后,单击 创建文件共享。 返回到 File Storage for VPC 页面,其中有一条消息指示正在供应文件共享。 事务完成时,共享状态将更改为 活动。
如果您是通过私有端点创建的密钥管理服务实例,则使用该实例创建的根密钥不会显示在控制台中。 您必须使用 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 实例。
-
请考虑为共享设置复制。 有关更多信息,请参阅 关于文件共享复制。
-
了解有关 从其他帐户共享和安装文件共享 的信息。