Questa pagina si applica ad Apigee e Apigee hybrid.
Visualizza la documentazione di
Apigee Edge.
Questa pagina descrive come vengono applicate le gerarchie di autorizzazioni di Identity and Access Management (IAM) alle risorse API Apigee (proxy API, flussi condivisi e prodotti API) e ai relativi elementi secondari quando utilizzi Apigee Spaces.
Interazione di IAM con Apigee Spaces
In generale, i criteri IAM che regolano l'accesso alle risorse vengono ereditati tramite la Google Cloud gerarchia delle risorse. I criteri IAM specifici che si applicano a una determinata risorsa includono entrambi i seguenti elementi:
- Eventuali policy applicate direttamente alla risorsa
- Qualsiasi policy che la risorsa eredita dai suoi antenati
Gerarchia di risorse e autorizzazioni in Apigee
In Apigee, la parte superiore della gerarchia delle risorse è la risorsa organizzazione. Le risorse secondarie di un'organizzazione includono proxy API, flussi condivisi e prodotti API. Quando utilizzi Apigee senza Spazi, le autorizzazioni vengono applicate al progetto Google Cloud , che è direttamente correlato alla risorsa dell'organizzazione Apigee. Di conseguenza, i criteri IAM che regolano l'accesso a un determinato proxy API, flusso condiviso o prodotto API includono tutti i criteri ereditati dall'organizzazione, oltre a quelli applicati direttamente alla risorsa specifica.
Gerarchia di risorse e autorizzazioni con gli spazi
Quando utilizzi Apigee con Spaces, la risorsa Space viene aggiunta alla gerarchia.
Considera uno scenario in cui un'organizzazione Apigee ha tre proxy API, proxy-a
, proxy-b
e proxy-c
.
In questo esempio, proxy-b
e proxy-c
sono associati rispettivamente a space-red
e space-blue
. Quando associ una risorsa API a uno spazio, l'attributo space
viene impostato sulla risorsa.
Quando effettui una chiamata API per ottenere i dettagli di proxy-c
, l'endpoint API riflette la gerarchia delle risorse effettiva, in cui il proxy API è un elemento secondario dell'organizzazione con un attributo Spazio, come mostrato nell'esempio seguente:
curl -X GET -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/organizations/org1/apis/proxy-c" { "metaData": { "createdAt": "1725665197737", "lastModifiedAt": "1725665462105", "subType": "Proxy" }, "name": "proxy-c", "revision": [ "1" ], "apiProxyType": "PROGRAMMABLE", "space": "space-blue" }
Sebbene il percorso di una risorsa API associata a uno spazio rimanga invariato, la gerarchia delle autorizzazioni IAM effettive cambia. Nello scenario di esempio, i controlli delle autorizzazioni IAM si comportano come se la risorsa API fosse un elemento secondario dello spazio. Di conseguenza, i criteri IAM che si applicano alla risorsa API includono quelli ereditati dallo spazio, oltre a quelli applicati direttamente allo spazio, come mostrato nella figura seguente:

