Créer un niveau d'accès personnalisé

Une fois qu'un niveau d'accès personnalisé est créé, il peut être géré de la même manière que les niveaux d'accès de base.

Pour savoir comment créer des expressions CEL (Common Expression Language) pour les niveaux d'accès personnalisés, reportez-vous à la spécification du niveau d'accès personnalisé.

Console

Pour créer un niveau d'accès personnalisé:

  1. Ouvrez la page Access Context Manager dans Cloud Console.

    Accéder à la page Access Context Manager

  2. Si vous y êtes invité, sélectionnez votre organisation.

  3. En haut de la page Access Context Manager, cliquez sur New (Nouveau).

  4. Dans le volet New Access Level (Nouveau niveau d'accès) :

    1. Dans la zone Titre du niveau d'accès, saisissez un titre de niveau d'accès. Ce titre doit contenir au maximum 50 caractères, commencer par une lettre et ne peut contenir que des chiffres, des lettres, des traits de soulignement et des espaces.

    2. À la suite de Créer des conditions en, sélectionnez Mode avancé.

    3. Dans la section Conditions, saisissez les expressions correspondant à votre niveau d'accès personnalisé. La condition doit correspondre à une seule valeur booléenne.

      Pour obtenir des exemples et des informations supplémentaires sur la compatibilité avec le CEL (Common Expression Language) et les niveaux d'accès personnalisés, consultez la section Spécification de niveaux d'accès personnalisés.

    4. Cliquez sur Save.

gcloud

Avant de commencer

Pour créer un niveau d'accès personnalisé à l'aide de l'outil de ligne de commande gcloud, utilisez la commande 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

Où :

  • LEVEL_NAME est un nom unique pour le niveau d'accès. Ce nom doit commencer par une lettre et ne peut contenir que des lettres, des chiffres et des traits de soulignement. Le nom peut comporter jusqu'à 50 caractères.

  • TITLE est le titre court et lisible du niveau d'accès.

  • FILE est un fichier .yaml contenant votre expression CEL sous la forme d'une paire valeur/clé unique: expression: "CEL_EXPRESSION".

    Pour obtenir des exemples et des informations supplémentaires sur la compatibilité avec le CEL (Common Expression Language) et les niveaux d'accès personnalisés, consultez la section Spécification de niveaux d'accès personnalisés.

  • DESCRIPTION (facultatif) est une description lisible du niveau d'accès.

  • POLICY_NAME est le nom numérique de la règle d'accès de votre organisation.

Vous pouvez éventuellement inclure n'importe quel indicateur gcloud-wide.

Fichier yaml custom-level-spec

Lorsque vous utilisez l'outil de ligne de commande gcloud pour créer un niveau d'accès personnalisé, vous devez fournir un fichier .yaml pour l'option custom-level-spec. Le fichier .yaml définit une expression CEL qui renvoie une seule valeur booléenne. Le fichier .yaml doit contenir une seule paire clé/valeur au format expression: "CEL_EXPRESSION". La valeur de expression doit être une chaîne.

Exemple de fichier .yaml

expression: "device.encryption_status == DeviceEncryptionStatus.ENCRYPTED && (origin.region_code in ['US'] || device.is_admin_approved_device)"

Exemple de commande

gcloud access-context-manager levels create Custom_Trust \
    --custom-level-spec=customspec.yaml \
    --description="Custom access level for corp." \
    --title="Custom Trust Level"

REST

Avant de commencer

Pour créer un niveau d'accès personnalisé, utilisez la méthode accessPolicies.accessLevels.create.

Corps de la requête

Dans le corps de la requête de l'appel, incluez une instance de l'objet AccessLevel.

{
  "name": string,
  "title": string,
  "description": string,
  "custom": {
    "expr": {
      "expression": string,
      "title": string,
      "description": string
    }
  }
}

Pour le champ custom, créez un objet qui inclut les expressions CEL correspondant à votre niveau d'accès personnalisé. L'expression complète doit correspondre à une valeur booléenne. Les champs title et description sont facultatifs.

Exemple

{
  "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

Avant de commencer

Pour créer un niveau d'accès personnalisé, appelez CreateAccessLevel.

Pour le champ access_level, incluez une instance de AccessLevel.

Champs
name
Type chaîne
Description

Obligatoire.

Nom de ressource du niveau d'accès. Le POLICY_ID est le nom numérique de la règle d'accès de votre organisation. Le SHORT_NAME doit commencer par une lettre et ne contenir que des lettres, des chiffres et des traits de soulignement.

Format :


                accessPolicies/policy_id/accessLevels/short_name
                

title
Type chaîne
Description

Libellé lisible pour le niveau d'accès. Les niveaux d'accès doivent avoir des noms uniques.

description
Type chaîne
Description

Description du niveau d'accès.

custom
Type chaîne
Description

Expressions CEL pour votre niveau d'accès personnalisé. L'expression complète doit correspondre à une valeur booléenne.