Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Questo argomento spiega come creare ruoli personalizzati e assegnarli agli utenti tramite l'API di gestione. Viene inoltre spiegato come testare le assegnazioni dei ruoli tramite l'API. Per una panoramica per i ruoli, consulta l'articolo Creazione di ruoli personalizzati nell' interfaccia utente.
Informazioni sull'impostazione delle autorizzazioni
Le autorizzazioni dei ruoli vengono impostate sugli URI dell'API di gestione (non sugli URI dell'interfaccia utente di gestione). Ad esempio, se
vuoi impostare le autorizzazioni PUT, GET e/o DELETE sulle entità di sviluppo di app in Edge
organizzazione, devi impostare le autorizzazioni sulla risorsa /developers
, perché
di gestione dell'API per gli sviluppatori
https://api.enterprise.apigee.com/v1/organizations/{org_name}/developers
.
Non è necessario includere la parte dell'organizzazione del percorso quando si definiscono le autorizzazioni, in quanto queste sono limitate a un'organizzazione specifica, come illustrano le chiamate dell'API di gestione in questo argomento.
Puoi anche impostare le autorizzazioni su entità specifiche. Ad esempio:
- Se vuoi impostare le autorizzazioni per un singolo sviluppatore, impostale su
/developers/steve@example.com
- Per un prodotto API specifico, come free-api-product, impostalo
su
/apiproducts/free-api-product
- Per una mappa chiave-valore in un ambiente specifico, devi impostare l'autorizzazione su qualcosa come
/environments/test/keyvaluemaps/fooMap
o/environments/test/keyvaluemaps/*
per tutte le mappe chiave-valore nell'ambiente di test.
Le autorizzazioni che hai impostato utilizzando l'API:
- Consenti agli utenti di un ruolo personalizzato di effettuare chiamate all'API di gestione in base alle loro autorizzazioni. Ad esempio, se un ruolo consente l'accesso di sola lettura a tutti i proxy API, un utente in quel ruolo potrebbe utilizzare l'API List API Proxy, ma non Crea un'API API Proxy.
- Stabilisci cosa possono vedere e fare gli utenti di un ruolo personalizzato nell'interfaccia utente di gestione. Ad esempio, l'accesso in sola lettura ai proxy API disattiva l'accesso ai pulsanti Proxy API e Elimina nella pagina Proxy API.
Per visualizzare le risorse e i percorsi per i quali puoi impostare le autorizzazioni, consulta il riferimento dell'API di gestione per i diversi URL delle risorse.
Consulta l'API Ruoli utente per informazioni di riferimento complete su la gestione dei ruoli.
Sintassi e precedenza
Puoi utilizzare il carattere jolly asterisco (*) per indicare "tutto il successivo" in un'impostazione di autorizzazione. Tuttavia, se imposti le autorizzazioni solo per una risorsa padre (ad esempio in /developers) senza impostando autorizzazioni più specifiche (ad esempio /developers/*), l'autorizzazione si applica a partire da /developers e dopo.
PUT funge anche da POST nelle autorizzazioni.
Puoi combinare autorizzazioni generali con autorizzazioni più granulari sulle risorse. Più le impostazioni sono granulari hanno la precedenza in caso di sovrapposizione delle autorizzazioni. Ad esempio, supponiamo che le seguenti autorizzazioni siano impostate su un ruolo "developeradmin":
- PUT su /developers
- Contattaci su /developers/*
Ciò significa che l'utente developeradmin può:
- Crea uno sviluppatore, ma non aggiorna sviluppatori specifici o entità secondarie (a causa dell'autorizzazione GET più specifica in quel percorso).
- Ottieni qualsiasi sviluppatore o entità secondaria, ma non un elenco di tutti gli sviluppatori.
Consulta Riferimento alle autorizzazioni per un elenco completo delle autorizzazioni che puoi impostare con l'API.
Crea un nuovo ruolo personalizzato denominato "sviluppo"
Crea uno "sviluppo" per consentire agli sviluppatori di visualizzare, creare e aggiornare i proxy API.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "development" } ] }'
Aggiungi autorizzazioni al ruolo di sviluppo
Le autorizzazioni che possono essere impostate su un intero gruppo di elementi di Edge (ad esempio tutti gli elementi /apps, /apis, /apiproducts e così via), sia sui singoli artefatti (come un'app specifica, un'API) proxy o prodotto API) sono GET, PUT e DELETE.
GET consente agli utenti di visualizzare qualsiasi API, inclusi i file di configurazione del proxy API, i criteri associati, JavaScript, i file XSLT e così via. L'autorizzazione PUT sulle API consente agli sviluppatori creare, modificare, importare, esportare, eseguire il deployment e annullare il deployment dei proxy API.
L'attributo del percorso specifica l'artefatto per cui hai impostato le autorizzazioni. Ad esempio, /applications, /apps, /apiproducts, /developers o /reports.
curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/development/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "put", "get" ]}'
Crea un ruolo: test
Crea un ruolo "test" per consentire ai tecnici della qualità di visualizzare i proxy API e i relativi contenuti (inclusi, ad esempio, i criteri).
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles -H "Content-type:application/json" -X POST -d'{ "role" : [ { "name" : "testing" } ] }'
Aggiungere autorizzazioni al ruolo di test
GET consente agli utenti di visualizzare qualsiasi API, inclusi i relativi file di configurazione, nonché eventuali criteri associati, JavaScript, file XSLT e così via. Aggiungendo questa autorizzazione al "testing" permettiamo ai tecnici della qualità di visualizzare i contenuti delle API che test. Tuttavia, gli utenti con questo ruolo non potranno creare, modificare, importare, esportare ed eseguire il deployment e annullare il deployment dei proxy API.
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/userroles/testing/permissions -H "Content-type:application/json" -X POST -d'{"path" : "/applications","permissions" : [ "get" ]}'
Per un'installazione on-premise di Edge, il set minimo di autorizzazioni che deve essere impostato su consentono all'utente di accedere alla UI Edge:
{"path" : "/","permissions" : [ "get" ]} {"path" : "/*","permissions" : [ ]} {"path" : "/environments","permissions" : [ "get" ]} {"path" : "/userroles","permissions" : [ "get" ]}
Utilizza il seguente comando cURL per impostare queste autorizzazioni:
curl -H "Content-Type:application/json" -u email:password \ -X POST \ http://<ms-IP>:8080/v1/organizations/{org_name}/userroles/testing/resourcepermissions \ -d '{ "resourcePermission" : [ { "path" : "/", "permissions" : [ "get" ] }, { "path" : "/*", "permissions" : [] }, { "path" : "/environments", "permissions" : [ "get" ] }, { "path" : "/userroles", "permissions" : [ "get"] } ] }'
dove <ms-IP> è l'indirizzo IP o il nome DNS del server di gestione Edge.
Aggiungere un utente al ruolo di test
Per eseguire il provisioning di un utente con un ruolo utente:
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "testing"} ] }'
Visualizza le API come utente
Impersona l'utente e invia una richiesta all'API Servizi per visualizzare i proxy API. L'utente deve essere in grado di visualizzare le API e i relativi contenuti.$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis
$ curl -u justauser@apigee.com:secret https://api.enterprise.apigee.com/v1/o/{org_name}/apis/{api_name}/policies
Crea l'API come utente nel ruolo di test
Impersona l'utente e invia una richiesta ai servizi API per creare un proxy API. La richiesta verrà rifiutata da API Services, poiché il ruolo "test" non consente all'utente di creare API.
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
Aggiungere un utente al ruolo di sviluppo
Ora esegui il provisioning dell'utente con il ruolo "sviluppo".
$ curl -u email:password https://api.enterprise.apigee.com/v1/o/{org_name}/users/justauser@apigee.com/userroles -H "Content-type:application/json" -X POST -d'{"role" : [ {"name" : "development"} ] }'
Creare l'API come utente nel ruolo di sviluppo
Impersona l'utente e ripeti la richiesta alla piattaforma API di creare un proxy API. La avrà esito positivo, poiché il ruolo "sviluppo" consente all'utente di creare API.
$ curl -u justauser@apigee.com:secret -H "Content-Type: application/json" https://api.enterprise.apigee.com/v1/o/{org_name}/apis -X POST -d'{"name" : "rbacTestApi"}'
Ottenere i ruoli utente per un utente
In qualità di amministratore dell'organizzazione, puoi controllare in qualsiasi momento l'elenco dei ruoli utente di un utente (in tutte le organizzazioni):
$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles