Skip to main content
Astra Automation
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

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

  • ejemplo: {{.Account}}

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:

  • "application/astra-roleBinding"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "1,0"

  • "1,1"

userID

cadena

Falso

Cadena JSON que contiene un ID de recurso de usuario. Los valores definidos son:

  • Cumple con el esquema de identificador de Astra. Si no se especifica en la creación, se utilizará un UUID nulo. En la creación solo se puede especificar userID o groupID.

groupID

cadena

Falso

Cadena JSON que contiene un ID de recurso de grupo. Los valores definidos son:

  • Cumple con el esquema de identificador de Astra. Si no se especifica en la creación, se utilizará un UUID nulo. En la creación solo se puede especificar userID o groupID.

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:

  • Cumple con el esquema del identificador Astra

papel

cadena

Verdadero

Cadena JSON que contiene uno de los cuatro roles definidos. Los valores definidos son:

  • "espectador"

  • "miembro"

  • "admin"

  • "propietario"

roleConstraints

array[string]

Falso

Matriz JSON de cadenas JSON que especifica el ámbito de la asignación de funciones. Los valores definidos son:

  • Conforme a Astra Role Constraints Schema si no se especifica al crear, el valor se establecerá en una matriz de tamaño 1 que contenga la cadena "*", que representa "ámbito completo". Si no se especifica al actualizar, el valor se conservará sin modificación. Una matriz vacía representa "sin ámbito". Ejemplos: *

    = Permitir el acceso a cualquier recurso: "roleConstraints": ["*"]

*

+ = 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

"type_astra_metadatos_update"

Falso

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.

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:

  • "application/astra-roleBinding"

versión

cadena

Verdadero

Versión del recurso. Los valores definidos son:

  • "1,0"

  • "1,1"

id

cadena

Verdadero

Identificador único global del recurso. Los valores definidos son:

  • Cumple con el esquema UUIDv4

principalType

cadena

Verdadero

Cadena JSON que representa el tipo de entidad principal a la que está asociada esta vinculación. Los valores definidos son:

  • "usuario"

  • "group" para principalType "user", se requiere un ID de usuario no nulo. Para principalType "group", se requiere un ID de grupo no nulo.

userID

cadena

Verdadero

Cadena JSON que contiene un ID de recurso de usuario. Los valores definidos son:

  • Cumple con el esquema de identificador de Astra. Si no se especifica en la creación, se utilizará un UUID nulo. En la creación solo se puede especificar userID o groupID.

groupID

cadena

Verdadero

Cadena JSON que contiene un ID de recurso de grupo. Los valores definidos son:

  • Cumple con el esquema de identificador de Astra. Si no se especifica en la creación, se utilizará un UUID nulo. En la creación solo se puede especificar userID o groupID.

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:

  • Cumple con el esquema del identificador Astra

papel

cadena

Verdadero

Cadena JSON que contiene uno de los cuatro roles definidos. Los valores definidos son:

  • "espectador"

  • "miembro"

  • "admin"

  • "propietario"

roleConstraints

array[string]

Falso

Matriz JSON de cadenas JSON que especifica el ámbito de la asignación de funciones. Los valores definidos son:

  • Conforme a Astra Role Constraints Schema si no se especifica al crear, el valor se establecerá en una matriz de tamaño 1 que contenga la cadena "*", que representa "ámbito completo". Si no se especifica al actualizar, el valor se conservará sin modificación. Una matriz vacía representa "sin ámbito". Ejemplos: *

    = Permitir el acceso a cualquier recurso: "roleConstraints": ["*"]

*

+ = 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

"type_astra_metadatos_update"

Verdadero

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.

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