Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa pagina descrive come creare spazi Apigee nella tua organizzazione Apigee per gestire le policy Identity and Access Management (IAM) per le risorse API Apigee su larga scala.
Questa guida illustra i passaggi necessari per:
- Creare uno spazio
- Gestire i membri e i ruoli in uno spazio
- Elencare tutti gli spazi di un'organizzazione
- Visualizzare i dettagli dello spazio
- Aggiornare uno spazio
- Eliminare uno spazio
Per saperne di più sui vantaggi dell'utilizzo di Apigee Spaces per gestire le risorse API, consulta Apigee Spaces.
Prima di iniziare
Prima di iniziare a utilizzare Spazi:
- Esegui il provisioning di Apigee. Verifica che l'organizzazione con abbonamento Apigee o con pagamento a consumo che vuoi utilizzare sia sottoposta a provisioning. Per ulteriori informazioni sui passaggi necessari per il provisioning di Apigee, consulta la pagina Introduzione al provisioning.
- Recuperare le credenziali di autenticazione. Prima di eseguire i comandi per creare e gestire spazi
nella riga di comando, recupera le credenziali di autenticazione
gcloud
utilizzando il seguente comando:export TOKEN=$(gcloud auth print-access-token)
Ruoli e autorizzazioni richiesti
Make sure that you have the following role or roles on the project: Apigee > Apigee Organization Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Vai a IAM - Seleziona il progetto.
- Fai clic su Concedi l'accesso.
-
Nel campo Nuove entità, inserisci il tuo identificatore utente. In genere si tratta dell'indirizzo email di un Account Google.
- Nell'elenco Seleziona un ruolo, seleziona un ruolo.
- Per concedere altri ruoli, fai clic su Aggiungi un altro ruolo e aggiungi ogni ruolo aggiuntivo.
- Fai clic su Salva.
- ORG_NAME è il nome della tua organizzazione Apigee.
- SPACE_NAME è il nome e l'ID dello spazio.
- DISPLAY_NAME è il nome dello spazio così come dovrebbe apparire nell'interfaccia utente Apigee in Cloud Console. Se non viene fornito un nome visualizzato, verrà utilizzato il nome dello spazio.
- L'elenco dei membri dello spazio
- Il ruolo o l'elenco di ruoli concessi ai membri
- ORG_NAME è il nome dell'organizzazione Apigee.
- SPACE_NAME è il nome dello spazio.
- USER_EMAIL è l'indirizzo email di un utente che stai aggiungendo allo spazio.
- IAM_ROLE è il nome del ruolo IAM che stai assegnando all'utente come membro dello spazio.
- ORG_NAME è il nome dell'organizzazione Apigee.
- SPACE_NAME è il nome dello spazio.
- GROUP_EMAIL è l'indirizzo email di un gruppo che stai aggiungendo allo spazio.
- IAM_ROLE è il nome del ruolo IAM che stai assegnando al team come membro dello spazio.
- ORG_NAME è il nome dell'organizzazione Apigee.
- SPACE_NAME è il nome dello spazio.
- ORG_NAME è il nome dell'organizzazione Apigee.
- SPACE_NAME è il nome dello spazio.
- ORG_NAME è il nome dell'organizzazione Apigee.
- SPACE_NAME è il nome e l'ID dello spazio.
- DISPLAY_NAME è il nuovo nome visualizzato dello spazio.
- Scopri di più su Apigee Spaces.
- Scopri come gestire le risorse API con Apigee Spaces.
- Consulta la documentazione di Identity and Access Management (IAM).
Creare uno spazio
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.create
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per creare uno spazio nella tua organizzazione Apigee, utilizza il seguente comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces" \ --data-raw '{ "name":"SPACE_NAME", "displayName":"DISPLAY_NAME", }'
Dove:
Ad esempio, il seguente comando crea uno spazio denominato red nell'organizzazione acme:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ https://apigee.googleapis.com/v1/organizations/acme/spaces \ --data-raw '{ "name":"red", "displayName":"Red", }'
Una volta creato uno spazio nella tua organizzazione, i membri dell'organizzazione che utilizzano la UI Apigee nella console Cloud vedranno lo spazio come parametro disponibile quando creano risorse API nella UI. Inoltre, quando visualizzi elenchi di proxy API, prodotti API e flussi condivisi nell'interfaccia utente, lo spazio viene visualizzato come attributo per le risorse API assegnate a quello spazio.
Spazi.Gestire i membri e i ruoli in uno spazio
Una volta creato uno spazio, puoi aggiungere membri del team e assegnare i ruoli IAM necessari per creare e gestire le risorse API nello spazio. Gli utenti Apigee possono creare e gestire le risorse negli spazi in cui sono membri del team a cui sono state concesse le autorizzazioni appropriate. Poiché il controllo dell'accesso IAM viene concesso a livello di spazio, i membri dell'organizzazione non possono accedere o gestire le risorse API Apigee appartenenti allo spazio, a meno che non vengano aggiunti specificamente allo spazio. Per una panoramica dei ruoli e delle autorizzazioni IAM necessari per gestire le risorse di Spazio, consulta Creare e gestire le risorse di Spazio.
Aggiungere un membro dell'organizzazione a uno spazio
Quando un membro dell'organizzazione viene aggiunto a uno spazio, viene creato un binding dei criteri IAM per lo spazio che accetta due argomenti:
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.setIamPolicy
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per aggiungere un membro dell'organizzazione a uno spazio e assegnare un ruolo IAM, utilizza il seguente comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:USER_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Dove:
Ad esempio, questo comando aggiunge l'utente my-email@acme.com allo spazio red nell'organizzazione acme e concede il ruolo IAM apigee.spaceContentEditor
:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["user:my-email@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
È possibile aggiungere ruoli e autorizzazioni aggiuntivi per i membri dello spazio aggiornando il criterio IAM per lo spazio. Per
aggiornare il criterio IAM per uno spazio, utilizza il metodo setIamPolicy
descritto in questa sezione, utilizzando l'elenco rivisto dei ruoli e delle autorizzazioni desiderati. Verrà creata una nuova policy IAM per lo spazio, con ruoli e autorizzazioni modificati di conseguenza.
Aggiungere un team di membri a uno spazio
In alternativa, puoi aggiungere un team di membri a uno spazio e assegnare uno o più ruoli IAM. Per aggiungere un team di membri a uno spazio e assegnare un ruolo IAM, utilizza il seguente comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:GROUP_EMAIL"], "role": "roles/IAM_ROLE" } ] } }'
Dove:
Ad esempio, questo comando aggiunge il gruppo acme-team@acme.com allo spazio red nell'organizzazione acme
e concede il ruolo apigee.spaceContentEditor
al gruppo:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": ["group:red-team@acme.com"], "role": "roles/apigee.spaceContentEditor" } ] } }'
Come indicato in Aggiungere un membro dell'organizzazione a uno spazio, il
ruolo IAM apigee.spaceContentEditor
contiene molte delle autorizzazioni necessarie per gestire le risorse dello spazio.
Tuttavia, per eseguire attività specifiche, potrebbe essere necessario concedere ruoli aggiuntivi agli utenti.
Verifica l'assegnazione del criterio IAM di Spaces
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.getIamPolicy
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per verificare che la policy IAM sia impostata correttamente per lo spazio, utilizza questo comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME:getIamPolicy"
Dove:
Ad esempio, il seguente comando viene utilizzato per verificare che il criterio IAM sia impostato correttamente per lo spazio red nell'organizzazione acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red:getIamPolicy"
L'output del comando restituisce il criterio IAM corrente per lo spazio e dovrebbe essere simile al seguente:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group:red-team@acme.com" ] } ] }
In questo esempio, il criterio IAM per lo spazio concede il ruolo apigee.spaceContentEditor
ai membri dello spazio, in questo caso,
i membri del gruppo red-team@acme.com
Tieni presente che i membri del team rosso sono gli unici membri dell'organizzazione a cui è stato concesso l'accesso allo spazio rosso. Ciò significa che solo i membri del red team possono creare e gestire le risorse API nello spazio rosso. Se i membri di un altro team dell'organizzazione, ad esempio team-blue@acme.com, tentano di accedere a un proxy API creato nello spazio red, visualizzeranno il seguente errore:
{ "error": { "code": 403, "message": "Permission denied on resource \"organizations\/acme\/apis\/proxy-1\" (or it may not exist).", "status": "PERMISSION_DENIED" } }
Rimuovere membri da uno spazio
Per rimuovere membri o un gruppo di membri da uno spazio, devi impostare un nuovo criterio IAM per lo spazio con
un elenco rivisto di membri o gruppi. L'utilizzo del metodo setIamPolicy
creerà una nuova policy IAM per lo spazio,
con ruoli e membri modificati di conseguenza.
Ad esempio, per aggiornare i membri dello spazio del team blue, puoi prima controllare il criterio IAM attuale utilizzando il seguente comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:getIamPolicy"
L'output del comando restituisce il criterio IAM corrente per lo spazio e dovrebbe essere simile al seguente:
{ "version": "0", "bindings": [ { "role": "roles/apigee.spaceContentEditor", "members": [ "group: blue-team@acme.com", "users: user-a@acme.com, user-b@acme.com, user-c@acme.com" ] } ] }
Per rimuovere user-b@acme.com dallo spazio, utilizza questo comando:
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/blue:setIamPolicy" -d \ '{ "policy":{ "bindings":[ { "members": [ "group:blue-team@acme.com", "users: user-a@acme.com, user-c@acme.com" ] "role": "roles/apigee.spaceContentEditor" } ] } }'
La nuova norma IAM per lo spazio non includerà più user-b@acme.com.
Per rimuovere un membro da un gruppo incluso in uno spazio, rimuovilo prima dal gruppo e poi esegui di nuovo il comando setIamPolicy per aggiornare il criterio IAM per lo spazio con l'iscrizione corretta per l'alias email del gruppo.
Elenco di tutti gli spazi in un'organizzazione
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.list
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per elencare tutti gli spazi in un'organizzazione Apigee, utilizza il seguente comando:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces"
dove ORG_NAME è il nome dell'organizzazione Apigee.
Ad esempio, il seguente comando elenca tutti gli spazi nell'organizzazione acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Questo comando restituisce un output simile al seguente:
{ "spaces": [ { "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }, { "name": "blue", "createTime": "2024-08-02T00:34:54.159331Z", "updateTime": "2024-08-02T00:34:54.159331Z" } ] }
Visualizzare i dettagli dello spazio
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.get
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Utilizza il seguente comando per ottenere i dettagli dello spazio:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"
Dove:
Ad esempio, il seguente comando recupera i dettagli dello spazio red nell'organizzazione acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Questo comando restituisce un output simile al seguente:
{ "name": "red", "createTime": "2024-08-02T23:26:03.001512Z", "updateTime": "2024-08-02T23:26:03.001512Z" }
Aggiornare uno spazio
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.update
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per aggiornare uno spazio nella tua organizzazione Apigee, utilizza il comando seguente:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME" \ --data-raw '{ "displayName":"DISPLAY_NAME" }'
Dove:
Ad esempio, il seguente comando aggiorna il nome visualizzato dello spazio red nell'organizzazione acme:
curl -X PATCH -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red" -d \ '{ "displayName": "Red team space" }'
Eliminare uno spazio
Per eseguire questa attività, devi disporre dell'autorizzazione apigee.spaces.delete
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
. Prima di eliminare
uno spazio, assicurati che anche tutte le risorse al suo interno siano state eliminate.
Per eliminare uno spazio nella tua organizzazione Apigee, utilizza questo comando:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/ORG_NAME/spaces/SPACE_NAME"
Ad esempio, il seguente comando elimina lo spazio red nell'organizzazione acme:
curl -X DELETE -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces/red"
Se provi a eliminare uno spazio con risorse attive ancora associate, viene visualizzato il seguente errore:
{ "error": { "code": 400, "message": "Space \"red\" has resources associated with it. Please delete the resources before deleting the space.", "status": "FAILED_PRECONDITION" } }
Per risolvere l'errore, elimina o sposta le risorse nello spazio prima di tentare di eliminarlo.