容器 API - 参考

GET /v1/containers

列出项目的容器。

返回的容器将按创建日期排序;最早到最新。

参数

名称

类型

描述

offset

整数

您希望检索的容器总列表中开始的索引。

limit

整数

返回的最大容器数量(最多 100 个)。默认限制为 10。

响应属性

名称

类型

描述

containers

列表

包含填充容器数据的字典列表

total

整数

用户可用的容器总数

下一个

字符串

一个 HATEOAS URL,用于根据偏移量和限制参数检索下一组容器。只有在容器总数大于偏移量和限制参数之和时,此属性才可用。

previous

字符串

一个 HATEOAS URL,用于根据偏移量和限制参数检索前一组容器。只有在请求偏移量大于 0 时,此属性才可用。

请求:

GET /v1/containers
Headers:
    X-Auth-Token: <token>

响应:

{
    "containers": [
        {
            "consumers": [],
            "container_ref": "https://{barbican_host}/v1/containers/{uuid}",
            "created": "2015-03-26T21:10:45.417835",
            "name": "container name",
            "secret_refs": [
                {
                    "name": "private_key",
                    "secret_ref": "https://{barbican_host}/v1/secrets/{uuid}"
                }
            ],
            "status": "ACTIVE",
            "type": "generic",
            "updated": "2015-03-26T21:10:45.417835"
        }
    ],
    "total": 1
}

HTTP 状态码

代码

描述

200

成功请求

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

GET /v1/containers/{uuid}

检索单个容器。

响应属性

名称

类型

描述

name

字符串

(可选) 容器的人性化可读名称

type

字符串

容器类型。选项:generic(通用)、rsa、certificate(证书)

secret_refs

列表

包含对密钥的引用的字典列表

请求:

GET /v1/containers/{uuid}
Headers:
    X-Auth-Token: <token>

响应:

{
    "type": "generic",
    "status": "ACTIVE",
    "name": "container name",
    "consumers": [],
    "container_ref": "https://{barbican_host}/v1/containers/{uuid}",
    "secret_refs": [
        {
            "name": "private_key",
            "secret_ref": "https://{barbican_host}/v1/secrets/{uuid}"
        }
    ],
    "created": "2015-03-26T21:10:45.417835",
    "updated": "2015-03-26T21:10:45.417835"
}

HTTP 状态码

代码

描述

200

成功请求

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

404

容器未找到或不可用

POST /v1/containers

创建容器

可以创建三种不同类型的容器:generic(通用)、rsa 和 certificate(证书)。

通用

这种类型的容器可以容纳任意数量的密钥引用。每个密钥引用都伴随着一个名称。与其他容器类型不同,对 contents name 属性没有特定的限制。

RSA

这种类型的容器旨在容纳仅三个不同密钥的引用。这些密钥由其附带的名称强制执行:public_key(公钥)、private_key(私钥)和 private_key_passphrase(私钥密码短语)。

证书

这种类型的容器旨在容纳对证书的引用,以及可选的 private_key(私钥)、private_key_passphrase(私钥密码短语)和 intermediates(中间证书)。

请求属性

名称

类型

描述

name

字符串

(可选) 用于标识容器的人性化可读名称

type

字符串

容器类型。选项:generic(通用)、rsa、certificate(证书)

secret_refs

列表

包含对密钥的引用的字典列表

请求:

POST /v1/containers
Headers:
    X-Auth-Token: <token>

Content:
{
    "type": "generic",
    "name": "container name",
    "secret_refs": [
        {
            "name": "private_key",
            "secret_ref": "https://{barbican_host}/v1/secrets/{secret_uuid}"
        }
    ]
}

响应:

{
    "container_ref": "https://{barbican_host}/v1/containers/{container_uuid}"
}

HTTP 状态码

代码

描述

201

成功创建容器

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

403

禁止。用户已通过身份验证,但无权创建容器。这可能基于用户的角色或项目的配额。

DELETE /v1/containers/{uuid}

删除容器

请求:

DELETE /v1/containers/{container_uuid}
Headers:
    X-Auth-Token: <token>

响应:

204 No Content

HTTP 状态码

代码

描述

204

成功删除容器

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

404

容器未找到或不可用

POST /v1/containers/{container_uuid}/secrets

将密钥添加到现有容器。仅支持通用容器。

请求属性

名称

类型

描述

name

字符串

(可选) 用于在容器中标识密钥的人性化可读名称。

secret_ref

uri

(必需) 对现有密钥的完整 URI 引用。

请求:

POST /v1/containers/{container_uuid}/secrets
Headers:
    X-Project-Id: {project_id}

Content:
{
    "name": "private_key",
    "secret_ref": "https://{barbican_host}/v1/secrets/{secret_uuid}"
}

响应:

{
    "container_ref": "https://{barbican_host}/v1/containers/{container_uuid}"
}

请注意,请求的“container_uuid”与响应中提供的“container_uuid”相同。

HTTP 状态码

通常,由容器 POST 调用产生的错误代码也适用于此处,尤其是在可以提供的密钥引用方面。

代码

描述

201

成功更新容器

400

缺少 secret_ref

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

403

禁止。用户已通过身份验证,但无权将密钥添加到指定的容器。这可能基于用户的角色或项目的配额。

DELETE /v1/containers/{container_uuid}/secrets

从容器中删除密钥。仅支持通用容器。

请求属性

名称

类型

描述

name

字符串

(可选) 用于在容器中标识密钥的人性化可读名称。

secret_ref

uri

(必需) 对现有密钥的完整 URI 引用。

请求:

DELETE /v1/containers/{container_uuid}/secrets
Headers:
    X-Project-Id: {project_id}

Content:
{
    "name": "private key",
    "secret_ref": "https://{barbican_host}/v1/secrets/{secret_uuid}"
}

响应:

204 No Content

HTTP 状态码

代码

描述

204

成功从容器中删除密钥。

400

缺少 secret_ref

401

无效的 X-Auth-Token 或令牌没有访问此资源的权限

403

禁止。用户已通过身份验证,但无权从指定的容器中删除密钥。这可能基于用户的角色或项目的配额。

404

指定的 secret_ref 在容器中未找到。