Administrar los niveles de acceso

En esta página, se describe cómo administrar los niveles de acceso existentes. Puede hacer lo siguiente:

Antes de comenzar

  • Configura tu política de acceso predeterminada para usar la herramienta de línea de comandos de gcloud.

    -o bien-

    Obtén el nombre de tu política. El nombre de la política es obligatorio para los comandos que usan la herramienta de línea de comandos de gcloud y la realización de llamadas a la API. Si configuras una política de acceso predeterminada, no necesitas especificar la política para la herramienta de línea de comandos de gcloud.

Mostrar niveles de acceso

Console

Para ver todos los niveles de acceso, abre la página Access Context Manager en Cloud Console y, si se te solicita, selecciona tu organización. Los niveles de acceso de tu organización se muestran en una cuadrícula en la página, incluidos los detalles sobre la configuración de cada nivel de acceso.

Abrir la página de Access Context Manager

gcloud

Para enumerar todos los niveles de acceso, usa el comando list.

gcloud access-context-manager levels list \
  [--policy=POLICY_NAME]

Aquí:

El resultado se verá similar a lo siguiente:

NAME             TITLE                  LEVEL_TYPE
Device_Trust     Device_Trust Extended  Basic
Service_Group_A  Service_Group_A        Basic

API

Para enumerar todos los niveles de acceso de una política, llame al accessLevels.list.

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels

Aquí:

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

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Parámetros opcionales

De manera opcional, incluye uno o más de los siguientes parámetros de consulta.

Parámetros
pageSize

number

Según la configuración predeterminada, la página de niveles de acceso que muestra accessLevels.list se pagina. Cada página tiene un límite de 100 niveles de acceso.

Puede usar este parámetro para modificar el número de niveles de acceso que se muestran por página.

pageToken

string

Si el número de niveles de acceso mostrados por su llamada excedió el tamaño de la página, el cuerpo de respuesta incluirá un token de página.

Puedes usar este parámetro en una llamada posterior para obtener la página siguiente de resultados.

accessLevelFormat

enum(LevelFormat)

Normalmente, los niveles de acceso se muestran tal como están definidos, ya sea como BasicLevel o CustomLevel.

Puede especificar el valor CEL para que este parámetro muestre BasicLevels como CustomLevels en Common Expression Language de Cloud.

Cuerpo de la respuesta

Si tiene éxito, el cuerpo de respuesta de la llamada contiene un objeto AccessLevels que enumera los niveles de acceso y una cadena nextPageToken. nextPageToken solo tiene un valor si el número de niveles de acceso mostrados excede el tamaño de página. De lo contrario, nextPageToken se muestra como una cadena vacía.

Enumera niveles de acceso (con formato)

Con la herramienta de línea de comandos de gcloud, puedes obtener una lista de tus niveles de acceso en formato YAML o JSON.

Para obtener una lista con formato de niveles de acceso, usa el comando list.

gcloud access-context-manager levels list \
  --format=FORMAT \
  [--policy=POLICY_NAME]

Aquí:

  • FORMAT es uno de los siguientes valores:

    • list (formato YAML)

    • json (formato JSON)

  • POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es necesario si no estableciste una política de acceso predeterminada.

El resultado se verá similar a lo siguiente:

