Crea livelli di accesso basati sul dispositivo

Questo documento mostra come gli amministratori possono creare livelli di accesso in base a: gli attributi dei dispositivi (livelli di accesso basati sul dispositivo) utilizzando Gestore contesto accesso.

Un livello di accesso è un insieme di attributi utilizzato per consentire l'accesso alle risorse informazioni contestuali sulla richiesta. In qualità di amministratore, puoi creare livelli di accesso di base o livelli di accesso personalizzati utilizzando gli attributi del dispositivo raccolte tramite la Verifica degli endpoint.

Prima di iniziare

Crea un livello di accesso

Console

  1. Nella console Google Cloud, vai alla pagina Gestore contesto accesso.

    Vai a Gestore contesto accesso

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

  3. Nella pagina Gestore contesto accesso, fai clic su Crea livello di accesso.

  4. Nel riquadro Nuovo livello di accesso, crea un livello di accesso di base o un livello di accesso personalizzato. Per istruzioni, espandi la sezione richiesta.

    Crea un livello di accesso di base

    1. Nella casella Titolo livello di accesso, inserisci un titolo per il livello di accesso.

      Il titolo deve contenere al massimo 50 caratteri, iniziare con una lettera e può contenere solo numeri, lettere, trattini bassi e spazi.

    2. Nella sezione Crea condizioni in, Seleziona la modalità di base.

      di Google.
    3. Nella sezione Condizioni, seleziona gli attributi del dispositivo:
      1. Fai clic su Criteri relativi ai dispositivi.
      2. Seleziona gli attributi obbligatori.

        Ad esempio, se vuoi applicare l'approvazione degli amministratori sui dispositivi, Seleziona Richiedi approvazione amministratore.

    4. Fai clic su Salva.

    Il livello di accesso appena creato viene visualizzato nella alla pagina Gestore contesto accesso.

    Crea un livello di accesso personalizzato

    1. Nella casella Titolo livello di accesso, inserisci un titolo per il livello di accesso.

      Il titolo deve contenere al massimo 50 caratteri, iniziare con una lettera e può contenere solo numeri, lettere, trattini bassi e spazi.

    2. Nella sezione Crea condizioni in, Seleziona Modalità avanzata.
    3. Nella sezione Condizioni, inserisci le espressioni per il tuo livello di accesso personalizzato. La condizione deve risolversi in un singolo valore booleano valore.

      Per trovare gli attributi dei dispositivi disponibili per l'espressione CEL, Guarda gli attributi del dispositivo raccolte tramite la Verifica degli endpoint.

      La seguente espressione CEL consente l'accesso solo dai dispositivi criptati:

      device.encryption_status == DeviceEncryptionStatus.ENCRYPTED

      Per esempi e ulteriori informazioni sul Common Expression Language (CEL) e livelli di accesso personalizzati, consulta le Specifica del livello di accesso personalizzato.

    4. Fai clic su Salva.

    Il livello di accesso appena creato viene visualizzato nella alla pagina Gestore contesto accesso.

Interfaccia a riga di comando gcloud

Per creare i livelli di accesso, utilizza il metodo gcloud access-context-manager levels create.

  1. Crea un file .yaml.

    • Per un livello di accesso di base, specifica gli attributi dei criteri relativi ai dispositivi per livello di accesso.

      Esempio: per limitare l'accesso solo agli utenti con spazio di archiviazione criptato del dispositivo, inserisci quanto segue nel file .yaml.

        - devicePolicy:
            allowedEncryptionStatuses
              - ENCRYPTED
      
    • Per un livello di accesso personalizzato, specifica un'espressione CEL formattata come singola coppia chiave-valore: expression: "CEL_EXPRESSION"

      Esempio: limitare l'accesso ai soli utenti con spazio di archiviazione criptato del dispositivo e con lo stato del dispositivo approvato, inserisci quanto segue nel .yaml.

      expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && device.is_admin_approved_device"
      

    Per un elenco degli attributi dei livelli di accesso ai criteri relativi ai dispositivi e i relativi file YAML consulta Attributi dei criteri relativi ai dispositivi. Per un file YAML completo di tutti i possibili attributi, vedi questo file YAML di esempio dei livelli di accesso.

    Per trovare gli attributi dei dispositivi disponibili per le specifiche del livello personalizzato: consulta Attributi del dispositivo raccolti da Verifica degli endpoint.

  2. Crea il livello di accesso.

    • Per un livello di accesso di base, esegui questo comando:

      gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
      --title=TITLE \
      --basic-level-spec=FILE_NAME.yaml\
      --policy=POLICY_NAME
      
    • Per un livello di accesso personalizzato, esegui questo comando:

      gcloud access-context-manager levels create ACCESS_LEVEL_NAME \
      --title=TITLE \
      --custom-level-spec=FILE_NAME.yaml\
      --policy=POLICY_NAME
      

    Dove:

    • ACCESS_LEVEL_NAME è il nome univoco del livello di accesso. Deve avere il seguente formato: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.

    • LEVEL_ID è un nome per il livello di accesso. Il nome deve contenere al massimo 50 caratteri, iniziare con una lettera e può contenere solo numeri, lettere e trattini bassi.

    • TITLE è un titolo leggibile. Deve essere univoco .

    • FILE_NAME è il nome del file .yaml. Per un livello di accesso di base, contiene attributi dei criteri relativi ai dispositivi. Per un di accesso, contiene un'espressione CEL formattata come singola coppia chiave-valore: "expression: "CEL_EXPION".

    • POLICY_NAME è il nome del dominio criterio di accesso.

    Verrà visualizzato un output simile al seguente:

    Create request issued for: NAME
    Waiting for operation [accessPolicies/POLICY_NAME/accessLevels/NAME/create/1521594488380943] to complete...done.
    Created level NAME.
    