Controlli dei criteri IAM per le risorse Spazio
Come indicato in una sezione precedente, quando i proxy API, i flussi condivisi e i prodotti API sono associati a uno spazio, vengono trattati come risorse secondarie dello spazio durante i controlli delle norme IAM. Questa gerarchia di risorse effettiva si applica a tutti i sotto-elementi secondari di proxy API, flussi condivisi e prodotti API.
Ad esempio, gli attributi del prodotto API sono
risorse secondarie di un prodotto API. Per elencare tutti gli attributi del prodotto API product-a
nell'organizzazione Apigee org1
,
associata allo spazio Apigee space-blue
, il percorso della risorsa effettivo è GET organizations/org1/apiproduct/product-a/attributes
. Tuttavia,
il percorso per cui vengono controllate le autorizzazioni IAM è organizations/org1/spaces/space-blue/apiproduct/product-a/attributes
.
Controlli dei criteri IAM per i deployment
La risorsa Environment non è associata a Spazi. Tuttavia, alcune API esistenti sono state aggiornate per consentire l'accesso granulare ai deployment e alle sessioni di debug per i proxy API e i flussi condivisi.
Di seguito sono descritte le modifiche ai controlli delle autorizzazioni IAM per le seguenti operazioni di deployment sulle risorse in uno spazio:
Metodo | Controllo delle autorizzazioni IAM dello spazio |
---|---|
organizations.deployments.list | Nessuna modifica |
organizations.apis.deployments.list | apigee.deployments.list on organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.apis.revisions.deployments.list | apigee.deployments.list su organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
|
organizations.environments.deployments.list | Nessuna modifica |
organizations.environments.deployments.get | Nessuna modifica |
organizations.environments.apis.deployments.list | apigee.deployments.list su organizations/$ORG/environments/$ENV OPPURE
|
organizations.environments.apis.revisions.deployments.get | apigee.deployments.get su organizations/$ORG/environments/$ENV
OR
apigee.deployments.get su |
organizations.environments.apis.revisions.deployments.deploy | apigee.deployments.create su organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.deploy su |
organizations.environments.apis.revisions.deployments.generateDeployChangeReport | apigee.deployments.create su organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.deploy su |
organizations.environments.apis.revisions.deployments.generateUndeployChangeReport | apigee.deployments.delete su organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.undeploy su |
organizations.environments.apis.revisions.deployments.undeploy | apigee.deployments.delete su organizations/$ORG/environments/$ENV
AND
apigee.proxyrevisions.undeploy su |
organizations.environments.sharedflows.deployments.list | apigee.deployments.list su organizations/$ORG/environments/$ENV OR apigee.deployments.list su organizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.environments.sharedflows.revisions.deployments.deploy | apigee.deployments.create su organizations/$ORG/environments/$ENV
AND
apigee.sharedflowrevisions.deploy su |
organizations.environments.sharedflows.revisions.deployments.get | apigee.deployments.get su organizations/$ORG/environments/$ENV
OPPURE apigee.deployments.get su
|
organizations.environments.sharedflows.revisions.deployments.undeploy | apigee.deployments.delete su organizations/$ORG/environments/$ENV
AND
apigee.sharedflowrevisions.undeploy su |
organizations.sharedflows.deployments.list | apigee.deployments.list suorganizations/$ORG/spaces/$SPACE/sharedflows/$SF
|
organizations.sharedflows.revisions.deployments.list | apigee.deployments.list suorganizations/$ORG/spaces/$SPACE/sharedflows/$SF/revisions/$REV
|
Controlli delle autorizzazioni per le sessioni di debug
Se un proxy API è associato a uno spazio, i controlli delle autorizzazioni IAM per le sessioni di debug del proxy sono cambiati, come descritto nella tabella seguente:
Metodo | Controllo delle autorizzazioni IAM dello spazio |
---|---|
organizations.environments.apis.revisions.debugsessions.create | apigee.tracesessions.create il giorno organizations/$ORG/spaces/$SPACE/apis/$API/revisions/$REV
AND
|
organizations.environments.apis.revisions.debugsessions.get | apigee.tracesessions.get su organizations/$ORG/environments/$ENV AND organizations/$ORG/spaces/$SPACE/apis/$API
|
organizations.environments.apis.revisions.debugsessions.deleteData | apigee.tracesessions.delete su organizations/$ORG/environments/$ENV AND apigee.tracesessions.delete su
|
organizations.environments.apis.revisions.debugsessions.list | apigee.tracesessions.list su organizations/$ORG/environments/$ENV
OR
apigee.tracesessions.list su |
organizations.environments.apis.revisions.debugsessions.data.get | apigee.tracesessions.get su organizations/$ORG/environments/$ENV
AND
apigee.tracesessions.get su |
organizations.environments.apis.revisions.debugsessions.data.list | apigee.tracesessions.get su organizations/$ORG/environments/$ENV
E
apigee.tracesessions.get su |