Creazione di un livello di accesso personalizzato

Una volta creato, un livello di accesso personalizzato può essere gestiti come i 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:

  1. Apri la pagina Gestore contesto accesso nella console Google Cloud.

    Apri la pagina Gestore contesto accesso

  2. Se ti viene chiesto, seleziona la tua organizzazione.

  3. Nella parte superiore della pagina Access Context Manager, fai clic su Nuovo.

  4. Nel riquadro Nuovo livello di accesso:

    1. 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.

    2. Dopo Crea condizioni in, seleziona Modalità avanzata.

    3. Nella sezione Condizioni, inserisci le espressioni per la tua livello di accesso. La condizione deve risolversi 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.

    4. Fai clic su Salva.

gcloud

Prima di iniziare

Per creare un livello di accesso personalizzato con lo strumento a riga di comando gcloud, utilizza il metodo 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 al massimo 50 caratteri.

  • TITLE è il titolo breve e leggibile per l'accesso livello.

  • 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 del nome della proprietà criterio di accesso.

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 si 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 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

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 di 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 ottenere 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

Per creare un livello di accesso personalizzato, chiama CreateAccessLevel.

Per il campo access_level, includi un'istanza di AccessLevel.

Campi
name
Tipo string
Descrizione

Obbligatorio.

Il nome della risorsa per il livello di accesso. POLICY_ID è il nome numerico del criterio di accesso della tua organizzazione. SHORT_NAME deve iniziare con una lettera e devono includere solo lettere, numeri e trattini bassi.

Formato:

                accessPolicies/policy_id/accessLevels/short_name
                

title
Tipo string
Descrizione

Un'etichetta leggibile per il livello di accesso. Livelli di accesso devono avere nomi univoci.

description
Tipo string
Descrizione

Una descrizione del livello di accesso.

custom
Tipo string
Descrizione

Le espressioni CEL per il tuo livello di accesso personalizzato. L'espressione completa deve risolvere in un valore booleano.