Limita l'accesso alle operazioni sul volume delle SVM utilizzando l'API REST ONTAP
Puoi definire un ruolo per limitare l'amministrazione del volume storage all'interno di una SVM.
Viene dapprima creato un ruolo tradizionale per consentire inizialmente l'accesso a tutte le principali funzioni di amministrazione dei volumi, ad eccezione del cloning. Il ruolo viene definito con le seguenti caratteristiche:
-
È in grado di eseguire tutte le operazioni dei volumi CRUD, tra cui Get, create, Modify ed Delete
-
Impossibile creare un clone del volume
È quindi possibile aggiornare il ruolo in base alle esigenze. In questo flusso di lavoro, il ruolo viene modificato nel secondo passaggio per consentire all'utente di creare un clone del volume.
Fase 1: Creare il ruolo
Puoi emettere una chiamata API per creare il ruolo RBAC.
Questa chiamata API REST utilizza il metodo e l'endpoint seguenti.
Metodo HTTP | Percorso |
---|---|
POST |
/api/security/ruoli |
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" }
]
}
Passaggio 2: Aggiornare il ruolo
È possibile eseguire una chiamata API per aggiornare il ruolo esistente.
Questa chiamata API REST utilizza il metodo e l'endpoint seguenti.
Metodo HTTP | Percorso |
---|---|
POST |
/api/security/ruoli |
Oltre ai parametri comuni a tutte le chiamate REST API, nell'esempio curl in questo passo vengono utilizzati anche i seguenti parametri.
Parametro | Tipo | Obbligatorio | Descrizione |
---|---|---|---|
$SVM_ID |
Percorso |
Sì |
UUID della SVM che contiene la definizione del ruolo. |
$NOME_RUOLO |
Percorso |
Sì |
Nome del ruolo all'interno della SVM da aggiornare. |
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"
}