Crea un nuovo vincolo di ruolo per un gruppo
POST /accounts/{account_id}/core/v1/groups/{group_id}/roleBindings
Indica i valori desiderati per la risorsa API Role Binding da creare.
Parametri
| Nome | Tipo | In | Obbligatorio | Descrizione |
|---|---|---|---|---|
ID account |
stringa |
percorso |
Vero |
ID della risorsa account contenitore
|
ID gruppo |
stringa |
percorso |
Vero |
ID della risorsa del gruppo contenitore |
Corpo della richiesta
Indica i valori desiderati per la risorsa API Role Binding da creare.
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
Tipo di media della risorsa. I valori definiti sono:
|
versione |
stringa |
Vero |
Versione della risorsa. I valori definiti sono:
|
ID utente |
stringa |
Falso |
Stringa JSON contenente un ID risorsa utente. I valori definiti sono:
|
ID gruppo |
stringa |
Falso |
Stringa JSON contenente un ID risorsa di gruppo. I valori definiti sono:
|
ID account |
stringa |
Vero |
Stringa JSON contenente l'ID di una risorsa account. Per la creazione, questo deve corrispondere all'ID dell'account nell'URI della richiesta. I valori definiti sono:
|
ruolo |
stringa |
Vero |
Stringa JSON contenente uno dei quattro ruoli definiti. I valori definiti sono:
|
roleConstraints |
array[string] |
Falso |
Array JSON di stringhe JSON che specificano l'ambito dell'assegnazione del ruolo. I valori definiti sono:
* + = nega l'accesso a tutte le risorse: "roleConstraints": [] * + = Consenti l'accesso solo a una risorsa namespace specifica: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Consenti l'accesso a uno specifico namespace e a tutto ciò che contiene: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Consenti l'accesso a tutti i namespace etichettati "dev" in qualsiasi cluster in qualsiasi cloud e a tutto ciò che si trova al loro interno: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Consenti l'accesso solo a tutte le risorse dello spazio dei nomi: "roleConstraints": [ "namespaces:*" ] * + = Consenti l'accesso a tutte le risorse dello spazio dei nomi e a tutto ciò che si trova al loro interno: ""roleConstraints": [ "namespaces:." ] |
metadati |
Falso |
Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:
|
Esempio di richiesta
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "00000000-0000-0000-0000-000000000000",
"groupID": "6f7f5bb3-1320-4861-bd8a-d3a4106d36b1",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
Risposta
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
Tipo di media della risorsa. I valori definiti sono:
|
versione |
stringa |
Vero |
Versione della risorsa. I valori definiti sono:
|
id |
stringa |
Vero |
Identificatore univoco globale della risorsa. I valori definiti sono:
|
principalType |
stringa |
Vero |
Stringa JSON che rappresenta il tipo di entità principale a cui è associato questo binding. I valori definiti sono:
|
ID utente |
stringa |
Vero |
Stringa JSON contenente un ID risorsa utente. I valori definiti sono:
|
ID gruppo |
stringa |
Vero |
Stringa JSON contenente un ID risorsa di gruppo. I valori definiti sono:
|
ID account |
stringa |
Vero |
Stringa JSON contenente l'ID di una risorsa account. Per la creazione, questo deve corrispondere all'ID dell'account nell'URI della richiesta. I valori definiti sono:
|
ruolo |
stringa |
Vero |
Stringa JSON contenente uno dei quattro ruoli definiti. I valori definiti sono:
|
roleConstraints |
array[string] |
Falso |
Array JSON di stringhe JSON che specificano l'ambito dell'assegnazione del ruolo. I valori definiti sono:
* + = nega l'accesso a tutte le risorse: "roleConstraints": [] * + = Consenti l'accesso solo a una risorsa namespace specifica: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Consenti l'accesso a uno specifico namespace e a tutto ciò che contiene: "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Consenti l'accesso a tutti i namespace etichettati "dev" in qualsiasi cluster in qualsiasi cloud e a tutto ciò che si trova al loro interno: "roleConstraints": [ "namespaces:kubernetesLabels='dev.example.com/appname=dev'.*" ] * + = Consenti l'accesso solo a tutte le risorse dello spazio dei nomi: "roleConstraints": [ "namespaces:*" ] * + = Consenti l'accesso a tutte le risorse dello spazio dei nomi e a tutto ciò che si trova al loro interno: ""roleConstraints": [ "namespaces:." ] |
metadati |
Vero |
Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:
|
Risposta tipo
{
"type": "application/astra-roleBinding",
"version": "1.1",
"id": "a198f052-5cd7-59d3-9f27-9ea32a21fbca",
"principalType": "group",
"userID": "00000000-0000-0000-0000-000000000000",
"groupID": "6f7f5bb3-1320-4861-bd8a-d3a4106d36b1",
"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"
}
}
Risposta
Status: 401, Unauthorized
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Risposta
Status: 400, Bad request
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
|
invalidFields |
vettore["invalidFields"] |
Falso |
Elenco dei campi non validi del corpo della richiesta |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Risposta
Status: 409, Conflict
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
|
invalidFields |
vettore["invalidFields"] |
Falso |
Elenco dei campi non validi del corpo della richiesta |
Risposta tipo
{
"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"
}
Risposta
Status: 403, Forbidden
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Risposta tipo
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Errore
Status: 404, Not found
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
tipo |
stringa |
Vero |
|
titolo |
stringa |
Vero |
|
dettaglio |
stringa |
Vero |
|
stato |
stringa |
Vero |
|
ID correlazione |
stringa |
Falso |
Esempio di risposta di errore
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Definizioni
Vedi definizioni
etichetta tipo_astra
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
nome |
stringa |
Vero |
|
valore |
stringa |
Vero |
aggiornamento dei metadati di tipo Astra
Metadati specificati dal client e dal servizio associati alla risorsa. I valori definiti sono:
-
Conforme allo schema dei metadati di Astra. Se non specificato in fase di creazione, verrà creato un oggetto metadati senza etichette. Se non specificato in fase di aggiornamento, le etichette dell'oggetto metadati, creationTimestamp e createdBy, verranno conservate senza modifiche.
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
etichette |
vettore["etichetta tipo_astra"] |
Falso |
|
CreationTimestamp |
stringa |
Falso |
|
ModificationTimestamp |
stringa |
Falso |
|
CreatedBy |
stringa |
Falso |
|
modifiedBy |
stringa |
Falso |
invalidParams
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
nome |
stringa |
Vero |
Nome del parametro di query non valido |
motivo |
stringa |
Vero |
Motivo per cui il parametro di query non è valido |
invalidFields
| Nome | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
nome |
stringa |
Vero |
Nome del campo del corpo della richiesta non valido |
motivo |
stringa |
Vero |
Motivo per cui il campo del corpo della richiesta non è valido |