Con Gestore contesto accesso, puoi eseguire aggiornamenti collettivi delle risorse che appartengono I criteri di accesso della tua organizzazione, ad esempio livelli di accesso e perimetri di servizio.
Le modifiche alle risorse vengono applicate solo se tutte le parti dell'operazione collettiva si concludono con esito positivo. Ad esempio, se l'operazione collettiva tenta di rimuovere un accesso livello in uso da un perimetro di servizio, viene generato un errore. Poiché viene rilevato un errore, l'intera operazione non va a buon fine e nessuna risorsa viene aggiornata.
Questo argomento descrive solo la sostituzione collettiva dei livelli di accesso. Per ulteriori informazioni sulla sostituzione collettiva dei perimetri di servizio, consulta la documentazione dei Controlli di servizio VPC.
Prima di iniziare
Poiché le operazioni collettive interessano tutti i livelli di accesso della tua organizzazione, ti consigliamo di ottenere un elenco completo dei livelli di accesso. L'elenco può essere formattato come YAML, il che può anche semplificare le modifiche collettive ai livelli di accesso.
Per ottenere un elenco formattato dei livelli di accesso, consulta Elenca i livelli di accesso (formattati).
Sostituire collettivamente i livelli di accesso
La sezione seguente descrive in dettaglio come sostituire collettivamente i livelli di accesso.
Per sostituire collettivamente tutti i livelli di accesso, utilizza la
Comando replace-all
.
gcloud access-context-manager levels replace-all \ --source-file=FILE \ --etag=ETAG \ [--policy=POLICY_NAME ]
Dove:
FILE è il nome di un file .yaml che definisce le nuove condizioni per i livelli di accesso esistenti.
Ad esempio:
- name: accessPolicies/11271009391/accessLevels/corpnet_access title: Corpnet Access description: Permit access to corpnet. basic: combiningFunction: AND conditions: - ipSubnetworks: - 252.0.2.0/24 - 2001:db8::/32 - name: accessPolicies/11271009391/accessLevels/prodnet_access title: Prodnet Access description: Permit access to prodnet. basic: combiningFunction: OR conditions: - members: - user:exampleuser@example.com - serviceAccount:exampleaccount@example.iam.gserviceaccount.com - ipSubnetworks: - 176.0.2.0/24
Per ulteriori esempi della struttura YAML delle condizioni, consulta il file YAML di esempio.
ETAG (facoltativo) è una stringa che rappresenta il target una versione del criterio di accesso della tua organizzazione. Se non includi un etag, l'operazione collettiva ha come target l'ultima versione del tuo del criterio di accesso dell'organizzazione.
Per ottenere l'etag più recente del criterio di accesso,
list
i tuoi criteri di accesso.POLICY_NAME è il nome del criterio di accesso della tua organizzazione. Questo valore è obbligatorio solo se non hai impostato un criterio di accesso predefinito.
Per eseguire la sostituzione collettiva di tutti i livelli di accesso,
chiama accessLevels.replaceAll
.
POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME /accessLevels.replaceAll?alt=json
Dove:
- POLICY_NAME è il nome del criterio di accesso della tua organizzazione.
Corpo della richiesta
Il corpo della richiesta deve includere un elenco di oggetti AccessLevel
che specificano le modifiche da apportare.
Facoltativamente, scegliere come target una versione specifica dell'accesso dell'organizzazione. puoi includere un etag. Se non includi un etag, il caricamento ha come target la versione più recente del criterio di accesso dell'organizzazione.
Ad esempio:
{ "accessLevels": [ object (AccessLevel), object (AccessLevel), ... ] "etag": string }
Corpo della risposta
In caso di esito positivo, il corpo della risposta per la chiamata contiene una
Operation
che fornisce dettagli sul
di Google Cloud.
Esempio di risposta:
{
"name": "operations/accessPolicies/11271009391/replaceLevels/1583523446234255",
"done": true,
"response": {
"@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.ReplaceAccessLevelsResponse",
"accessLevels": [
{
"name": "accessPolicies/11271009391/accessLevels/corpnet_access",
"title": "Corpnet access",
"description": "Permit access to corpnet.",
"basic": {
"conditions": [
{
"ipSubnetworks": [
"252.0.2.0/24"
]
}
]
}
},
{
"name": "accessPolicies/11271009391/accessLevels/prodnet_access",
"title": "Prodnet access",
"description": "Permit access to prodnet.",
"basic": {
"conditions": [
{
"ipSubnetworks": [
"176.0.2.0/24"
]
}
]
}
}
]
}
}