Administrar 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:

Consola

  1. En el menú de navegación de la consola de Google Cloud, 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_ID]

Reemplaza 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_ID \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID del perímetro de servicio sobre el que deseas obtener detalles.

  • POLICY_ID es el ID 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 los 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_ID]

Reemplaza lo siguiente:

  • FORMAT es uno de los siguientes valores:

    • list (formato YAML)

    • json (formato JSON)

  • POLICY_ID es el ID 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 siguiente resultado es una lista de ejemplos en formato YAML:

- 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 siguiente resultado es una lista de ejemplo en formato JSON:

[
  {
    "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"
  }
]

Actualizar un perímetro de servicio

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.

Puedes realizar las siguientes tareas para actualizar un perímetro de servicio:

Después de actualizar un perímetro de servicio, los cambios pueden tardar hasta 30 minutos en propagarse y surtir efecto. Durante este tiempo, el perímetro podría bloquear solicitudes con el siguiente mensaje de error: Error 403: Request is prohibited by organization's policy..

Consola

  1. En el menú de navegación de la consola de Google Cloud, 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

Para agregar recursos nuevos a un perímetro, usa el comando update y especifica los recursos que deseas agregar:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-resources=RESOURCES \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID del perímetro de servicio sobre el que deseas obtener detalles.

  • RESOURCES es una lista separada por comas de uno o más números de proyectos o nombres de redes de VPC. Por ejemplo, projects/12345 o //compute.googleapis.com/projects/my-project/global/networks/vpc1. Solo se permiten proyectos y redes de VPC. Formato del proyecto: projects/project_number. Formato de VPC: //compute.googleapis.com/projects/project-id/global/networks/network_name.

  • POLICY_ID es el ID 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_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID 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_ID es el ID 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. Durante este tiempo, el perímetro podría bloquear solicitudes con el siguiente mensaje de error: Error 403: Request is prohibited by organization's policy..

Consola

  1. En el menú de navegación de la consola de Google Cloud, 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_ID \
  --add-access-levels=LEVEL_NAME \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID de tu perímetro de servicio.

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

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

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

Consola

  1. En el menú de navegación de la consola de Google Cloud, 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 correspondiente al perímetro que deseas borrar, haz clic en .

gcloud

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

gcloud access-context-manager perimeters delete PERIMETER_ID \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID de tu perímetro de servicio.

  • POLICY_ID es el ID 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.

Puedes usar la función de servicios accesibles de VPC para limitar el conjunto de servicios al que se puede acceder desde extremos de red dentro del perímetro de servicio. Puedes agregar servicios accesibles de VPC a perímetros de servicio, pero no a puentes perimetrales.

Lee Servicios de VPC accesibles para obtener más información.

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_ID \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID 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_ID es el ID 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, para asegurarte de que las redes de VPC de tu perímetro solo tengan acceso a los servicios de Logging y Cloud Storage, usa 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_ID \
  --add-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID 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_ID es el ID 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 habilitas los servicios accesibles de VPC y necesitas que las redes de VPC de tu perímetro tengan acceso al servicio de Pub/Sub, usa 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_ID \
  --remove-vpc-allowed-services=SERVICES \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID 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 a los cuales las redes dentro de tu perímetro de servicio pueden acceder.

  • POLICY_ID es el ID 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 habilitas 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, usa 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_ID \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services \
  [--policy=POLICY_ID]

Reemplaza lo siguiente:

  • PERIMETER_ID es el ID de tu perímetro de servicio.

  • POLICY_ID es el ID 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, usa 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

También puedes usar la API de Access Context Manager para administrar los 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.