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 en savoir plus sur la création d'expressions CEL (Common Expression Language) pour les niveaux d'accès personnalisés, consultez la page Spécification de niveaux d'accès personnalisés.

Console

Pour créer un niveau d'accès personnalisé, procédez comme suit :

  1. Ouvrez la page Access Context Manager dans la console Google Cloud.

    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 pour votre niveau d'accès personnalisé. La condition doit correspondre à une valeur booléenne unique.

      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 le nom unique du 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 ne peut pas comporter plus de 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 est une description lisible du niveau d'accès (facultatif).

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

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

custom-level-spec fichier YAML

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 se résout en une valeur booléenne unique. 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" \
    --policy=1521580097614100

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 associées à votre niveau d'accès personnalisé. L'expression complète doit se résoudre en 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 pour le niveau d'accès. L'élément POLICY_ID est le nom (au format numérique) de la règle d'accès de votre organisation. L'élément SHORT_NAME doit commencer par une lettre et ne peut 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 du niveau d'accès. Les niveaux d'accès doivent porter des noms uniques.

description
Type chaîne
Description

Description du niveau d'accès.

custom
Type chaîne
Description

Expressions CEL associées à votre niveau d'accès personnalisé. L'expression complète doit se résoudre en une valeur booléenne.