创建新角色绑定
POST /accounts/{account_id}/core/v1/roleBindings
指示要创建的 Role Binding API 资源的所需值。
参数
| 名称 | Type | 在 | Required | Description |
|---|---|---|---|---|
account_id |
string |
path |
True |
包含帐户资源的 ID
|
请求正文
指示要创建的 Role Binding API 资源的所需值。
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
用户 ID |
string |
False |
包含用户资源 ID 的 JSON 字符串。定义的值为:
|
groupID |
string |
False |
包含组资源 ID 的 JSON 字符串。定义的值为:
|
accountID |
string |
True |
包含帐户资源 ID 的 JSON 字符串。对于创建,这必须与请求 URI 中的帐户 ID 匹配。定义的值为:
|
角色 |
string |
True |
包含四个定义角色之一的 JSON 字符串。定义的值为:
|
roleConstraints |
数组[string] |
False |
指定角色分配范围的 JSON 字符串的 JSON 数组。定义的值为:
* + = 拒绝访问所有资源:"roleConstraints":[] * + = 仅允许访问特定命名空间资源:"roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = 允许访问特定命名空间及其下的所有内容:"roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*"] * + = 允许访问任何云中任何集群中标记为 "dev" 的所有命名空间及其下的所有内容:"roleConstraints":[ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = 仅允许访问所有命名空间资源:"roleConstraints":[ "namespaces:*" ] * + = 允许访问所有命名空间资源及其下的所有资源:"roleConstraints":[ "namespaces:." ] |
元数据 |
False |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
请求示例
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
响应
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
资源的媒体类型。定义的值为:
|
version |
string |
True |
资源的版本。定义的值为:
|
id |
string |
True |
资源的全局唯一标识符。定义的值为:
|
principalType |
string |
True |
表示此绑定关联的主体类型的 JSON 字符串。定义的值为:
|
用户 ID |
string |
True |
包含用户资源 ID 的 JSON 字符串。定义的值为:
|
groupID |
string |
True |
包含组资源 ID 的 JSON 字符串。定义的值为:
|
accountID |
string |
True |
包含帐户资源 ID 的 JSON 字符串。对于创建,这必须与请求 URI 中的帐户 ID 匹配。定义的值为:
|
角色 |
string |
True |
包含四个定义角色之一的 JSON 字符串。定义的值为:
|
roleConstraints |
数组[string] |
False |
指定角色分配范围的 JSON 字符串的 JSON 数组。定义的值为:
* + = 拒绝访问所有资源:"roleConstraints":[] * + = 仅允许访问特定命名空间资源:"roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = 允许访问特定命名空间及其下的所有内容:"roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*"] * + = 允许访问任何云中任何集群中标记为 "dev" 的所有命名空间及其下的所有内容:"roleConstraints":[ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = 仅允许访问所有命名空间资源:"roleConstraints":[ "namespaces:*" ] * + = 允许访问所有命名空间资源及其下的所有资源:"roleConstraints":[ "namespaces:." ] |
元数据 |
True |
与资源关联的客户端和服务指定的元数据。定义的值为:
|
响应示例
{
"type": "application/astra-roleBinding",
"version": "1.1",
"id": "a198f052-5cd7-59d3-9f27-9ea32a21fbca",
"principalType": "user",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"groupID": "00000000-0000-0000-0000-000000000000",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
],
"metadata": {
"labels": [],
"creationTimestamp": "2022-10-06T20:58:16.305662Z",
"modificationTimestamp": "2022-10-06T20:58:16.305662Z",
"createdBy": "8f84cf09-8036-51e4-b579-bd30cb07b269"
}
}
响应
Status: 401, Unauthorized
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
响应
Status: 400, Bad request
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
数组["invalidFields"] |
False |
无效请求正文字段列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
响应
Status: 409, Conflict
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
|
invalidFields |
数组["invalidFields"] |
False |
无效请求正文字段列表 |
响应示例
{
"type": "https://astra.netapp.io/problems/10",
"title": "JSON resource conflict",
"detail": "The request body JSON contains a field that conflicts with an idempotent value.",
"status": "409"
}
响应
Status: 403, Forbidden
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
响应示例
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
错误
Status: 404, Not found
| 名称 | Type | Required | Description |
|---|---|---|---|
type |
string |
True |
|
标题 |
string |
True |
|
详细信息 |
string |
True |
|
状态 |
string |
True |
|
correlationID |
string |
False |
错误响应示例
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
定义
查看定义
类型 Astra 标签
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
|
value |
string |
True |
type_astra_metadata_update
与资源关联的客户端和服务指定的元数据。定义的值为:
-
符合 Astra 元数据架构如果在创建时未指定,则将创建没有标签的元数据对象。如果在更新时未指定,则元数据对象的标签、creationTimestamp 和 createdBy 将保留而不进行修改。
| 名称 | Type | Required | Description |
|---|---|---|---|
labels |
数组["类型 Astra 标签"] |
False |
|
creationTimestamp |
string |
False |
|
modificationTimestamp |
string |
False |
|
已创建 |
string |
False |
|
modifiedBy |
string |
False |
invalidParams
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效查询参数的名称 |
原因 |
string |
True |
查询参数无效的原因 |
invalidFields
| 名称 | Type | Required | Description |
|---|---|---|---|
name |
string |
True |
无效请求正文字段的名称 |
原因 |
string |
True |
请求正文字段无效的原因 |