Crear un nivel de acceso personalizado

Una vez que se ha creado un nivel de acceso personalizado, se puede gestionar de la misma forma que los niveles de acceso básicos.

Para obtener información sobre cómo crear expresiones del lenguaje de expresión común (CEL) para niveles de acceso personalizados, consulta la especificación de niveles de acceso personalizados.

Consola

Para crear un nivel de acceso personalizado, sigue estos pasos:

  1. Abre la página Access Context Manager (Administrador de contextos de acceso) en la Google Cloud consola.

    Abre la página Administrador de contextos de acceso.

  2. Si se te solicita, selecciona tu organización.

  3. En la parte superior de la página Gestor de contexto de acceso, haga clic en Nuevo.

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

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

    2. Sigue los pasos de Crear condiciones en y selecciona Modo avanzado.

    3. En la sección Condiciones, introduce las expresiones de tu nivel de acceso personalizado. La condición debe resolverse en un único valor booleano.

      Para ver ejemplos y obtener más información sobre la compatibilidad con el lenguaje de expresión común (CEL) y los niveles de acceso personalizados, consulta la especificación de niveles de acceso personalizados.

    4. Haz clic en Guardar.

gcloud

Antes de empezar

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

Donde:

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

  • TITLE es el título breve y legible del nivel de acceso.

  • FILE es un archivo .yaml que contiene tu expresión CEL con el formato de un solo par clave-valor: expression: "CEL_EXPRESSION".

    Para ver ejemplos y obtener más información sobre la compatibilidad con el lenguaje de expresión común (CEL) y los niveles de acceso personalizados, consulta la especificación de niveles de acceso personalizados.

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

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

También puede incluir cualquiera de los marcadores de todo el ancho.gcloud

custom-level-spec Archivo YAML

Cuando usas la herramienta de línea de comandos gcloud para 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 único 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 cadena.

Archivo YAML de ejemplo

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" \
    --policy=1521580097614100

REST

Antes de empezar

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

Cuerpo de la solicitud

En el cuerpo de la solicitud de 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 de tu nivel de acceso personalizado. La expresión completa debe resolverse en 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 empezar

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

En el campo access_level, incluye una instancia de AccessLevel.

Campos
name
Tipo cadena
Descripción

Obligatorio.

Nombre de recurso del 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 empezar por una letra y solo puede incluir letras, números y guiones bajos.

Formato:

                accessPolicies/policy_id/accessLevels/short_name
                

title
Tipo cadena
Descripción

Etiqueta legible por humanos del nivel de acceso. Los niveles de acceso deben tener nombres únicos.

description
Tipo cadena
Descripción

Descripción del nivel de acceso.

custom
Tipo cadena
Descripción

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