Crear un nivel de acceso personalizado

Después de crear un nivel de acceso personalizado, se puede administrar de la misma manera que los niveles de acceso básicos.

Si deseas obtener detalles sobre cómo compilar Common Expression Language (CEL) para niveles de acceso personalizados, consulta la especificación de nivel de acceso personalizado.

Console

Sigue estos pasos para crear un nivel de acceso personalizado:

  1. Abra la página Access Context Manager en Cloud Console.

    Abrir la página de Access Context Manager

  2. Si se le solicita, seleccione su organización.

  3. En la parte superior de la página Access Context Manager, haz clic en Nuevo.

  4. En el panel Nuevo nivel de acceso, realiza lo siguiente:

    1. En el cuadro Título del nivel de acceso, ingresa un título para el nivel de acceso. El título debe tener 50 caracteres como máximo, comenzar con una letra y solo puede contener números, letras, guiones bajos y espacios.

    2. Después de Crear condiciones en, selecciona Modo avanzado.

    3. En la sección Condiciones, ingresa las expresiones para el nivel de acceso personalizado. La condición debe resolverse en un solo valor booleano.

      Para obtener ejemplos y más información sobre la compatibilidad con Common Expression Language (CEL) y los niveles de acceso personalizados, consulta la especificación del nivel de acceso personalizado.

    4. Haga clic en Save.

gcloud

Antes de comenzar

Para crear un nivel de acceso personalizado con la herramienta de línea de comandos de gcloud, usa el 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

Aquí:

  • LEVEL_NAME es un nombre único para el nivel de acceso. Debe comenzar con una letra y, además, incluir solo letras, números y guiones bajos. El nombre puede tener un máximo de 50 caracteres.

  • TITLE es el título corto y legible para el nivel de acceso.

  • FILE es un archivo .yaml que contiene tu expresión CEL formateada como un solo par clave-valor: expression: "CEL_EXPRESSION".

    Para obtener ejemplos y más información sobre la compatibilidad con Common Expression Language (CEL) y los niveles de acceso personalizados, consulta la especificación del nivel de acceso personalizado.

  • DESCRIPTION (opcional) es una descripción legible del nivel de acceso.

  • POLICY_NAME es el nombre numérico de la política de acceso de tu organización.

De manera opcional, puedes incluir cualquiera de las marcas para todo gcloud.

Archivo custom-level-spec .yaml

Cuando usas la herramienta de línea de comandos de gcloud a fin de crear un nivel de acceso personalizado, debes proporcionar un archivo .yaml para la opción custom-level-spec. El archivo .yaml define una expresión CEL que se resuelve en un solo valor booleano. El archivo .yaml debe contener un solo par clave-valor con el formato expression: "CEL_EXPRESSION". El valor de expression debe ser una string.

Ejemplo de archivo .yaml

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

Comando de ejemplo

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

REST

Antes de comenzar

Para crear un nivel de acceso personalizado, usa el método accessPolicies.accessLevels.create.

Cuerpo de la solicitud

En el cuerpo de la solicitud para la llamada, incluye una instancia del objeto AccessLevel.

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

En el campo custom, crea un objeto que incluya las expresiones CEL para tu nivel de acceso personalizado. La expresión completa debe resolverse como un valor booleano. Los campos title y description son opcionales.

Ejemplo

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

Antes de comenzar

Para crear un nivel de acceso personalizado, llama a CreateAccessLevel.

Para el campo access_level, incluye una instancia de AccessLevel.

Campos
name
Tipo string
Descripción

Obligatorio

El nombre del recurso para el nivel de acceso. El POLICY_ID es el nombre numérico de la política de acceso de tu organización. El SHORT_NAME debe comenzar con una letra y debe incluir solo letras, números y guiones bajos.

Formato:


                accessPolicies/policy_id/accessLevels/short_name
                

title
Tipo string
Descripción

Una etiqueta legible para el nivel de acceso Los niveles de acceso deben tener nombres únicos.

description
Tipo string
Descripción

Una descripción del nivel de acceso.

custom
Tipo string
Descripción

Las expresiones CEL para tu nivel de acceso personalizado. La expresión completa debe resolverse como un valor booleano.