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

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

NAME           TITLE                 ETAG
ProdPerimeter  Production Perimeter  abcdefg123456789

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

gcloud access-context-manager perimeters \
  describe PERIMETER_ID

Reemplaza lo siguiente:

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

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

etag: abcdefg123456789
name: accessPolicies/626111171578/servicePerimeters/ProdPerimeter
status:
  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

Reemplaza lo siguiente:

  • FORMAT es uno de los siguientes valores:

    • list (formato YAML)

    • json (formato JSON)

El siguiente resultado es una lista de ejemplos en formato YAML:

- etag: abcdefg123456789
  name: accessPolicies/165717541651/servicePerimeters/On_Prem
  status: {'resources': ['projects/167410821371'], 'restrictedServices': ['bigquery.googleapis.com', 'storage.googleapis.com']}
  title: On Prem
- etag: hijklmn987654321
  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
- etag: pqrstuv123456789
  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:

[
  {
    "etag": "abcdefg123456789",
    "name": "accessPolicies/165717541651/servicePerimeters/On_Prem",
    "status": {
      "resources": [
        "projects/167410821371"
      ],
      "restrictedServices": [
        "bigquery.googleapis.com",
        "storage.googleapis.com"
      ]
    },
    "title": "On Prem"
  },
  {
    "etag": "hijklmn987654321",
    "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
  },
  {
    "etag": "pqrstuv123456789",
    "name": "accessPolicies/165717541651/servicePerimeters/OnpremBridge",
    "perimeterType": "PERIMETER_TYPE_BRIDGE",
    "status": {
      "resources": [
        "projects/167410821371"
      ]
    },
    "title": "OnpremBridge"
  }
]

Actualiza 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 las solicitudes con el siguiente mensaje de error: Error 403: Request is prohibited by organization's policy.

Console

  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 agregarás:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-resources=RESOURCES

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.

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

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.

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 las solicitudes con el siguiente mensaje de error: Error 403: Request is prohibited by organization's policy.

Console

  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

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.

Para obtener más información sobre el uso de niveles de acceso con un perímetro, consulta Permite el acceso a recursos protegidos desde fuera de un perímetro.

Cómo 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.

Console

  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

Reemplaza lo siguiente:

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

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

Para habilitar estos servicios para el perímetro de servicio, usa el comando update:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --enable-vpc-accessible-services \
  --add-vpc-allowed-services=SERVICES

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.

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

Para agregar servicios adicionales a los servicios accesibles de VPC para tu perímetro, usa el comando update:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-vpc-allowed-services=SERVICES

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.

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

Para quitar servicios de los servicios accesibles de VPC para tu perímetro de servicio, usa el comando update:

gcloud access-context-manager perimeters update PERIMETER_ID \
  --remove-vpc-allowed-services=SERVICES

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.

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

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

gcloud access-context-manager perimeters update PERIMETER_ID \
  --no-enable-vpc-accessible-services \
  --clear-vpc-allowed-services

Reemplaza lo siguiente:

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

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.