Questa pagina si applica ad Apigee e Apigee hybrid.
Le condizioni di Identity and Access Management (IAM) ti consentono di definire e applicare il controllo dell'accesso condizionale per le risorse Google Cloud, incluse le risorse dell'hub API. Per ulteriori informazioni sulle condizioni IAM, consulta la Panoramica delle condizioni IAM.
In API Hub, puoi applicare l'accesso condizionale in base ai seguenti attributi della condizione della risorsa IAM:
- Attributo condizione resource.service:
da utilizzare per configurare l'accesso condizionale in base al servizio Google Cloud in uso.
Ad esempio, puoi impostare una condizione che limiti l'accesso di un utente alle risorse che utilizzano
apihub.googleapis.com
. Per un elenco dei valori supportati, consulta Valori del servizio di risorse. - Attributo condizione resource.type: da utilizzare per configurare l'accesso condizionale in base al tipo di risorsa a cui si accede. Ad esempio, puoi impostare una condizione che limiti l'accesso di un utente a
apihub.googleapis.com/Api
. Per un elenco dei valori supportati, consulta Valori del tipo di risorsa. - Attributo condizione resource.name: da utilizzare per configurare l'accesso condizionale in base a tutto o parte del nome di una risorsa. Per un elenco dei formati dei nomi degli hub API supportati, consulta Formato del nome della risorsa.
Aggiungi condizione IAM
Per aggiungere una condizione IAM a un'entità esistente (utente, gruppo o account di servizio), svolgi i seguenti passaggi:
- Nella console Google Cloud, vai alla pagina IAM.
- Seleziona il progetto, la cartella o l'organizzazione.
- Nell'elenco delle entità, individua l'entità per cui vuoi aggiungere la condizione IAM e fai clic su
Viene visualizzato il riquadro Modifica accesso.
(Modifica entità).
- Individua il ruolo a cui vuoi aggiungere la condizione IAM e fai clic su + Aggiungi condizione IAM.
- Nel riquadro Aggiungi condizione, fornisci le seguenti informazioni:
- Titolo:inserisci un nome per la condizione che stai aggiungendo al ruolo.
- (Facoltativo) Descrizione:inserisci una descrizione per la condizione.
- Puoi aggiungere una condizione utilizzando il Generatore di condizioni o l'Editor delle condizioni.
Lo strumento per la creazione di condizioni fornisce un'interfaccia interattiva per selezionare il tipo di condizione, l'operatore e altri dettagli applicabili relativi all'espressione. L'editor delle condizioni fornisce un'interfaccia basata su testo per inserire manualmente un'espressione della condizione utilizzando la sintassi CEL.
Per istruzioni dettagliate su come utilizzare lo strumento per la creazione di condizioni o l'editor delle condizioni, vedi Configurare l'accesso basato sulle risorse.
- Fai clic su Salva per applicare la condizione.
- Fai di nuovo clic su Salva nel riquadro Modifica accesso per aggiornare l'entità.
Esempi di utilizzo delle condizioni IAM per l'hub API
Esempio 1: controllo dell'accesso per tutte le risorse API che iniziano con la condizione IAM in base al nome della risorsa.
La seguente espressione di condizione definisce il controllo dell'accesso come segue:
- Accesso alle risorse dell'API che iniziano con il prefisso. Sono inclusi l'accesso a tutte le risorse dell'API, tra cui versioni, implementazioni, specifiche, operazioni e definizioni dell'API.
- Accesso non condizionale basato sul ruolo predefinito ad altre risorse dell'hub API.
( resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/apis/API_ID_PREFIX") || ( resource.type != "apihub.googleapis.com/Api" && resource.type != "apihub.googleapis.com/Version" && resource.type != "apihub.googleapis.com/Spec" && resource.type != "apihub.googleapis.com/ApiOperation" && resource.type != "apihub.googleapis.com/Definition" ) )
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo Google Cloud progetto.LOCATION
: la posizione dell'hub API.API_ID_PREFIX
: il prefisso per il nome della risorsa API.
Esempio 2: controllo dell'accesso per più API con condizioni IAM in base al tipo di risorsa.
La seguente espressione di condizione definisce il controllo dell'accesso come segue:
- Accesso alle risorse dell'API hub API che iniziano con il prefisso.
- Accesso alla risorsa della versione dell'hub API a partire da un ID versione specificato.
- Accesso alle risorse delle specifiche dell'hub API a partire da un ID specifica.
- Accesso non condizionale basato sul ruolo predefinito ad altre risorse dell'hub API.
( resource.service == "apihub.googleapis.com" && resource.type == "apihub.googleapis.com/Api" && resource.name.startsWith("projects/PROJECT_ID/locations/LOCATION/apis/API1_ID_PREFIX") ) || ( resource.service == "apihub.googleapis.com" && resource.type == "apihub.googleapis.com/Version" && resource.name == "projects/PROJECT_ID/locations/LOCATION/apis/API2_ID/versions/API2_VERSION_ID" ) || ( resource.service == "apihub.googleapis.com" && resource.type == "apihub.googleapis.com/Spec" && resource.name == "projects/PROJECT_ID/locations/LOCATION/apis/API3_ID/versions/API3_VERSION_ID/specs/API3_SPEC_ID" ) || ( resource.type != "apihub.googleapis.com/Api" && resource.type != "apihub.googleapis.com/Version" && resource.type != "apihub.googleapis.com/Spec" && resource.type != "apihub.googleapis.com/ApiOperation" && resource.type != "apihub.googleapis.com/Definition" )
PROJECT_ID
: l'ID del tuo Google Cloud progetto.LOCATION
: la posizione dell'hub API.API1_ID_PREFIX
: il prefisso del primo nome della risorsa API.API2_ID
: l'ID della seconda risorsa API.API2_VERSION_ID
: l'ID della seconda risorsa della versione dell'API.API3_ID
: l'ID della terza risorsa API.API3_VERSION_ID
: l'ID della risorsa della terza versione dell'API.API3_SPEC_ID
: l'ID della terza risorsa di specifiche API.