管理密钥创建和导入访问策略
设置 IBM Cloud® Hyper Protect Crypto Services 实例,您可以使用以下命令来管理密钥创建和导入访问策略: Hyper Protect Crypto Services 密钥管理服务 API。
此策略仅适用于密钥管理服务密钥和相关操作。
了解密钥创建和导入访问权设置
密钥创建和导入访问策略 Hyper Protect Crypto Services 实例管理如何创建密钥并将其导入到您的 Hyper Protect Crypto Services 实例。
启用此策略时,Hyper Protect Crypto Services 仅允许在您的密钥中创建或导入密钥 遵循密钥创建和导入访问策略中列出的密钥创建和导入设置的 Hyper Protect Crypto Services 实例。
仅通过 API 支持设置和检索密钥创建和导入访问策略。 要了解有关访问 Hyper Protect Crypto Services 密钥管理服务 API 的更多信息,请查看 设置 API。
在启用密钥创建和导入访问策略之前, Hyper Protect Crypto Services例如,请记住以下注意事项:
-
KeyCreateImportAccess 策略不会影响在创建策略之前存在的密钥。
KeyCreateImportAccess 策略仅影响设置策略后发送的 Hyper Protect Crypto Services 请求。 在创建策略之前,您仍可以访问 Hyper Protect Crypto Services 实例中存在的所有密钥。
-
KeyCreateImportAccess 策略可能会影响各种密钥操作中的密钥。
enforce_token属性在创建,旋转和复原期间影响导入的密钥。create_root_key,import_root_key,create_standard_key和import_standard_key属性仅在创建时影响密钥。 所有其他 Hyper Protect Crypto Services 操作 (例如,回绕和解包) 都不受影响,并且可以像往常一样在密钥上调用。
使用 UI 为服务实例启用或更新密钥创建和导入访问策略
作为安全管理员,如果您希望使用图形界面来管理密钥创建和导入访问策略设置,那么可以使用 UI。
创建 Hyper Protect Crypto Services 实例后,请完成以下步骤以启用密钥创建和导入访问策略:
-
去菜单>资源列表查看您的资源列表。
-
从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
-
在所选服务实例的 UI 中,选择侧边菜单中的 实例策略 选项卡。
-
在 创建和导入密钥访问权 部分中,选中或清除相应的框以更新 keyCreateImportAccess 设置,然后单击 保存策略。
Allow creation of root keys: 选中此框以允许在 Hyper Protect Crypto Services 实例中创建根密钥。Allow creation of standard keys: 选中此框以允许在 Hyper Protect Crypto Services 实例中创建标准密钥。Allow import of root keys: 选中此框以允许将根密钥导入到 Hyper Protect Crypto Services 实例中。Allow import of standard keys: 选中此框以允许将标准密钥导入到 Hyper Protect Crypto Services 实例中。Enable secure import: 选中此框以阻止授权用户在不使用导入令牌的情况下将密钥资料导入到 Hyper Protect Crypto Services 实例中。
选中
Enable secure import的框后,需要对所有密钥导入操作启用 安全导入。 安全导入在 UI 中不可用,您需要通过 CLI 或 API 执行进一步的操作。
任何已禁用的密钥操作在“添加密钥”面板中都不可用。 选中 Secure import 的框后,需要对所有密钥导入操作启用 安全导入。 密钥导入在 UI 中不可用,您需要通过 CLI 或 API 执行进一步的操作。
使用 API 为服务实例启用和更新密钥创建和导入访问策略
作为安全性管理员,您可以通过创建 PUT 来启用或更新 Hyper Protect Crypto Services 实例的密钥创建和导入访问策略 调用以下端点。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess
如果要更新 Hyper Protect Crypto Services 的密钥创建和导入访问策略 请记住,如果请求中省略了某个属性,那么该字段将设置为缺省值,并且已省略的字段的现有值将被缺省值覆盖。
-
要启用 keyCreateImportAccess 策略,您需要 管理者 对 Hyper Protect Crypto Services 的访问权 实例。 了解 IAM 角色如何映射到 Hyper Protect Crypto Services 操作,检出 服务访问角色。
-
启用或更新您的密钥创建和导入访问策略 Hyper Protect Crypto Services 实例,通过运行以下 cURL 命令。
$ curl -X PUT \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \ -H "accept: application/vnd.ibm.kms.policy+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.policy+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.policy+json", "collectionTotal": 1 }, "resources": [ { "policy_type": "keyCreateImportAccess", "policy_data": { "enabled": true, "attributes": { "create_root_key": <true/false>, "create_standard_key": <true/false>, "import_root_key": <true/false>, "import_standard_key": <true/false>, "enforce_token": <true/false> } } } ] }'根据下表替换示例请求中的变量。
表 1. 描述启用密钥创建和导入访问策略所需的变量 变量 描述 region必需。 地区缩写,例如 us-south或者eu-de,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点。IAM_token必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM令牌的完整内容,包括 Bearer 值。 有关详细信息,请参阅For more information, see 检索访问令牌。instance_ID必需。 指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关详细信息,请参阅For more information, see 检索实例 ID。 create_root_key必需。 设置为 true以允许在 Hyper Protect Crypto Services 实例中创建根密钥。 设置为false可防止在实例中创建根密钥。 如果省略此属性,那么会将true设置为缺省值。create_standard_key必需。 设置为 true以允许在 Hyper Protect Crypto Services 实例中创建标准密钥。 设置为false可防止在实例中创建标准密钥。 如果省略此属性,那么会将true设置为缺省值。import_root_key必需。 设置为 true以允许将根密钥导入到 Hyper Protect Crypto Services 实例中。 设置为false可防止将根密钥导入到实例中。 如果省略此属性,那么会将true设置为缺省值。import_standard_key必需。 设置为 true以允许将标准密钥导入到 Hyper Protect Crypto Services 实例中。 设置为false可防止将标准密钥导入到实例中。 如果省略此属性,那么会将true设置为缺省值。enforce_token必需。 设置为 true可防止授权用户在不使用导入令牌的情况下将密钥资料导入到 Hyper Protect Crypto Services 实例中。 设置为false以允许授权用户在不使用导入令牌的情况下将密钥资料导入到实例中。 如果启用了enforce_token,那么需要对所有密钥导入操作启用 安全导入。 无法通过 UI 进行密钥导入,您需要通过 CLI 或 API 执行进一步的操作。 如果省略此属性,那么会将false设置为缺省值。成功的请求将返回 HTTP
204 No Content响应,这指示您的 Hyper Protect Crypto Services 实例现在已启用。 Hyper Protect Crypto Services 实例现在只能允许从请求中指定的方法创建或导入密钥。 -
可选: 通过检索您的策略详细信息,验证是否已创建或更新密钥创建和导入访问策略 Hyper Protect Crypto Services 实例。
$ curl -X GET \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \ -H "accept: application/vnd.ibm.kms.policy+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"
使用密钥管理服务 API 禁用服务实例的密钥创建和导入访问策略
作为 Hyper Protect Crypto Services 实例的管理者,要使用密钥管理服务 API 禁用密钥创建和导入访问策略,请对以下端点进行 PUT 调用。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess
发出请求以禁用密钥创建和导入访问策略时,请勿提供任何属性。
-
要禁用 keyCreateImportAccess 策略,您需要对 Hyper Protect Crypto Services 的 管理者 访问权 实例。 了解 IAM 角色如何映射到 Hyper Protect Crypto Services 操作,检出 服务访问角色。
-
禁用您的现有密钥创建和导入访问策略 Hyper Protect Crypto Services 实例,通过运行以下 cURL 命令。
$ curl -X PUT \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \ -H "accept: application/vnd.ibm.kms.policy+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.policy+json" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.policy+json", "collectionTotal": 1 }, "resources": [ { "policy_type": "keyCreateImportAccess", "policy_data": { "enabled": false } } ] }'根据下表替换示例请求中的变量。
表 2. 描述禁用密钥创建和导入访问策略所需的变量 变量 描述 region必需。 地区缩写,例如 us-south,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点。IAM_token必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM令牌的完整内容,包括 Bearer 值。 有关详细信息,请参阅For more information, see 检索访问令牌。instance_ID必需。 分配给您的Hyper Protect Crypto Services实例。 有关详细信息,请参阅For more information, see 检索实例 ID。 成功的请求将返回 HTTP
204 No Content响应,该响应指示将针对服务实例更新密钥创建和导入访问策略。 -
可选: 通过检索策略详细信息来验证是否已禁用密钥创建和导入访问策略 Hyper Protect Crypto Services 实例。
$ curl -X GET \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/instance/policies?policy=keyCreateImportAccess" \ -H "accept: application/vnd.ibm.kms.policy+json" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>"