API

Crea un livello di accesso utilizzando accessPolicies.accessLevels.create. .

Crea un livello di accesso di base

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • POLICY_ID: l'ID del criterio di accesso dell'organizzazione.
  • LEVEL_ID: un nome per il livello di accesso. Il nome deve contenere al massimo 50 caratteri, iniziano con una lettera e può contenere solo numeri, lettere e trattini bassi.
  • ACCESS_LEVEL_NAME: il nome univoco del livello di accesso. Deve avere quanto segue formato: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: un titolo leggibile. Deve essere univoco per il criterio.
  • DESCRIPTION: una descrizione del livello di accesso e del suo utilizzo.
  • CONDITION: un elenco di requisiti per il livello di accesso da concedere.

Metodo HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels

Corpo JSON della richiesta:


For basic access levels:

{
"name": ACCESS_LEVEL_NAME,
"title": TITLE,
  "description": DESCRIPTION,


  "basic": {
  "conditions": [
    {
    CONDITION
    }
   ],
  }
 },
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:


{
  "name": "operations/accessPolicies/84961948973/accessLevels/deviceEncrypted/create/1666896068847514",
  "metadata": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessLevel",
    "name": "accessPolicies/84961948973/accessLevels/deviceEncrypted",
    "title": "accessPolicies/84961948973/accessLevels/deviceEncrypted",
    "basic": {
      "conditions": [
        {
          "devicePolicy": {
            "allowedEncryptionStatuses": [
              "ENCRYPTED"
            ]
          }
        }
      ]
    }
  }
}

Crea un livello di accesso personalizzato

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • POLICY_ID: l'ID del criterio di accesso dell'organizzazione.
  • LEVEL_ID: un nome per il livello di accesso. Il nome deve contenere al massimo 50 caratteri, iniziano con una lettera e può contenere solo numeri, lettere e trattini bassi.
  • ACCESS_LEVEL_NAME: il nome univoco del livello di accesso. Deve avere quanto segue formato: accessPolicies/POLICY_ID/accessLevels/LEVEL_ID.
  • TITLE: un titolo leggibile. Deve essere univoco per il criterio.
  • DESCRIPTION: una descrizione del livello di accesso e del suo utilizzo.
  • CEL_EXPRESSION: un'espressione CEL che valuta un valore booleano.

Metodo HTTP e URL:

POST https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels

Corpo JSON della richiesta:


{
"name": ACCESS_LEVEL_NAME,
"title": TITLE,
  "description": DESCRIPTION,

  "custom": {
   "conditions": [
     {
      "expr": {
     CEL_EXPRESSION
     }
    }
   ]
  }
 },
}

Per inviare la richiesta, scegli una delle seguenti opzioni:

curl

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels"

PowerShell

Salva il corpo della richiesta in un file denominato request.json. ed esegui questo comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://accesscontextmanager.googleapis.com/v1/{parent=accessPolicies/POLICY_ID}/accessLevels" | Select-Object -Expand Content

Dovresti ricevere una risposta JSON simile alla seguente:



{
  "name": "operations/accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelName/create/1666936427127701",
  "metadata": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessContextManagerOperationMetadata"
  },
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.identity.accesscontextmanager.v1.AccessLevel",
    "name": "accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelName",
    "title": "accessPolicies/84961948973/accessLevels/sampleCustomAccessLevelTitle",
    "custom": {
      "expr": {
        "expression": "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED"
      }
    }
  }
}

Per ulteriori informazioni sulla creazione di livelli di accesso con varie condizioni e le dipendenze del livello di accesso, consulta Creare un livello di accesso di base.

Passaggi successivi