En esta página se describe cómo gestionar los niveles de acceso. Puedes hacer lo siguiente:
Antes de empezar
Define tu política de acceso predeterminada para usar la herramienta de línea de comandos
gcloud
.-o-
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
gcloud
y para las llamadas a la API. Si defines una política de acceso predeterminada, no tendrás que especificar la política para la herramienta de línea de comandosgcloud
.Asegúrate de tener un rol de Gestión de Identidades y Accesos (IAM) a nivel de organización que te permita gestionar los niveles de acceso. Pide a tu administrador que te conceda uno de los siguientes roles o un rol personalizado con los mismos permisos:
Para ver los niveles de acceso, Lector de Administrador de contextos de acceso (
roles/accesscontextmanager.policyReader
)Para ver y cambiar los niveles de acceso, Editor de Administrador de contextos de acceso (
roles/accesscontextmanager.policyEditor
) o Administrador de contextos de acceso (roles/accesscontextmanager.policyAdmin
)
Mostrar niveles de acceso
Consola
Para ver una lista de todos los niveles de acceso, abre la página Gestor de contexto de acceso en la consola de Google Cloud y, si se te pide, selecciona tu organización. Los niveles de acceso de tu organización se muestran en una cuadrícula en la página, junto con detalles sobre la configuración de cada nivel de acceso.
gcloud
Para ver una lista de todos los niveles de acceso, usa el comando list
.
gcloud access-context-manager levels list \ [--policy=POLICY_NAME]
Donde:
- POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es obligatorio si no has definido una política de acceso predeterminada.
La salida será similar a la 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, llama a accessLevels.list
.
GET https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels
Donde:
- 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
Si quieres, puedes incluir uno o varios de los siguientes parámetros de consulta.
Parámetros | |
---|---|
pageSize
|
De forma predeterminada, la lista de
niveles de acceso devuelta por Puedes usar este parámetro para modificar el número de niveles de acceso que se devuelven por página. |
pageToken
|
Si el número de niveles de acceso devueltos por tu llamada supera el tamaño de página, el cuerpo de la respuesta incluirá un token de página. Puede usar este parámetro en una llamada posterior para obtener la siguiente página de resultados. |
accessLevelFormat
|
Normalmente, los niveles de acceso se devuelven tal como se definen, ya sea como
Puede especificar el valor |
Cuerpo de la respuesta
Si la llamada se realiza correctamente, el cuerpo de la respuesta contiene un objeto AccessLevels
que muestra los niveles de acceso y una cadena nextPageToken
. nextPageToken
solo tiene un valor si el número de niveles de acceso devueltos supera el tamaño de página. De lo contrario, nextPageToken
se devuelve como una cadena vacía.
Mostrar niveles de acceso (formato)
Con la herramienta de línea de comandos gcloud
, puedes obtener una lista de tus niveles de acceso en formato YAML o JSON.
Para obtener una lista con formato de los niveles de acceso, usa el comando list
.
gcloud access-context-manager levels list \ --format=FORMAT \ [--policy=POLICY_NAME]
Donde:
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 obligatorio si no has definido una política de acceso predeterminada.
La salida de YAML será similar a la 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
La salida JSON tendrá un aspecto similar al 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" } ]
Describe un nivel de acceso
Consola
En la consola Google Cloud , consulta los pasos para listar los niveles de acceso. Cuando enumeras tus niveles de acceso, se proporcionan detalles en la cuadrícula que aparece.
gcloud
Al enumerar los niveles de acceso, solo se muestran su nombre, título y tipo. 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]
Donde:
LEVEL_NAME es el nombre del nivel de acceso que quieres describir.
POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es obligatorio si no has definido una política de acceso predeterminada.
El comando imprimirá información sobre el nivel con formato YAML. Por ejemplo, si el nivel restringe el acceso a determinadas versiones del sistema operativo, el resultado podría ser similar al siguiente:
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
Al enumerar los niveles de acceso, solo se 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
Donde:
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 quieres describir.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Parámetros opcionales
También puede incluir el parámetro de consulta accessLevelFormat
. Normalmente, los niveles de acceso se devuelven tal como se definen, ya sea como BasicLevel
o CustomLevel
.
Puede especificar el valor CEL
para este parámetro y devolver BasicLevels
como CustomLevels
en Cloud Common Expression Language.
Cuerpo de la respuesta
Si la llamada se realiza correctamente, el cuerpo de la respuesta contiene un recurso AccessLevel
que incluye detalles sobre lo que hace el nivel de acceso, la última vez que se actualizó y más información.
Actualizar un nivel de acceso
En esta sección se describe cómo actualizar niveles de acceso concretos. Para actualizar todos los niveles de acceso de tu organización en una sola operación, consulta Realizar cambios en bloque en los niveles de acceso.
Consola
Para actualizar un nivel de acceso, 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 cuadrícula, haga clic en el nombre del nivel de acceso que quiera actualizar.
En el panel Editar nivel de acceso, haz los cambios que quieras en el nivel de acceso.
Para ver una lista completa de los atributos que puede añadir o modificar, consulte la información sobre los atributos de nivel de acceso.
Haz clic en Guardar.
Además de actualizar o eliminar las condiciones que ya tenga, puede añadir condiciones y atributos nuevos a las condiciones que ya tenga.
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]
Donde:
LEVEL_NAME es el nombre del nivel de acceso que quieres actualizar.
FILE es el nombre de un archivo .yaml que define las condiciones del nivel de acceso (en el caso de los niveles de acceso básicos) o una expresión CEL que se resuelve en un único valor booleano (en el caso de los niveles de acceso personalizados).
Para ver una lista completa de los atributos que puede usar en las condiciones de sus niveles de acceso básicos, consulte el artículo sobre atributos de niveles de acceso.
POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es obligatorio si no has definido una política de acceso predeterminada.
Puedes incluir una o varias de las siguientes opciones.
Opciones combine-function
Esta opción solo se usa para los niveles de acceso básicos.
Determina cómo se combinan las condiciones.
Valores válidos:
AND
,OR
description
Una descripción detallada del nivel de acceso.
title
Un título corto para el nivel de acceso. El título del nivel de acceso se muestra en la consola Google Cloud .
Puedes incluir cualquiera de las marcas de gcloud.
Comando de ejemplo
gcloud access-context-manager levels update Device_Trust \ --basic-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
Donde:
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 quieres describir.
FIELDS es una lista separada por comas de nombres de campos completos que estás actualizando.
Cuerpo de la solicitud
El cuerpo de la solicitud debe incluir un recurso AccessLevel
que especifique los cambios que quieras hacer en el nivel de acceso.
Cuerpo de la respuesta
Si la llamada se realiza correctamente, el cuerpo de la respuesta contiene un recurso Operation
que proporciona detalles sobre la operación de parche.
Eliminar un nivel de acceso
Consola
Para eliminar un nivel de acceso, 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 cuadrícula, en la fila del nivel de acceso que quieras eliminar, haz clic en el botón
.Haz clic en Eliminar.
En el cuadro de diálogo que aparece, confirma que quieres eliminar el nivel de acceso.
gcloud
Para eliminar un nivel de acceso, sigue estos pasos:
Usa el comando
delete
para eliminar un nivel de acceso.gcloud access-context-manager levels delete LEVEL_NAME \ [--policy=POLICY_NAME]
Donde:
LEVEL_NAME es el nombre del nivel de acceso que quieres eliminar.
POLICY_NAME es el nombre de la política de acceso de tu organización. Este valor solo es obligatorio si no has definido una política de acceso predeterminada.
Confirma que quieres eliminar 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 eliminar un nivel de acceso, llama al accessLevels.delete
.
DELETE https://accesscontextmanager.googleapis.com/v1alpha/accessPolicies/POLICY_NAME/accessLevels/LEVEL_NAME
Donde:
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 quieres describir.
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Si la llamada se realiza correctamente, el cuerpo de la respuesta contiene un recurso Operation
que proporciona detalles sobre la operación de eliminación.