Skip to main content
Astra Automation
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

为组中的用户创建新角色绑定

POST /accounts/{account_id}/core/v1/groups/{group_id}/users/{user_id}/roleBindings

指示要创建的 Role Binding API 资源的所需值。

参数

名称 Type Required Description

account_id

string

path

True

包含帐户资源的 ID

  • 示例:{{.Account}}

group_id

string

path

True

包含的组资源的 ID

用户 ID

string

path

True

包含用户资源的 ID

请求正文

指示要创建的 Role Binding API 资源的所需值。

名称 Type Required Description

type

string

True

资源的媒体类型。定义的值为:

  • "application/astra-roleBinding"

version

string

True

资源的版本。定义的值为:

  • "1.0"

  • "1.1"

用户 ID

string

False

包含用户资源 ID 的 JSON 字符串。定义的值为:

  • 符合 Astra 标识符架构如果在创建时未指定,则将使用 nil UUID。只能指定 userID 或 groupID。

groupID

string

False

包含组资源 ID 的 JSON 字符串。定义的值为:

  • 符合 Astra 标识符架构如果在创建时未指定,则将使用 nil UUID。只能指定 userID 或 groupID。

accountID

string

True

包含帐户资源 ID 的 JSON 字符串。对于创建,这必须与请求 URI 中的帐户 ID 匹配。定义的值为:

  • 符合 Astra 标识符架构

角色

string

True

包含四个定义角色之一的 JSON 字符串。定义的值为:

  • "查看器"

  • "成员"

  • "admin"

  • “所有者”

roleConstraints

数组[string]

False

指定角色分配范围的 JSON 字符串的 JSON 数组。定义的值为:

  • 符合 Astra 角色约束架构如果在创建时未指定,则该值将设置为大小为 1 的数组,包含字符串 "*",表示 "全范围"。如果在更新时未指定,则会保留该值,不进行任何修改。空数组表示 "无作用域"。示例: *

    = 允许访问任何资源:"roleConstraints":["*"]

*

+ = 拒绝访问所有资源:"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:." ]

元数据

"type_astra_metadata_update"

False

与资源关联的客户端和服务指定的元数据。定义的值为:

  • 符合 Astra 元数据架构如果在创建时未指定,则将创建没有标签的元数据对象。如果在更新时未指定,则元数据对象的标签、creationTimestamp 和 createdBy 将保留而不进行修改。

请求示例
{
  "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

资源的媒体类型。定义的值为:

  • "application/astra-roleBinding"

version

string

True

资源的版本。定义的值为:

  • "1.0"

  • "1.1"

id

string

True

资源的全局唯一标识符。定义的值为:

  • 符合 UUIDv4 架构

principalType

string

True

表示此绑定关联的主体类型的 JSON 字符串。定义的值为:

  • "用户"

  • "group" 对于 principalType "user",需要非零用户 ID。对于 principalType "group",需要非零组 ID。

用户 ID

string

True

包含用户资源 ID 的 JSON 字符串。定义的值为:

  • 符合 Astra 标识符架构如果在创建时未指定,则将使用 nil UUID。只能指定 userID 或 groupID。

groupID

string

True

包含组资源 ID 的 JSON 字符串。定义的值为:

  • 符合 Astra 标识符架构如果在创建时未指定,则将使用 nil UUID。只能指定 userID 或 groupID。

accountID

string

True

包含帐户资源 ID 的 JSON 字符串。对于创建,这必须与请求 URI 中的帐户 ID 匹配。定义的值为:

  • 符合 Astra 标识符架构

角色

string

True

包含四个定义角色之一的 JSON 字符串。定义的值为:

  • "查看器"

  • "成员"

  • "admin"

  • “所有者”

roleConstraints

数组[string]

False

指定角色分配范围的 JSON 字符串的 JSON 数组。定义的值为:

  • 符合 Astra 角色约束架构如果在创建时未指定,则该值将设置为大小为 1 的数组,包含字符串 "*",表示 "全范围"。如果在更新时未指定,则会保留该值,不进行任何修改。空数组表示 "无作用域"。示例: *

    = 允许访问任何资源:"roleConstraints":["*"]

*

+ = 拒绝访问所有资源:"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:." ]

元数据

"type_astra_metadata_update"

True

与资源关联的客户端和服务指定的元数据。定义的值为:

  • 符合 Astra 元数据架构如果在创建时未指定,则将创建没有标签的元数据对象。如果在更新时未指定,则元数据对象的标签、creationTimestamp 和 createdBy 将保留而不进行修改。

响应示例
{
  "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

请求正文字段无效的原因

Close
Try it out

Sign in with your NetApp Cloud Central credentials.

Try this API

Parameters

Headers

Body

Code

Response