- basic: {'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for corp access.
  name: accessPolicies/165717541651/accessLevels/corp_level
  title: Corp Level
- basic: {'combiningFunction': 'OR', 'conditions': [{'ipSubnetworks': ['8.8.0/24']}]}
  description: Level for net access.
  name: accessPolicies/165717541651/accessLevels/net_level
  title: Net Level

El resultado de JSON se verá similar al siguiente ejemplo:

[
  {
    "basic": {
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for corp access.",
    "name": "accessPolicies/165717541651/accessLevels/corp_level",
    "title": "Corp Level"
  },
  {
    "basic": {
      "combiningFunction": "OR",
      "conditions": [
        {
          "ipSubnetworks": [
            "8.8.0/24"
          ]
        }
      ]
    },
    "description": "Level for net access.",
    "name": "accessPolicies/165717541651/accessLevels/net_level",
    "title": "Net Level"
  }
]

Describe un nivel de acceso

Console

Con Cloud Console, consulta los pasos para enumerar niveles de acceso. Cuando enumeras tus niveles de acceso, se proporcionan detalles en la cuadrícula que aparece.

gcloud

Los niveles de acceso a la ficha solo proporcionan su nombre, título y tipo de nivel. Para obtener información detallada sobre lo que hace un nivel, usa el comando describe.

gcloud access-context-manager levels describe LEVEL_NAME \
    [--policy=POLICY_NAME]

Aquí:

  • LEVEL_NAME es el nombre del nivel de acceso que deseas describir.

  • POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es necesario si no estableciste una política de acceso predeterminada.

El comando imprimirá información sobre el nivel con formato YAML. Por ejemplo, si el nivel de acceso restringió el acceso a ciertas versiones del sistema operativo, el resultado podría verse así:

basic:
  conditions:
  - devicePolicy:
      allowedEncryptionStatuses:
      - ENCRYPTED
      osConstraints:
      - minimumVersion: 10.13.6
        osType: DESKTOP_MAC
      - minimumVersion: 10.0.18219
        osType: DESKTOP_WINDOWS
      - minimumVersion: 68.0.3440
        osType: DESKTOP_CHROME_OS
      requireScreenlock: true
name: accessPolicies/330193482019/accessLevels/Device_Trust
title: Device_Trust Extended

API

Los niveles de acceso de listas solo proporcionan el nombre, el título y el tipo de los niveles. Para obtener información detallada sobre un nivel de acceso, llama a accessLevels.get.

GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Aquí:

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

  • LEVEL_NAME es el nombre del nivel de acceso que deseas describir.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Parámetros opcionales

De manera opcional, incluye el parámetro de búsqueda accessLevelFormat. Normalmente, los niveles de acceso se muestran tal como están definidos, ya sea como BasicLevel o CustomLevel.

Puede especificar el valor CEL para que este parámetro muestre BasicLevels como CustomLevels en Common Expression Language de Cloud.

Cuerpo de la respuesta

Si tiene éxito, el cuerpo de respuesta de la llamada contiene un recurso AccessLevel que incluye detalles sobre lo que hace el nivel de acceso, la última vez que se actualizó el nivel y más.

Actualiza un nivel de acceso

En esta sección, se describe cómo actualizar los niveles de acceso individuales. Para actualizar todos los niveles de acceso de tu organización en una sola operación, consulta Realiza cambios de forma masiva en los niveles de acceso.

Console

Para actualizar un nivel de acceso:

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

    Abrir la página de Access Context Manager

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

  3. En la cuadrícula, haz clic en el nombre del nivel de acceso que quieres actualizar.

  4. En el panel Editar nivel de acceso, realiza cambios en el nivel de acceso.

    Para obtener una lista completa de los atributos que puedes agregar o modificar, lee sobre los atributos de nivel de acceso.

  5. Haga clic en Save.

    Además de actualizar o quitar condiciones existentes, puede agregar condiciones nuevas y agregar atributos nuevos a las existentes.

gcloud

Usa el comando update para actualizar un nivel de acceso.

Nivel de acceso básico:

gcloud access-context-manager levels update LEVEL_NAME \
    --basic-level-spec=FILE \
    [--policy=POLICY_NAME]

Nivel de acceso personalizado:

gcloud access-context-manager levels update LEVEL_NAME \
    --custom-level-spec=FILE \
    [--policy=POLICY_NAME]

Aquí:

  • LEVEL_NAME es el nombre del nivel de acceso que deseas actualizar.

  • FILE es el nombre de un archivo .yaml que define las condiciones para el nivel de acceso (para los niveles de acceso básicos) o una expresión CEL que se resuelve en un solo valor booleano (para niveles de acceso personalizados).

    Para obtener una lista completa de los atributos que puedes usar en las condiciones básicas de nivel de acceso, consulta Atributos de nivel de acceso.

  • POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es necesario si no estableciste una política de acceso predeterminada.

  • Puedes incluir una o más de las siguientes opciones.

    Opciones
    combine-function

    Esta opción solo se usa para niveles de acceso básicos.

    Determina cómo se combinan las condiciones.

    Valores válidos: AND, OR

    description

    Una descripción con formato largo del nivel de acceso.

    title

    Un título corto para el nivel de acceso El título del nivel de acceso se muestra en Cloud Console.

    Puede incluir cualquiera de las marcas de todo gcloud.

Comando de ejemplo

gcloud access-context-manager levels update Device_Trust \
    --build-level-spec=corpdevspec.yaml \
    --combine-function=OR \
    --description='Access level that conforms to updated corporate spec.' \
    --title='Device_Trust Extended' \
    --policy=1034095178592

API

Para actualizar un nivel de acceso, llama a accessLevels.patch.

PATCH https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME?updateMask=FIELDS

Aquí:

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

  • LEVEL_NAME es el nombre del nivel de acceso que deseas describir.

  • FIELDS es una lista separada por comas de nombres de campo completamente calificados que estás actualizando.

Cuerpo de la solicitud

El cuerpo de la solicitud debe incluir un recurso AccessLevel que especifique los cambios que deseas realizar en el nivel de acceso.

Cuerpo de la respuesta

Si se ejecuta de forma correcta, el cuerpo de la respuesta para la llamada contiene un recurso Operation que proporciona detalles sobre la operación de parche.

Borra un nivel de acceso

Console

Para borrar un nivel de acceso, sigue estos pasos:

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

    Abrir la página de Access Context Manager

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

  3. En la cuadrícula, en la fila del nivel de acceso que deseas borrar, haz clic en el botón .

  4. Haz clic en Borrar.

  5. En el cuadro de diálogo que aparece, confirma que deseas borrar el nivel de acceso.

gcloud

Para borrar un nivel de acceso, sigue estos pasos:

  1. Usa el comando delete para borrar un nivel de acceso.

    gcloud access-context-manager levels delete LEVEL_NAME \
        [--policy=POLICY_NAME]
    

    Aquí:

    • LEVEL_NAME es el nombre del nivel de acceso que deseas borrar.

    • POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es necesario si no estableciste una política de acceso predeterminada.

  2. Confirma que deseas borrar el nivel de acceso.

    Por ejemplo:

    You are about to delete level Device_Trust
    
    Do you want to continue (Y/n)?
    
    
    You should see output similar to the following:
    
    
    Waiting for operation [accessPolicies/330193482019/accessLevels/Device_Trust/delete/1531171874311645] to complete...done.
    Deleted level [Device_Trust].
    

API

Para borrar un nivel de acceso, llama a accessLevels.delete.

DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME

Aquí:

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

  • LEVEL_NAME es el nombre del nivel de acceso que deseas describir.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Si tiene éxito, el cuerpo de respuesta de la llamada contiene un recurso Operation que proporciona detalles sobre la operación de eliminación.