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
Para crear un nivel de acceso personalizado, sigue estos pasos:
Abre la página de Access Context Manager en la consola de Google Cloud.
Si se le solicita, selecciona tu organización.
En la parte superior de la página Access Context Manager, haz clic en Nuevo.
En el panel Nivel de acceso nuevo, haz lo siguiente:
En el cuadro de texto Título del nivel de acceso, ingresa un título para el nivel de acceso. El título debe tener un máximo de 50 caracteres y comenzar con una letra, y solo puede contener números, letras, guiones bajos y espacios.
En Crear condiciones en, selecciona Modo avanzado.
En la sección Condiciones, ingresa las expresiones para tu 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.
Haga clic en Save.
gcloud
Antes de comenzar
- 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 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 el 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 con el formato de un par clave-valor único:
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 es una descripción legible del nivel de acceso (opcional).
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 YAML custom-level-spec
Cuando usas la herramienta de línea de comandos de gcloud
con el 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" \
--policy=1521580097614100
REST
Antes de comenzar
- 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 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
- 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
|
|