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 su larga scala i criteri IAM (Gestione di identità e accessi) per le risorse API Apigee.
Questa guida illustra i passaggi necessari per:
- Creare uno spazio
- Gestire i membri e i ruoli in uno spazio
- Elenco di 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 Apigee Subscription o Pay-as-you-go che vuoi utilizzare sia stata provisionata. Per ulteriori informazioni sulla procedura di provisioning di Apigee, consulta la sezione Introduzione al provisioning.
- Ottieni le credenziali di autenticazione. Prima di eseguire i comandi per creare e gestire gli spazi
sulla riga di comando, ottieni le credenziali di autenticazione di
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 Nuovi principali, 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 deve apparire nell'interfaccia utente di Apigee nella console Cloud. Se non viene fornito alcun 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.
- Esamina la documentazione di Identity and Access Management (IAM).
Creare uno spazio
Per eseguire questa operazione, 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", }'
Dopo aver creato uno spazio nella tua organizzazione, i membri dell'organizzazione che utilizzano l'interfaccia utente di Apigee nella console Cloud vedranno lo spazio come parametro disponibile quando creano risorse API nell'interfaccia utente. Inoltre, quando visualizzi gli elenchi di proxy API, prodotti API e flussi condivisi nell'interfaccia utente, lo spazio viene visualizzato come attributo per le risorse API assegnate a quel determinato spazio.
Spazi.Gestire i membri e i ruoli in uno spazio
Dopo aver 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 di Apigee possono creare e gestire le risorse solo 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 spazi, i membri dell'organizzazione non sono in grado di accedere o gestire le risorse dell'API Apigee appartenenti allo spazio, a meno che non vengano aggiunti specificamente allo spazio. Per una panoramica dei ruoli e delle autorizzazioni IAM richiesti per gestire le risorse dello spazio, consulta Creare e gestire le risorse dello spazio.
Aggiungere un membro dell'organizzazione a uno spazio
Quando un membro dell'organizzazione viene aggiunto a uno spazio, viene creata un'associazione di criteri IAM per lo spazio che accetta due argomenti:
Per eseguire questa operazione, 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 aggiornato dei ruoli e delle autorizzazioni desiderati. Verrà creato un nuovo criterio IAM per lo spazio, con i ruoli e le autorizzazioni adeguatamente modificati.
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 al gruppo il ruolo 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": ["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, potresti dover concedere agli utenti ruoli aggiuntivi per eseguire attività specifiche.
Verifica l'assegnazione del criterio IAM di Spaces
Per eseguire questa operazione, devi disporre dell'autorizzazione apigee.spaces.getIamPolicy
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per verificare che il criterio IAM sia impostato correttamente per lo spazio, utilizza il seguente 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 avere il seguente aspetto:
{ "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 ai 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 team rosso possono creare e gestire le risorse API nello spazio rosso. Se i membri di un altro team dell'organizzazione, come 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 aggiornato di membri o gruppi. L'utilizzo del metodo setIamPolicy
consente di creare una nuova policy IAM per lo spazio, con i ruoli e i membri adeguatamente modificati.
Ad esempio, per aggiornare i membri dello spazio di gruppo blu, puoi prima controllare il criterio IAM corrente 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 avere il seguente aspetto:
{ "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 il seguente 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" } ] } }'
Il nuovo criterio 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'appartenenza corretta per l'alias email del gruppo.
Elenco di tutti gli spazi di un'organizzazione
Per eseguire questa operazione, devi disporre dell'autorizzazione apigee.spaces.list
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
.
Per elencare tutti gli spazi di 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 dell'organizzazione acme:
curl -X GET -H "Authorization: Bearer $TOKEN" \ "https://apigee.googleapis.com/v1/organizations/acme/spaces"
Questo comando restituisce un valore 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 operazione, 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 valore 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 operazione, 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 seguente comando:
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 operazione, devi disporre dell'autorizzazione apigee.spaces.delete
.
Questa autorizzazione è inclusa nel ruolo Apigee Organization Admin
. Prima di eliminare un'area, assicurati che siano state eliminate anche tutte le risorse al suo interno.
Per eliminare uno spazio nella tua organizzazione Apigee, utilizza il seguente 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 rosso 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.