Créer une nouvelle liaison de rôle pour un utilisateur dans un groupe
POST /accounts/{account_id}/core/v1/groups/{group_id}/users/{user_id}/roleBindings
Indique les valeurs souhaitées pour la ressource d'API de Role Binding à créer.
Paramètres
| Nom | Type | Dans | Obligatoire | Description |
|---|---|---|---|---|
identifiant_compte |
chaîne |
chemin |
Vrai |
ID de la ressource de compte conteneur
|
group_id |
chaîne |
chemin |
Vrai |
ID de la ressource de groupe conteneur |
ID de l'utilisateur |
chaîne |
chemin |
Vrai |
ID de la ressource utilisateur contenant |
Corps de la requête
Indique les valeurs souhaitées pour la ressource d'API de Role Binding à créer.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
Type de média de la ressource. Les valeurs définies sont :
|
version |
chaîne |
Vrai |
Version de la ressource. Les valeurs définies sont :
|
ID de l'utilisateur |
chaîne |
Faux |
Chaîne JSON contenant un identifiant de ressource utilisateur. Les valeurs définies sont :
|
groupID |
chaîne |
Faux |
Chaîne JSON contenant l'identifiant d'une ressource de groupe. Les valeurs définies sont :
|
identifiant de compte |
chaîne |
Vrai |
Chaîne JSON contenant l'identifiant d'une ressource de compte. Pour la création, cet identifiant doit correspondre à celui du compte dans l'URI de la requête. Les valeurs définies sont :
|
rôle |
chaîne |
Vrai |
Chaîne JSON contenant l'un des quatre rôles définis. Les valeurs définies sont :
|
roleConstraints |
tableau[chaîne] |
Faux |
Tableau JSON de chaînes JSON spécifiant la portée de l'attribution du rôle. Les valeurs définies sont :
* + = refuser l'accès à toutes les ressources : "roleConstraints": [] * + = Autoriser l'accès à une ressource d'espace de noms spécifique uniquement : "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Autoriser l'accès à un espace de noms spécifique et à tout ce qui s'y trouve : "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Autoriser l'accès à tous les espaces de noms étiquetés « dev » dans n'importe quel cluster, dans n'importe quel cloud, et à tout ce qui s'y trouve : «roleConstraints» : [ « namespaces:kubernetesLabels='dev.example.com/appname=dev'.* » ] * + = Autoriser l'accès à toutes les ressources d'espace de noms uniquement : "roleConstraints": [ "namespaces:*" ] * + = Autoriser l'accès à toutes les ressources d'espace de noms et à tout ce qui s'y trouve : "roleConstraints": [ "namespaces:." ] |
les métadonnées |
Faux |
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
|
Exemple de requête
{
"type": "application/astra-roleBinding",
"version": "1.1",
"userID": "4c27d25a-9edb-4e85-9438-48dc8e917231",
"accountID": "9fd87309-067f-48c9-a331-527796c14cf3",
"role": "viewer",
"roleConstraints": [
"*"
]
}
Réponse
Status: 201, Returns the newly created roleBinding resource in the JSON response body.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
Type de média de la ressource. Les valeurs définies sont :
|
version |
chaîne |
Vrai |
Version de la ressource. Les valeurs définies sont :
|
id |
chaîne |
Vrai |
Identifiant unique global de la ressource. Les valeurs définies sont :
|
principalType |
chaîne |
Vrai |
Chaîne JSON représentant le type du principal auquel cette liaison est associée. Les valeurs définies sont :
|
ID de l'utilisateur |
chaîne |
Vrai |
Chaîne JSON contenant un identifiant de ressource utilisateur. Les valeurs définies sont :
|
groupID |
chaîne |
Vrai |
Chaîne JSON contenant l'identifiant d'une ressource de groupe. Les valeurs définies sont :
|
identifiant de compte |
chaîne |
Vrai |
Chaîne JSON contenant l'identifiant d'une ressource de compte. Pour la création, cet identifiant doit correspondre à celui du compte dans l'URI de la requête. Les valeurs définies sont :
|
rôle |
chaîne |
Vrai |
Chaîne JSON contenant l'un des quatre rôles définis. Les valeurs définies sont :
|
roleConstraints |
tableau[chaîne] |
Faux |
Tableau JSON de chaînes JSON spécifiant la portée de l'attribution du rôle. Les valeurs définies sont :
* + = refuser l'accès à toutes les ressources : "roleConstraints": [] * + = Autoriser l'accès à une ressource d'espace de noms spécifique uniquement : "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'" ] * + = Autoriser l'accès à un espace de noms spécifique et à tout ce qui s'y trouve : "roleConstraints": [ "namespaces:id='6fa2f917-f730-41b8-9c15-17f531843b31'.*" ] * + = Autoriser l'accès à tous les espaces de noms étiquetés « dev » dans n'importe quel cluster, dans n'importe quel cloud, et à tout ce qui s'y trouve : «roleConstraints» : [ « namespaces:kubernetesLabels='dev.example.com/appname=dev'.* » ] * + = Autoriser l'accès à toutes les ressources d'espace de noms uniquement : "roleConstraints": [ "namespaces:*" ] * + = Autoriser l'accès à toutes les ressources d'espace de noms et à tout ce qui s'y trouve : "roleConstraints": [ "namespaces:." ] |
les métadonnées |
Vrai |
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
|
Exemple de réponse
{
"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"
}
}
Réponse
Status: 401, Unauthorized
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/3",
"title": "Missing bearer token",
"detail": "The request is missing the required bearer token.",
"status": "401"
}
Réponse
Status: 400, Bad request
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
|
invalidFields |
tableau["invalidFields"] |
Faux |
Liste des champs invalides du corps de la requête |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/5",
"title": "Invalid query parameters",
"detail": "The supplied query parameters are invalid.",
"status": "400"
}
Réponse
Status: 409, Conflict
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
|
invalidFields |
tableau["invalidFields"] |
Faux |
Liste des champs invalides du corps de la requête |
Exemple de réponse
{
"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"
}
Réponse
Status: 403, Forbidden
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse
{
"type": "https://astra.netapp.io/problems/11",
"title": "Operation not permitted",
"detail": "The requested operation isn't permitted.",
"status": "403"
}
Erreur
Status: 404, Not found
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
type |
chaîne |
Vrai |
|
titre |
chaîne |
Vrai |
|
détail |
chaîne |
Vrai |
|
statut |
chaîne |
Vrai |
|
identifiant de corrélation |
chaîne |
Faux |
Exemple de réponse d'erreur
{
"type": "https://astra.netapp.io/problems/2",
"title": "Collection not found",
"detail": "The collection specified in the request URI wasn't found.",
"status": "404"
}
Définitions
Voir les définitions
type_astra_label
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
nom |
chaîne |
Vrai |
|
valeur |
chaîne |
Vrai |
type_astra_metadata_update
Métadonnées spécifiques au client et au service associées à la ressource. Les valeurs définies sont :
-
Conforme au schéma de métadonnées Astra. Si aucune étiquette n'est spécifiée lors de la création, un objet de métadonnées sera créé sans étiquette. Si aucune étiquette n'est spécifiée lors de la mise à jour, les étiquettes de l'objet de métadonnées, creationTimestamp et createdBy, seront conservées sans modification.
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
étiquettes |
tableau["type_astra_label"] |
Faux |
|
CréationTimestamp |
chaîne |
Faux |
|
ModificationTimestamp |
chaîne |
Faux |
|
CreatedBy |
chaîne |
Faux |
|
modifiedBy |
chaîne |
Faux |
invalidParams
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
nom |
chaîne |
Vrai |
Nom du paramètre de requête invalide |
raison |
chaîne |
Vrai |
Raison pour laquelle le paramètre de requête est invalide |
invalidFields
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
nom |
chaîne |
Vrai |
Nom du champ invalide du corps de la requête |
raison |
chaîne |
Vrai |
Raison pour laquelle le champ du corps de la requête est invalide |