Administra perímetros de servicio

En esta página, se describe cómo administrar perímetros de servicio en los Controles del servicio de VPC. Para obtener detalles sobre cómo crear nuevos perímetros de servicio, consulta Crea un perímetro de servicio.

Esta página incluye las siguientes secciones:

Antes de comenzar

Enumera y describe perímetros de servicio

Enumera todos los perímetros de servicio en una organización:

Console

  1. En el menú de navegación de Google Cloud Console, haz clic en Seguridad y, luego, en Controles del servicio de VPC.

    Ir a la página Controles del servicio de VPC

  2. En la página Controles del servicio de VPC, en la tabla, haz clic en el nombre del perímetro de servicio que deseas ver.

gcloud

Para mostrar los perímetros de servicio de tu organización, usa el comando list:

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

En el ejemplo anterior, se ilustra lo siguiente:

Deberías ver una lista de los perímetros de tu organización. Por ejemplo:

NAME           TITLE
ProdPerimeter  Production Perimeter

Para ver los detalles de un perímetro de servicio, usa el comando describe:

gcloud access-context-manager perimeters \
  describe PERIMETER_NAME \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre del perímetro de servicio sobre el que deseas obtener detalles.

  • 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.

Deberías ver los detalles del perímetro. Por ejemplo:

accessLevels:
- accessPolicies/626111171578/accessLevels/corpAccess
resources:
- projects/111584792408
restrictedServices:
- bigquery.googleapis.com
- storage.googleapis.com
title: Production Perimeter

Enumera perímetros de servicio (con formato)

Mediante la herramienta de línea de comandos de gcloud, puedes obtener una lista de tus perímetros de servicio en formato YAML o JSON.

Para obtener una lista con formato de los perímetros, usa el comando list.

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

En el ejemplo anterior, se ilustra lo siguiente:

  • 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 de YAML se verá similar a lo siguiente:

