Limitez l'accès aux opérations du volume du SVM à l'aide de l'API REST ONTAP
Vous pouvez définir un rôle de restriction de l'administration des volumes de stockage au sein d'une SVM.
Un rôle traditionnel est d'abord créé pour autoriser initialement l'accès à toutes les principales fonctions d'administration des volumes, à l'exception du clonage. Le rôle est défini avec les caractéristiques suivantes :
-
Possibilité d'effectuer toutes les opérations de volume CRUD, y compris obtenir, créer, modifier et supprimer
-
Impossible de créer un clone de volume
Vous pouvez ensuite, si nécessaire, mettre à jour le rôle. Dans ce workflow, le rôle est modifié dans la deuxième étape pour permettre à l'utilisateur de créer un clone de volume.
Étape 1 : créer le rôle
Vous pouvez émettre un appel d'API pour créer le rôle RBAC.
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
Méthode HTTP | Chemin |
---|---|
POST |
/api/sécurité/rôles |
curl --request POST \
--location "https://$FQDN_IP/api/security/roles" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
"name": "role1",
"owner": {
"name": "cluster-1",
"uuid": "852d96be-f17c-11ec-9d19-005056bbad91"
},
"privileges": [
{ "path": "volume create", "access": "all" },
{ "path": "volume delete", "access": "all" }
]
}
Étape 2 : mettez à jour le rôle
Vous pouvez émettre un appel API pour mettre à jour le rôle existant.
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
Méthode HTTP | Chemin |
---|---|
POST |
/api/sécurité/rôles |
Outre les paramètres communs à tous les appels API REST, les paramètres suivants sont également utilisés dans l'exemple curl de cette étape.
Paramètre | Type | Obligatoire | Description |
---|---|---|---|
$SVM_ID |
Chemin |
Oui. |
Il s'agit de l'UUID du SVM qui contient la définition du rôle. |
$NOM_RÔLE |
Chemin |
Oui. |
Voici le nom du rôle au sein de la SVM à mettre à jour. |
curl --request POST \
--location "https://$FQDN_IP/api/security/roles/$SVM_ID/$ROLE_NAME/priveleges" \
--include \
--header "Accept: */*" \
--header "Authorization: Basic $BASIC_AUTH" \
--data @JSONinput
{
"path": "volume clone",
"access": "all"
}