Secret Stores API - 参考¶
Barbican 提供了用于管理部署中可用的密钥存储的 API。提供了用于列出可用密钥存储和管理项目级别密钥存储映射的 API。密钥存储有两种类型。一种是全局默认密钥存储,它用于所有项目。然后是项目 首选 密钥存储,用于存储该项目中创建的所有新密钥。有关多存储后端支持的介绍,请参阅 使用多个密钥存储插件。本文档将重点介绍 Barbican /v1/secret-stores REST API 的细节。
如果服务配置中未启用多密钥存储后端支持,则所有这些 API 都将返回资源未找到(http 状态码 404)错误。错误消息文本将突出显示配置中未启用该支持。
GET /v1/secret-stores¶
项目管理员可以请求可用密钥存储后端的列表。响应包含当前配置在 barbican 部署中的密钥存储列表。如果未启用多存储后端支持,则列表将返回资源未找到 (404) 错误。
请求/响应:¶
Request:
GET /secret-stores
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Accept: application/json
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"secret_stores":[
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.114283",
"name": "PKCS11 HSM",
"created": "2016-08-22T23:46:45.114283",
"secret_store_ref": "https://:9311/v1/secret-stores/4d27b7a7-b82f-491d-88c0-746bd67dadc8",
"global_default": True,
"crypto_plugin": "p11_crypto",
"secret_store_plugin": "store_crypto"
},
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.124554",
"name": "KMIP HSM",
"created": "2016-08-22T23:46:45.124554",
"secret_store_ref": "https://:9311/v1/secret-stores/93869b0f-60eb-4830-adb9-e2f7154a080b",
"global_default": False,
"crypto_plugin": None,
"secret_store_plugin": "kmip_plugin"
},
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.127866",
"name": "Software Only Crypto",
"created": "2016-08-22T23:46:45.127866",
"secret_store_ref": "https://:9311/v1/secret-stores/0da45858-9420-42fe-a269-011f5f35deaa",
"global_default": False,
"crypto_plugin": "simple_crypto",
"secret_store_plugin": "store_crypto"
}
}
响应属性¶
名称 |
类型 |
描述 |
|---|---|---|
secret_stores |
列表 |
密钥存储引用的列表 |
name |
字符串 |
存储和加密插件名称由 + (加号) 分隔。 |
secret_store _ref |
字符串 |
用于引用特定密钥存储的 URL |
HTTP 状态码¶
代码 |
描述 |
|---|---|
200 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
未找到。当未启用多密钥存储后端支持时。 |
GET /v1/secret-stores/{secret_store_id}¶
项目管理员(具有管理员角色的用户)可以按其 ID 请求密钥存储的详细信息。返回的响应将突出显示该密钥存储是否当前配置为全局默认值。
请求/响应:¶
Request:
GET /secret-stores/93869b0f-60eb-4830-adb9-e2f7154a080b
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Accept: application/json
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.124554",
"name": "KMIP HSM",
"created": "2016-08-22T23:46:45.124554",
"secret_store_ref": "https://:9311/v1/secret-stores/93869b0f-60eb-4830-adb9-e2f7154a080b",
"global_default": False,
"crypto_plugin": None,
"secret_store_plugin": "kmip_plugin"
}
响应属性¶
名称 |
类型 |
描述 |
|---|---|---|
name |
字符串 |
存储和加密插件名称由 ‘+’ (加号) 分隔 |
global_default |
布尔值 |
指示此密钥存储是否为全局默认值的标志 |
status |
列表 |
密钥存储的状态 |
updated |
time |
上次更新密钥存储的日期和时间 |
创建时间 |
time |
创建密钥存储的日期和时间 |
secret_store_ref |
字符串 |
用于引用特定密钥存储的 URL |
HTTP 状态码¶
代码 |
描述 |
|---|---|
200 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
未找到。当未启用多密钥存储后端支持或该密钥存储 ID 不存在时。 |
GET /v1/secret-stores/preferred¶
项目管理员(具有管理员角色的用户)可以请求先前分配的首选密钥存储的引用。当为项目设置首选密钥存储时,该项目的新密钥将使用该存储后端存储。
请求/响应:¶
Request:
GET /v1/secret-stores/preferred
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Accept: application/json
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.114283",
"name": "PKCS11 HSM",
"created": "2016-08-22T23:46:45.114283",
"secret_store_ref": "https://:9311/v1/secret-stores/4d27b7a7-b82f-491d-88c0-746bd67dadc8",
"global_default": True,
"crypto_plugin": "p11_crypto",
"secret_store_plugin": "store_crypto"
}
响应属性¶
名称 |
类型 |
描述 |
|---|---|---|
secret_store_ref |
字符串 |
引用特定密钥存储的 URL |
HTTP 状态码¶
代码 |
描述 |
|---|---|
200 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
未找到。未定义首选密钥存储或未启用多密钥存储后端支持。 |
POST /v1/secret-stores/{secret_store_id}/preferred¶
项目管理员可以将密钥存储后端设置为其项目的首选存储后端。从那时起,存储在该项目中的任何新密钥都将使用指定的插件后端进行存储和读取。现有密钥存储不会受到影响,因为每个密钥在最初存储时都会捕获其插件后端信息。如果未启用多密钥存储支持,则此资源将返回 404 (未找到) 错误。
请求/响应:¶
Request:
POST /v1/secret-stores/7776adb8-e865-413c-8ccc-4f09c3fe0213/preferred
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Response:
HTTP/1.1 204 No Content
HTTP 状态码¶
代码 |
描述 |
|---|---|
204 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
请求的实体未找到或未启用多密钥存储后端支持。 |
DELETE /v1/secret-stores/{secret_store_id}/preferred¶
项目管理员可以删除首选密钥存储后端设置。如果未启用多密钥存储支持,则此资源将返回 404 (未找到) 错误。
请求/响应:¶
Request:
DELETE /v1/secret-stores/7776adb8-e865-413c-8ccc-4f09c3fe0213/preferred
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Response:
HTTP/1.1 204 No Content
HTTP 状态码¶
代码 |
描述 |
|---|---|
204 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
请求的实体未找到或未启用多密钥存储后端支持。 |
GET /v1/secret-stores/global-default¶
项目或服务管理员可以请求用作部署默认密钥存储后端的密钥存储的引用。
请求/响应:¶
Request:
GET /v1/secret-stores/global-default
Headers:
X-Auth-Token: "f9cf2d480ba3485f85bdb9d07a4959f1"
Accept: application/json
Response:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "ACTIVE",
"updated": "2016-08-22T23:46:45.114283",
"name": "PKCS11 HSM",
"created": "2016-08-22T23:46:45.114283",
"secret_store_ref": "https://:9311/v1/secret-stores/4d27b7a7-b82f-491d-88c0-746bd67dadc8",
"global_default": True,
"crypto_plugin": "p11_crypto",
"secret_store_plugin": "store_crypto"
}
响应属性¶
名称 |
类型 |
描述 |
|---|---|---|
secret_store_ref |
字符串 |
引用特定密钥存储的 URL |
HTTP 状态码¶
代码 |
描述 |
|---|---|
200 |
成功请求 |
401 |
身份验证错误。缺少或无效的 X-Auth-Token。 |
403 |
用户已通过身份验证,但无权执行此操作 |
404 |
未找到。当未启用多密钥存储后端支持时。 |