Crear un nuevo vínculo de rol para un usuario
POST /accounts/{account_id}/core/v1/users/{user_id}/roleBindings
Indica los valores deseados para el recurso API de Role Binding que se va a crear.
Parámetros
| Nombre | Tipo | En | Obligatorio | Descripción |
|---|---|---|---|---|
account_id |
cadena |
ruta |
Verdadero |
ID del recurso de cuenta que lo contiene
|
user_id |
cadena |
ruta |
Verdadero |
ID del recurso de usuario contenedor |
Cuerpo de la solicitud
Indica los valores deseados para el recurso API de Role Binding que se va a crear.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
userID |
cadena |
Falso |
Cadena JSON que contiene un ID de recurso de usuario. Los valores definidos son:
|
groupID |
cadena |
Falso |
Cadena JSON que contiene un ID de recurso de grupo. Los valores definidos son:
|
accountID |
cadena |
Verdadero |
Cadena JSON que contiene el ID de un recurso de cuenta. Para crear, esto debe coincidir con el ID de cuenta en el URI de solicitud. Los valores definidos son:
|
papel |
cadena |
Verdadero |
Cadena JSON que contiene uno de los cuatro roles definidos. Los valores definidos son:
|
roleConstraints |
array[string] |
Falso |
Matriz JSON de cadenas JSON que especifica el ámbito de la asignación de funciones. Los valores definidos son:
* + = denegar el acceso a todos los recursos: "roleConstraints": [] * + = Permitir el acceso únicamente a un recurso de espacio de nombres específico: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Permitir el acceso a un espacio de nombres específico y a todo lo que esté bajo él: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Permitir el acceso a todos los espacios de nombres etiquetados como "dev" en cualquier clúster en cualquier nube, y todo lo que está bajo ellos: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Permitir el acceso solo a todos los recursos de namespace: "roleConstraints": [ "namespaces:*" ] * + = Permitir el acceso a todos los recursos de espacios de nombres y a todo lo que esté bajo ellos: "roleConstraints": [ "namespaces:." ] |
metadatos |
Falso |
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
|
Ejemplo de solicitud
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
Respuesta
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
Tipo de medio del recurso. Los valores definidos son:
|
versión |
cadena |
Verdadero |
Versión del recurso. Los valores definidos son:
|
id |
cadena |
Verdadero |
Identificador único global del recurso. Los valores definidos son:
|
principalType |
cadena |
Verdadero |
Cadena JSON que representa el tipo de entidad principal a la que está asociada esta vinculación. Los valores definidos son:
|
userID |
cadena |
Verdadero |
Cadena JSON que contiene un ID de recurso de usuario. Los valores definidos son:
|
groupID |
cadena |
Verdadero |
Cadena JSON que contiene un ID de recurso de grupo. Los valores definidos son:
|
accountID |
cadena |
Verdadero |
Cadena JSON que contiene el ID de un recurso de cuenta. Para crear, esto debe coincidir con el ID de cuenta en el URI de solicitud. Los valores definidos son:
|
papel |
cadena |
Verdadero |
Cadena JSON que contiene uno de los cuatro roles definidos. Los valores definidos son:
|
roleConstraints |
array[string] |
Falso |
Matriz JSON de cadenas JSON que especifica el ámbito de la asignación de funciones. Los valores definidos son:
* + = denegar el acceso a todos los recursos: "roleConstraints": [] * + = Permitir el acceso únicamente a un recurso de espacio de nombres específico: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Permitir el acceso a un espacio de nombres específico y a todo lo que esté bajo él: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Permitir el acceso a todos los espacios de nombres etiquetados como "dev" en cualquier clúster en cualquier nube, y todo lo que está bajo ellos: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Permitir el acceso solo a todos los recursos de namespace: "roleConstraints": [ "namespaces:*" ] * + = Permitir el acceso a todos los recursos de espacios de nombres y a todo lo que esté bajo ellos: "roleConstraints": [ "namespaces:." ] |
metadatos |
Verdadero |
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
|
Ejemplo de respuesta
{
"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"
}
}
Respuesta
Status: 401, Unauthorized
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Respuesta
Status: 400, Bad request
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos del cuerpo de la solicitud no válidos |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Respuesta
Status: 409, Conflict
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
|
invalidFields |
array["invalidFields"] |
Falso |
Lista de campos del cuerpo de la solicitud no válidos |
Ejemplo de respuesta
{
"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"
}
Respuesta
Status: 403, Forbidden
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Error
Status: 404, Not found
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
tipo |
cadena |
Verdadero |
|
título |
cadena |
Verdadero |
|
detalle |
cadena |
Verdadero |
|
estado |
cadena |
Verdadero |
|
correlationID |
cadena |
Falso |
Ejemplo de respuesta de error
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definiciones
Ver definiciones
etiqueta_tipo_astra
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
|
valor |
cadena |
Verdadero |
type_astra_metadatos_update
Metadatos especificados por el cliente y el servicio asociados con el recurso. Los valores definidos son:
-
Conforme al esquema de metadatos de Astra. Si no se especifica al crear, se creará un objeto de metadatos sin etiquetas. Si no se especifica al actualizar, las etiquetas del objeto de metadatos, creationTimestamp y createdBy, se conservarán sin modificaciones.
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
etiquetas |
array["etiqueta_tipo_astra"] |
Falso |
|
CreationTimestamp |
cadena |
Falso |
|
Modificación.Marca de hora |
cadena |
Falso |
|
CreatedBy |
cadena |
Falso |
|
modifiedBy |
cadena |
Falso |
invalidParams
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del parámetro de consulta no válido |
motivo |
cadena |
Verdadero |
Razón por la que el parámetro de consulta no es válido |
invalidFields
| Nombre | Tipo | Obligatorio | Descripción |
|---|---|---|---|
nombre |
cadena |
Verdadero |
Nombre del campo no válido del cuerpo de la solicitud |
motivo |
cadena |
Verdadero |
Motivo por el que el campo del cuerpo de la solicitud no es válido |