Creazione di ruoli con l'API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Questo argomento illustra come creare ruoli personalizzati e assegnare ruoli agli utenti tramite la 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 del percorso relativa all'organizzazione quando definisci le autorizzazioni, le autorizzazioni hanno come ambito un'organizzazione specifica, poiché le chiamate API di gestione in questo argomento illustrate.)

Puoi anche impostare autorizzazioni per 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 per qualcosa come /environments/test/keyvaluemaps/fooMap, oppure /environments/test/keyvaluemaps/* per tutte le mappe chiave-valore nel test completamente gestito di Google Cloud.
di Gemini Advanced.

Le autorizzazioni che hai impostato utilizzando l'API:

  • Consenti agli utenti con un ruolo personalizzato di creare l'API di gestione chiamate in base alle relative 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 ed Elimina sull'API Pagina Proxy.

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 da /developers e poi.

PUT funge anche da POST nelle autorizzazioni.

Puoi combinare autorizzazioni generali e più granulari per le risorse. Più le impostazioni sono granulari hanno la precedenza in caso di sovrapposizione delle autorizzazioni. Ad esempio, supponiamo che: che le autorizzazioni siano impostate su un ruolo:

  • PUT su /developers
  • Contattaci a /developers/*

Ciò significa che l'amministratore dello sviluppatore può:

  • Creare uno sviluppatore, ma non aggiornare sviluppatori specifici o entità secondarie (a causa l'autorizzazione GET più specifica su quel percorso).
  • Richiedi qualsiasi sviluppatore o entità secondaria, ma non l'elenco di tutti gli sviluppatori.

Consulta Riferimento alle autorizzazioni per un elenco completo delle autorizzazioni che puoi impostare con l'API.

Creare 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 tutte le API, compresi i file di configurazione proxy API, associati criteri, JavaScript, file KML 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 "test" per consentire ai tecnici della qualità di visualizzare i proxy API e i relativi contenuti (incluse, ad esempio, le norme).

$ 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" } ] }'

Aggiungi autorizzazioni al ruolo di test

GET consente agli utenti di visualizzare tutte le API, inclusi i file di configurazione, nonché ai criteri associati, al codice JavaScript, al file TCF 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 &lt;ms-IP&gt; è l'indirizzo IP o il nome DNS di Edge Management Server.

Aggiungi 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à rifiutato dai servizi API, in quanto il ruolo "testing" non consente all'utente di creare su quelle di livello inferiore.

$ 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"}'

Aggiungi utente al ruolo di sviluppo

Ora esegui il provisioning dell'utente con lo "sviluppo" ruolo.

$ 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"} ] }'

Crea l'API come utente nel ruolo di sviluppo

Impersona l'utente e ripeti la richiesta alla piattaforma API per 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 l'elenco di ruoli utente per un utente (in tutti organizzazioni) in qualsiasi momento:

$ curl -u email:password -X GET https://api.enterprise.apigee.com/v1/users/justauser@apigee.com/userroles