- name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- name: accessPolicies/165717541651/servicePerimeters/Private
  spec: {'resources': ['projects/136109111311'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com', 'logging.googleapis.com']}
  status: {'resources': ['projects/136109111311', 'projects/401921913171'], 'restrictedServices': ['bigquery.googleapis.com']}
  title: Private
  useExplicitDryRunSpec: True
- name: accessPolicies/165717541651/servicePerimeters/OnpremBridge
  perimeterType: PERIMETER_TYPE_BRIDGE
  status: {'resources': ['projects/167410821371']}
  title: OnpremBridge

El resultado de JSON se verá similar a lo siguiente:

[
  {
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/Private",
    "spec": {
      "resources": [
        "projects/136109111311"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com",
        "logging.googleapis.com"
      ]
    },
    "status": {
      "resources": [
        "projects/136109111311",
        "projects/401921913171"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com"
      ]
    },
    "title": "Private",
    "useExplicitDryRunSpec": true
  },
  {
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

Actualiza un perímetro de servicio

Puedes agregar nuevos proyectos de Google Cloud a un perímetro de servicio o quitarlos. Puedes cambiar la lista de servicios restringidos de Google Cloud. También puedes cambiar el título y la descripción de un perímetro de servicio. Para ello, debes proporcionar la lista completa de recursos.

En esta sección, se describe cómo actualizar los perímetros de servicio individuales. Para actualizar todos los perímetros de servicio de tu organización en una sola operación, consulta Realiza cambios masivos a los perímetros de servicio.

Después de actualizar un perímetro de servicio, los cambios pueden tardar hasta 30 minutos en propagarse y surtir efecto.

Console

  1. En el menú de navegación de Google Cloud Console, haz clic en Seguridad y, luego, en Controles del servicio de VPC.

    Ir a la página Controles del servicio de VPC

  2. En la página Controles del servicio de VPC, en la tabla, haz clic en el nombre del perímetro de servicio que deseas modificar.

  3. En la página Editar perímetro de servicio de VPC, actualiza el perímetro de servicio.

  4. Haz clic en Guardar.

gcloud

Si deseas agregar nuevos proyectos a un perímetro, usa el comando update y especifica los recursos que agregarás:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-resources=PROJECTS \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre del perímetro de servicio sobre el que deseas obtener detalles.

  • PROJECTS es una lista delimitada por comas de uno o más ID del proyecto. Por ejemplo, projects/100712 o projects/100712,projects/233130.

  • 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.

Para actualizar la lista de servicios restringidos, usa el comando update y especifica los servicios que deseas agregar como una lista delimitada por comas:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-restricted-services=SERVICES \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre del perímetro de servicio sobre el que deseas obtener detalles.

  • SERVICES es una lista delimitada por comas de uno o más servicios. Por ejemplo, storage.googleapis.com o storage.googleapis.com,bigquery.googleapis.com.

  • 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.

Agrega un nivel de acceso a un perímetro existente

Una vez que creaste un nivel de acceso, puedes aplicarlo a un perímetro de servicio para controlar el acceso.

Después de actualizar un perímetro de servicio, los cambios pueden tardar hasta 30 minutos en propagarse y surtir efecto.

Console

  1. En el menú de navegación de Google Cloud Console, haz clic en Seguridad y, luego, en Controles del servicio de VPC.

    Ir a la página Controles del servicio de VPC

  2. En la página Controles del servicio de VPC, en la tabla, haz clic en el nombre del perímetro de servicio que deseas modificar.

  3. En la página Editar perímetro de servicio de VPC, haz clic en la casilla Selecciona el nivel de acceso.

  4. Selecciona las casillas de verificación que correspondan a los niveles de acceso que deseas aplicar al perímetro de servicio.

  5. Haz clic en Guardar.

gcloud

Para agregar un nivel de acceso a un perímetro de servicio existente, usa el comando update:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • LEVEL_NAME es el nombre del nivel de acceso que deseas agregar al perímetro.

  • 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.

Borra un perímetro de servicio

Cuando borras un perímetro de servicio, los controles de seguridad asociados con el perímetro ya no se aplican a los proyectos asociados de Google Cloud. El cambio en los proyectos de Google Cloud o en los recursos asociados no representa ningún otro impacto.

Console

  1. En el menú de navegación de Google Cloud Console, haz clic en Seguridad y, luego, en Controles del servicio de VPC.

    Ir a la página Controles del servicio de VPC

  2. En la página Controles del servicio de VPC, en la fila de la tabla del perímetro que deseas borrar, haz clic en el botón .

gcloud

Para borrar un perímetro de servicio, usa el comando delete:

gcloud access-context-manager perimeters delete PERIMETER_NAME \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • 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.

Limita el acceso a los servicios dentro de un perímetro con servicios accesibles de VPC

En esta sección, se describe cómo habilitar, agregar, quitar y, también, inhabilitar servicios de VPC accesibles.

La característica de servicios accesibles de VPC se usa para limitar el conjunto de servicios al que se puede acceder desde extremos de red dentro del perímetro de servicio. Los servicios accesibles de VPC se pueden agregar solo a los perímetros de servicio, no a los puentes perimetrales.

Para obtener más información sobre la característica de servicios accesibles de VPC, lee sobre los servicios accesibles de VPC.

Habilita los servicios accesibles de VPC

A fin de habilitar estos servicios para el perímetro de servicio, usa el siguiente comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • SERVICES es una lista separada por comas de uno o más servicios a los que deseas permitir que tengan redes dentro de tu perímetro para acceder. Se evitará el acceso a cualquier servicio que no esté incluido en esta lista.

    Para incluir con rapidez los servicios protegidos por el perímetro, agrega RESTRICTED-SERVICES a la lista de SERVICES. Puedes incluir otros servicios, además de RESTRICTED-SERVICES.

  • 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.

Por ejemplo, si deseas que las redes de VPC de tu perímetro solo tengan acceso a los servicios de Logging y de Cloud Storage, tendrías que usar el siguiente comando:

gcloud access-context-manager perimeters update example_perimeter \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,logging.googleapis.com,storage.googleapis.com \
  --policy=11271009391

Agrega un servicio a los servicios accesibles de VPC

A fin de agregar servicios adicionales a los servicios accesibles de VPC para tu perímetro, usa el siguiente comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • SERVICES es una lista separada por comas de uno o más servicios a los que deseas permitir que tengan redes dentro de tu perímetro para acceder.

    Para incluir con rapidez los servicios protegidos por el perímetro, agrega RESTRICTED-SERVICES a la lista de SERVICES. Puedes incluir servicios distintos, además de RESTRICTED-SERVICES.

  • 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.

Por ejemplo, si ya habilitaste servicios accesibles de VPC y deseas que las redes de VPC de tu perímetro también tengan acceso al servicio de Pub/Sub, deberías usar el siguiente comando:

gcloud access-context-manager perimeters update example_perimeter \
  --add-vpc-allowed-services=RESTRICTED-SERVICES,pubsub.googleapis.com \
  --policy=11271009391

Quita un servicio de los servicios accesibles de VPC

A fin de quitar servicios de los servicios accesibles de VPC para tu perímetro de servicio, usa el siguiente comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • SERVICES es una lista separada por comas de uno o más servicios que deseas quitar de la lista de servicios que poseen redes dentro de tu perímetro de servicio y que pueden acceder.

  • 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.

Por ejemplo, si ya habilitaste los servicios accesibles de VPC y ya no deseas que las redes de VPC de tu perímetro tengan acceso al servicio de Cloud Storage, debes usar el siguiente comando:

gcloud access-context-manager perimeters update example_perimeter \
  --remove-vpc-allowed-services=storage.googleapis.com \
  --policy=11271009391

Inhabilita los servicios accesibles de VPC

A fin de inhabilitar las restricciones del servicio de VPC para el perímetro de servicio, usa el siguiente comando:

gcloud access-context-manager perimeters update PERIMETER_NAME \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_NAME]

En el ejemplo anterior, se ilustra lo siguiente:

  • PERIMETER_NAME es el nombre de tu perímetro de servicio.

  • 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.

Por ejemplo, a fin de inhabilitar las restricciones del servicio de VPC para example_perimeter, deberías usar el siguiente comando:

gcloud access-context-manager perimeters update example_perimeter \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  --policy=11271009391

Servicios de VPC accesibles y la API de Access Context Manager

La API de Access Context Manager también se puede usar para administrar servicios accesibles de VPC. Cuando crees o modifiques un perímetro de servicio, usa el objeto ServicePerimeterConfig en el cuerpo de la respuesta para configurar tus servicios accesibles de VPC.