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:
Abre la página Access Context Manager (Administrador de contextos de acceso) en la Google Cloud consola.
Si se te solicita, selecciona tu organización.
En la parte superior de la página Gestor de contexto de acceso, haga clic en Nuevo.
En el panel Nuevo nivel de acceso, haz lo siguiente:
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.
Sigue los pasos de Crear condiciones en y selecciona Modo avanzado.
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.
Haz clic en Guardar.
gcloud
Antes de empezar
- Si aún no existe, crea una política de acceso para tu organización.
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
- Si aún no existe, crea una política de acceso para tu organización.
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
- Si aún no existe, crea una política de acceso para tu organización.
Para crear un nivel de acceso personalizado, llama a CreateAccessLevel
.
En el campo access_level
, incluye una instancia de AccessLevel
.
Campos | |||||
---|---|---|---|---|---|
name
|
|
||||
title
|
|
||||
description
|
|
||||
custom
|
|