查看根密钥或标准密钥的列表
IBM Cloud® Hyper Protect Crypto Services 提供了用于查看、管理和审计加密密钥的集中式系统。 审计您的密钥和密钥访问限制,以确保资源安全。
定期审计密钥配置:
- 检查创建密钥的时间并确定是否需要对密钥进行循环。
- 使用 Hyper Protect Crypto Services 监视对 Activity Tracker 的 API 调用。
- 检查哪些用户对密钥具有访问权以及访问级别是否正确。
有关审计对资源的访问权的更多信息,请参阅 管理用户访问权。
使用 UI 查看根密钥或标准密钥
如果您希望使用图形界面来检查服务中的密钥,那么可以使用 UI。
创建密钥或将现有密钥导入服务后,请完成以下步骤以查看密钥。
-
转至 菜单 > 资源列表 以查看资源列表。
-
从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
-
在“KMS 密钥”页面上,在 密钥 表中浏览密钥的一般特征:
表 1. 描述键表 列 描述 名称 分配给密钥的唯一人类可读名称。 标识 Hyper Protect Crypto Services 服务指定给密钥的唯一密钥标识。 您可以使用标识值通过 Hyper Protect Crypto Services 密钥管理服务 API 对服务进行调用。 别名 为便于在创建密钥时识别而指定的人类可读别名。 密钥环标识 密钥所属的密钥环。 类型 描述服务中密钥的指定用途的密钥类型。 州/省 密钥状态,基于 NIST Special Publication 800-57, Recommendation for Key Management。 这些状态包括“预激活”,“活动”,“已暂挂”,“已取消激活”和“已销毁”。 源 指示是否导入密钥。 Created
指示密钥由服务实例创建;Imported
指示密钥由用户导入。上次更新时间 最近一次更新密钥的日期和时间。 当创建密钥,轮换密钥或修改密钥元数据的任何部分时,将更新此字段。 上次轮换时间 最近一次轮换密钥的日期和时间。 创建时间 创建密钥的日期和时间。 已启用双重授权 密钥上的双重授权策略的状态。
True
: 需要双重授权才能删除密钥。False
: 无需事先授权即可删除密钥。
设置为删除 指示是否对密钥发出删除授权。
True
: 删除此密钥的授权由第一个用户发出。 具有 "管理者" 访问策略的第二个用户可以安全地删除密钥。False
: 未设置要删除的密钥。 无需进一步操作。
删除到期 密钥的删除授权到期日期。 如果此日期过去,那么授权不再有效。 如果 False
是键的Dual authorization enabled
或Set for deletion
列的值,那么Deletion expiration
列将保留为空。缺省情况下,并非所有关键特征都显示。 要定制 密钥 表的显示方式,请单击 设置图标
,然后检查要显示的列。
未看到存储在服务实例中的密钥的完整列表? 向管理员验证是否为您分配了适用的服务实例或个人密钥的正确角色。 有关角色的更多信息,请参阅角色和许可权。
您还可以使用搜索栏来搜索特定键,或者通过单击 键 表中的 过滤器 图标
来根据需要过滤键。
使用密钥管理服务 API 查看根密钥或标准密钥
您可以使用 Hyper Protect Crypto Services 密钥管理服务 API 来检索密钥的内容。
检索根密钥或标准密钥的列表
对于高级视图,可以通过对以下端点进行 GET
调用来浏览在 Hyper Protect Crypto Services 的供应实例中管理的根密钥或标准密钥。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
-
通过运行以下 cURL 命令来查看有关密钥的常规特征。
curl -X GET \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys" \ -H 'accept: application/vnd.ibm.collection+json' \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'x-kms-key-ring: <key_ring_ID>' \ -H 'correlation-id: <correlation_ID>' \
根据下表替换示例请求中的变量。
表 2. 描述使用 API 查看密钥所需的变量 变量 描述 region
区域缩写(例如, us-south
或au-syd
),表示 Hyper Protect Crypto Services 服务实例所在的地理区域。 有关更多信息,请参阅区域服务端点。port
必需。 API 端点的端口号。 IAM_token
您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM
令牌的完整内容,包括 Bearer 值。 有关更多信息,请参阅 检索访问令牌。instance_ID
指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 key_ring_ID
可选。 密钥所属的密钥环的唯一标识。 如果未指定,Hyper Protect Crypto Services 将在与指定实例关联的每个密钥环中搜索密钥。 因此,建议为更优化的请求指定密钥环标识。 注: 在没有
x-kms-key-ring
头的情况下创建的密钥的密钥环标识为: 缺省值。 有关更多信息,请参阅 管理密钥环。correlation_ID
可选。 用于跟踪和关联事务的唯一标识。 成功的
GET /v2/keys
请求将返回 Hyper Protect Crypto Services 实例中可用的密钥集合。{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 2 }, "resources": [ { "id": "02fd6835-6001-4482-a892-13bd2085f75d", "type": "application/vnd.ibm.kms.key+json", "name": "Root-key", "state": 1, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d", "createdBy": "...", "creationDate": "2020-03-11T16:30:06Z", "lastUpdateDate": "2020-03-11T16:30:06Z", "algorithmMetadata": { "bitLength": "256", "mode": "CBC_PAD" }, "extractable": false, "imported": true, "algorithmMode": "CBC_PAD", "algorithmBitSize": 256, "dualAuthDelete": { "enabled": false } }, { "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2", "type": "application/vnd.ibm.kms.key+json", "name": "Standard-key", "state": 1, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2", "createdBy": "...", "creationDate": "2020-03-12T03:50:12Z", "lastUpdateDate": "2020-03-12T03:50:12Z", "algorithmMetadata": { "bitLength": "256", "mode": "CBC_PAD" }, "extractable": true, "imported": false, "algorithmMode": "CBC_PAD", "algorithmBitSize": 256, "dualAuthDelete": { "enabled": false } } ] }
缺省情况下,
GET api/v2/keys
会返回前 200 个键,但您可以在查询时使用limit
参数来调整此限制。 要了解有关limit
和offset
的更多信息,请参阅检索密钥子集。未看到完整的密钥列表? 您可能需要使用
limit
和offset
或与管理员联系,以确保为您分配了对实例中密钥的正确级别访问权。 要了解更多信息,请参阅 无法查看或列出密钥。
检索密钥子集
通过在查询时指定 limit
和 offset
参数,可检索密钥子集,从指定的 offset
值开始。
例如,可能总共有 3000 密钥存储在 Hyper Protect Crypto Services 服务实例中,但是在发出 GET /keys
请求时可能想要检索密钥 200 - 300。
您可以使用以下示例请求来检索一组不同的密钥。
curl -X GET \
'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?offset=<offset>&limit=<limit>' \
-H 'accept: application/vnd.ibm.collection+json' \
-H 'authorization: Bearer <IAM_token>' \
-H 'bluemix-instance: <instance_ID>'
根据下表替换请求中的 limit
和 offset
变量。
变量 | 描述 |
---|---|
offset | 要跳过的密钥数。 例如,如果实例中有 50 个密钥,并且要列出密钥 26-50,请使用 ../keys?offset=25 。 您还可以将 offset 与 limit 配对,以页面浏览可用资源。 |
limit | 要检索的密钥数。 例如,如果实例中有 100 个密钥,并且只想列出 10 个密钥,请使用 ../keys?limit=10 。 limit 的最大值为 5000。 |
要获取用法注释,请查看用于设置 limit
和 offset
查询参数的以下示例。
URL | 描述 |
---|---|
.../keys |
列出所有可用资源,最多为前 2000 个密钥。 |
.../keys?limit=10 |
列出前 10 个密钥。 |
.../keys?offset=25&limit=50 |
列出密钥 26 - 75。 |
.../keys?offset=3000&limit=50 |
列出密钥 3001 - 3050。 |
Offset 是数据集中特定密钥的位置。 offset
值从 0 开始,这意味着数据集中的第 10 个加密密钥位于 offset 9。
按状态检索密钥
通过在查询时指定 state
参数,可以检索处于指定状态的密钥。
例如,服务实例中的密钥可能处于“活动”,“已暂挂”和“已破坏”状态,但您仅希望在发出 GET /keys
请求时检索处于“活动”状态的密钥。
状态查询参数采用由逗号分隔的整数 0-5 列表,其中没有空格或尾部逗号。 有效状态基于 NIST SP 800-57。 有关密钥状态的更多信息,请参阅 密钥状态和转换。
您可以使用以下示例请求来检索一组不同的密钥。
curl -X GET \
'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?state=<state_integers>' \
-H 'accept: application/vnd.ibm.collection+json' \
-H 'authorization: Bearer <IAM_token>' \
-H 'bluemix-instance: <instance_ID>'
根据下表替换请求中的 state
变量。
变量 | 描述 |
---|---|
state |
要检索的密钥的状态。 状态为整数,对应于“预活动 = 0”,“活动 = 1”,“已暂挂 = 2”,“已取消激活 = 3”和“已销毁 = 5”值。 例如,如果只想列出服务实例中处于活动状态的密钥,请使用 ../keys?state=1 。 您还可以将 state 与 offset 与 limit 配对,以通过页面浏览可用资源。 |
有关用法说明,请查看以下用于设置 state
查询参数的示例。
URL | 描述 |
---|---|
.../keys |
列出所有可用资源,最多前 200 个密钥。 |
.../keys?state=5 |
列出处于已删除状态的密钥。 |
.../keys?state=2,3 |
列出处于暂挂和取消激活状态的密钥。 |
按可抽取值检索密钥
通过在查询时指定 extractable
参数,您可以检索其物料可以离开服务的密钥。
例如,您可能在 Hyper Protect Crypto Services 实例中同时具有标准密钥和根密钥,但您仅希望在发出 GET /keys
请求时使用可抽取的密钥资料来检索密钥。
可抽取查询参数采用布尔值。
您可以使用以下示例请求来检索一组不同的密钥。
$ curl -X GET \
"https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?extractable=<extractable>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
根据下表替换请求中的 extractable
变量。
变量 | 描述 |
---|---|
可抽取 | 要检索的密钥的类型。 根据可抽取属性过滤键。 您可以使用此查询参数来搜索其物料可离开服务的密钥。 如果将该参数设置为 true,那么将检索标准密钥。 如果将该参数设置为 false,那么将检索根密钥。 如果省略此参数,那么将同时检索根密钥和标准密钥。 例如,如果要仅列出服务实例中具有可抽取材料的密钥,请使用 ../keys?extractable=true 。 您还可以将可抽取内容与 offset ,limit 和 state 配对,以在可用资源中进行页面调度。 |
有关用法说明,请查看以下用于设置 extractable
查询参数的示例。
URL | 描述 |
---|---|
../keys |
列出所有可用资源,最多前 200 个密钥。 |
../keys?extractable=true |
列出标准密钥。 |
../keys?extractable=false |
列出根密钥。 |
对键列表进行排序
在基于一个或多个键属性返回的查询字符串 对密钥列表进行排序 中使用 sort
参数。 要按属性降序排序,请以 "-" 作为术语前缀。要对多个键属性进行排序,请使用逗号来分隔每个属性。 逗号分隔列表中的第一个属性将在下一个属性之前进行求值。
$ curl -X GET \
"https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys?sort=<sort-value>" \
-H "accept: application/vnd.ibm.collection+json" \
-H "authorization: Bearer <IAM_token>" \
-H "bluemix-instance: <instance_ID>"
变量 | 描述 |
---|---|
排序值 |
用于排序的属性列表。 此时可排序的关键属性为: -id
|