Una volta creato, un livello di accesso personalizzato può essere gestito nello stesso modo dei livelli di accesso di base.
Per informazioni dettagliate sulla creazione di espressioni in Common Expression Language (CEL) per i livelli di accesso personalizzati, consulta le specifiche del livello di accesso personalizzato.
Console
Per creare un livello di accesso personalizzato:
Apri la pagina Gestore contesto accesso nella console Google Cloud .
Se ti viene chiesto, seleziona la tua organizzazione.
Nella parte superiore della pagina Access Context Manager, fai clic su Nuovo.
Nel riquadro Nuovo livello di accesso:
Nella casella Titolo livello di accesso, inserisci un titolo per il livello di accesso. Il titolo deve contenere al massimo 50 caratteri, deve iniziare con una lettera e può contenere solo numeri, lettere, trattini bassi e spazi.
In Crea condizioni in, seleziona Modalità avanzata.
Nella sezione Condizioni, inserisci le espressioni per il livello di accesso personalizzato. La condizione deve risolvere in un singolo valore booleano.
Per esempi e ulteriori informazioni sul supporto del linguaggio Common Expression Language (CEL) e sui livelli di accesso personalizzati, consulta le specifiche del livello di accesso personalizzato.
Fai clic su Salva.
gcloud
Prima di iniziare
- Se non esiste ancora, crea una regola di accesso per la tua organizzazione.
Per creare un livello di accesso personalizzato utilizzando lo strumento a riga di comando gcloud
, utilizza il comando
gcloud access-context-manager levels create
.
gcloud access-context-manager levels create LEVEL_NAME \ --title=TITLE \ --custom-level-spec=FILE \ --description=DESCRIPTION \ --policy=POLICY_NAME
Dove:
LEVEL_NAME è un nome univoco per il livello di accesso. Deve iniziare con una lettera e includere solo lettere, numeri e trattini bassi. Il nome può contenere un massimo di 50 caratteri.
TITLE è il titolo breve e leggibile del livello di accesso.
FILE è un file .yaml che contiene l'espressione CEL formattata come una singola coppia chiave-valore:
expression: "CEL_EXPRESSION"
.Per esempi e ulteriori informazioni sul supporto del linguaggio CEL (Common Expression Language) e sui livelli di accesso personalizzati, consulta le specifiche del livello di accesso personalizzato.
DESCRIPTION (facoltativo) è una descrizione leggibile del livello di accesso.
POLICY_NAME è il nome numerico delle norme di accesso della tua organizzazione.
Se vuoi, puoi includere uno dei flag a livello di gcloud
.
custom-level-spec
File YAML
Quando utilizzi lo strumento a riga di comando gcloud
per creare un livello di accesso personalizzato, devi fornire un file .yaml per l'opzione custom-level-spec
. Il file .yaml definisce un'espressione CEL che risolve in un singolo valore booleano. Il file .yaml deve contenere una singola coppia chiave-valore formattata come expression: "CEL_EXPRESSION"
. Il valore di expression
deve essere una stringa.
File YAML di esempio
expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"
Comando di esempio
gcloud access-context-manager levels create Custom_Trust \
--custom-level-spec=customspec.yaml \
--description="Custom access level for corp." \
--title="Custom Trust Level" \
--policy=1521580097614100
REST
Prima di iniziare
- Se non esiste ancora, crea una regola di accesso per la tua organizzazione.
Per creare un livello di accesso personalizzato, utilizza il metodo
accessPolicies.accessLevels.create
.
Corpo della richiesta
Nel corpo della richiesta per la chiamata, includi un'istanza dell'oggetto AccessLevel
.
{
"name": string,
"title": string,
"description": string,
"custom": {
"expr": {
"expression": string,
"title": string,
"description": string
}
}
}
Per il campo custom
, crea un oggetto che includa le espressioni CEL per il tuo livello di accesso personalizzato. L'espressione completa deve risolvere in un valore booleano. I campi title
e description
sono facoltativi.
Esempio
{
"name": "example_custom_level",
"title": "Example custom level",
"description": "An example custom access level.",
"custom": {
"expr": {
"expression": "device.is_corp_owned == true || (device.os_type != OsType.OS_UNSPECIFIED && device.is_admin_approved_device == true)",
"title": "Check for known devices",
"description": "Permits requests from corp-owned devices and admin-approved devices with a known OS."
}
}
}
RPC
Prima di iniziare
- Se non esiste ancora, crea una regola di accesso per la tua organizzazione.
Per creare un livello di accesso personalizzato, chiama
CreateAccessLevel
.
Per il campo access_level
, includi un'istanza di AccessLevel
.
Campi | |||||
---|---|---|---|---|---|
name
|
|
||||
title
|
|
||||
description
|
|
||||
custom
|
|