身份认证 API v2.0 扩展 (已弃用)

OS-KSEC2 管理扩展

支持 Amazon Elastic Compute (EC2) 风格的认证。

POST
/v2.0/ec2tokens

EC2 认证

用于获取令牌的认证。

请求

示例
{
    "credentials": {
        "access": "8cff51dc66594df4a2ae121f796df36c",
        "host": "localhost",
        "params": {
            "Action": "Test",
            "SignatureMethod": "HmacSHA256",
            "SignatureVersion": "2",
            "Timestamp": "2007-01-31T23:59:59Z"
        },
        "path": "/",
        "secret": "df8daeaa981b40cea1217fead123bc64",
        "signature": "Fra2UBKKtqy3GQ0mj+JqzR8GTGsbWQW+yN5Nih9ThfI=",
        "verb": "GET"
    }
}
参数

响应

状态码
成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

示例
{
     "access": {
         "metadata": {
             "is_admin": 0,
             "roles": ["9fe2ff9ee4384b1894a90878d3e92bab"]
         },
         "serviceCatalog": [],
         "token": {
             "audit_ids": ["AVUi_tN8SFWnHYaYpCcMEQ"],
             "expires": "2018-02-02T21:13:19.000000Z",
             "id": "gAAAAABadMZfZa_PZNOSi5iQoqPZ1b-VIo2Gnlf4Z_oJotw8qTh1Yv8_CFysOnoxRIrfFI-EcrErdJM2CrP7o6aDNR5AbfnFtSN_zgzzesEWaOaQkoLpk9X1lLada2KcQpWAeNafjNYSiP7JFjW6N4ngAm9U7egUW6MwUPPxi5e8igR5DtNc0FU",
             "issued_at": "2018-02-02T20:13:19.000000Z",
             "tenant": {
                 "description": "description",
                 "enabled": true,
                 "id": "6b85a6ff4e0b4040a81708d6e063e4e7",
                 "name": "BAR",
                 "tags": []
             }
         },
         "user": {
             "id": "b245550742cf4c2fb9cf37aa1eda866e",
             "name": "foo",
             "roles": [
                 {"name": "_member_"}
             ],
             "roles_links": [],
             "username": "foo"
         }
     }
}
POST
/v2.0/users/{userId}/credentials/OS-EC2

授予用户凭证

授予用户一个凭证。

请求

名称

入参

类型

描述

userId

路径

字符串

用户 ID。

示例
{
    "OS-KSEC2-ec2Credentials": {
        "username": "test_user",
        "secret": "secretsecret",
        "signature": "bbb"
    }
}

响应

状态码
成功

代码

原因

201 - 已创建

资源已创建并准备好使用。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

405 - 方法不允许

此端点的请求方法无效。

409 - Conflict

此操作与此资源的另一个操作冲突。

413 - 请求实体过大

请求大小超过服务器愿意或能够处理的限制。

415 - 不支持的媒体类型

请求实体具有服务器或资源不支持的媒体类型。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

GET
/v2.0/users/{userId}/credentials/OS-EC2

列出凭证 (EC2 扩展)

列出凭证。

请求

名称

入参

类型

描述

userId

路径

字符串

用户 ID。

响应

状态码
成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

405 - 方法不允许

此端点的请求方法无效。

413 - 请求实体过大

请求大小超过服务器愿意或能够处理的限制。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

示例
{
    "credentials": [
        {
            "passwordCredentials": {
                "username": "test_user",
                "password": "secretsecret"
            }
        },
        {
            "OS-KSEC2-ec2Credentials": {
                "username": "test_user",
                "secret": "secretsecret",
                "signature": "bbb"
            }
        }
    ],
    "credentials_links": []
}
DELETE
/v2.0/users/{userId}/credentials/OS-EC2/{credentialId}

删除用户凭证

删除用户凭证。

请求

名称

入参

类型

描述

userId

路径

字符串

用户 ID。

credentialId

路径

字符串

凭证 ID。

响应

状态码
成功

代码

原因

204 - No Content

服务器已完成请求。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

405 - 方法不允许

此端点的请求方法无效。

409 - Conflict

此操作与此资源的另一个操作冲突。

413 - 请求实体过大

请求大小超过服务器愿意或能够处理的限制。

415 - 不支持的媒体类型

请求实体具有服务器或资源不支持的媒体类型。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

GET
/v2.0/users/{userId}/credentials/OS-EC2/{credentialId}

获取用户凭证

获取用户凭证。

请求

名称

入参

类型

描述

userId

路径

字符串

用户 ID。

credentialId

路径

字符串

凭证 ID。

响应

状态码
成功

代码

原因

200 - 正常

请求成功。

错误

代码

原因

400 - 请求错误

请求中的某些内容无效。

401 - 未授权

用户必须在发出请求之前进行身份验证。

403 - 禁止

策略不允许当前用户执行此操作。

404 - Not Found

找不到请求的资源。

405 - 方法不允许

此端点的请求方法无效。

413 - 请求实体过大

请求大小超过服务器愿意或能够处理的限制。

503 - 服务不可用

服务不可用。这通常是由服务配置错误引起的,导致服务无法成功启动。

示例
{
    "OS-KSEC2-ec2Credentials": {
        "username": "test_user",
        "secret": "secretsecret",
        "signature": "bbb"
    }
}