Gestionar perímetros de servicio

En esta página se describe cómo puedes gestionar los perímetros de servicio en los controles de servicio de VPC. Para obtener información sobre cómo crear perímetros de servicio, consulta el artículo Crear perímetros de servicio.

Esta página incluye las siguientes secciones:

Antes de empezar

Mostrar y describir perímetros de servicio

Para mostrar todos los perímetros de servicio de una organización, haz lo siguiente:

Consola

  1. En el menú de navegación de la Google Cloud consola, haga clic en Seguridad y, a continuación, en Controles de servicios de VPC.

    Ir a la página Controles de Servicio de VPC

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

gcloud

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

gcloud access-context-manager perimeters list

Debería ver una lista de los perímetros de su 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

Haz los cambios siguientes:

  • PERIMETER_ID es el ID del perímetro de servicio del que quieres obtener información.

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

Mostrar perímetros de servicio (formato)

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

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

gcloud access-context-manager perimeters list \
  --format=FORMAT

Haz los cambios siguientes:

  • FORMAT es uno de los siguientes valores:

    • list (formato YAML)

    • json (formato JSON)

A continuación, se muestra una lista de ejemplo 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

A continuación, se muestra un ejemplo de lista 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"
  }
]

Actualizar un perímetro de servicio

En esta sección se describe cómo actualizar perímetros de servicio concretos. Para actualizar todos los perímetros de servicio de tu organización en una sola operación, consulta el artículo Realizar cambios en bloque en 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 aplicarse. Durante este tiempo, el perímetro puede bloquear las 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 Google Cloud consola, haga clic en Seguridad y, a continuación, en Controles de servicios de VPC.

    Ir a la página Controles de Servicio de VPC

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

  3. En la página Detalles del perímetro de servicio, haz clic en Editar.

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

  5. Haz clic en Guardar.

gcloud

Para añadir recursos a un perímetro, usa el comando update y especifica los recursos que quieras añadir:

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

Haz los cambios siguientes:

  • PERIMETER_ID es el ID del perímetro de servicio del que quieres obtener información.

  • RESOURCES es una lista separada por comas de uno o varios números de proyecto 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 quieras añadir como una lista delimitada por comas:

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

Haz los cambios siguientes:

  • PERIMETER_ID es el ID del perímetro de servicio del que quieres obtener información.

  • SERVICES es una lista de uno o varios servicios separados por comas. Por ejemplo, storage.googleapis.com o storage.googleapis.com,bigquery.googleapis.com.

Añadir un nivel de acceso a un perímetro

Una vez que hayas creado 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 aplicarse. Durante este tiempo, el perímetro puede bloquear las 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 Google Cloud consola, haga clic en Seguridad y, a continuación, en Controles de servicios de VPC.

    Ir a la página Controles de Servicio de VPC

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

  3. En la página Detalles del perímetro de servicio, haz clic en Editar.

  4. En la página Editar perímetro de servicio, haz clic en Niveles de acceso.

  5. Haz clic en Añadir niveles de acceso.

  6. En el panel Añadir niveles de acceso, marca las casillas correspondientes a los niveles de acceso que quieras aplicar al perímetro de servicio.

  7. Haz clic en Añadir niveles de acceso seleccionados.

  8. Haz clic en Guardar.

gcloud

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

gcloud access-context-manager perimeters update PERIMETER_ID \
  --add-access-levels=LEVEL_NAME

Haz los cambios siguientes:

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

  • LEVEL_NAME es el nombre del nivel de acceso que quieres añadir al perímetro.

Para obtener más información sobre cómo usar los niveles de acceso con un perímetro, consulta Permitir el acceso a recursos protegidos desde fuera de un perímetro.

Eliminar un perímetro de servicio

Cuando eliminas un perímetro de servicio, los controles de seguridad asociados al perímetro dejan de aplicarse a los proyectos asociados. Google CloudNo habrá ningún otro impacto en los proyectos del miembro Google Cloud ni en los recursos asociados.

Consola

  1. En el menú de navegación de la Google Cloud consola, haga clic en Seguridad y, a continuación, en Controles de servicios de VPC.

    Ir a la página Controles de Servicio de VPC

  2. En la página Controles de Servicio de VPC, en la fila de la tabla correspondiente al perímetro que quieras eliminar, haz clic en .

gcloud

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

gcloud access-context-manager perimeters delete PERIMETER_ID

Haz los cambios siguientes:

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

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

En esta sección se describe cómo habilitar, añadir, quitar e inhabilitar servicios accesibles de VPC.

Puedes usar la función de servicios accesibles de VPC para limitar el conjunto de servicios a los que se puede acceder desde los endpoints de red dentro de tu perímetro de servicio. Puedes añadir servicios accesibles a través de VPC a perímetros de servicio, pero no a puentes de perímetro.

Para obtener más información sobre la función de servicios accesibles de VPC, consulta el artículo sobre servicios accesibles de VPC.

Habilitar servicios accesibles de VPC

Para habilitar los servicios accesibles de VPC en tu 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

Haz los cambios siguientes:

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

  • SERVICES es una lista separada por comas de uno o varios servicios a los que quieres que puedan acceder las redes internas de tu perímetro. No se puede acceder a los servicios que no están incluidos en esta lista.

    Para incluir rápidamente los servicios protegidos por el perímetro, añade 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 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

Añadir un servicio a los servicios accesibles de VPC

Para añadir más servicios a los servicios accesibles de VPC de tu perímetro, usa el comando update:

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

Haz los cambios siguientes:

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

  • SERVICES es una lista separada por comas de uno o varios servicios a los que quieres que puedan acceder las redes internas de tu perímetro.

    Para incluir rápidamente los servicios protegidos por el perímetro, añade RESTRICTED-SERVICES a la lista de SERVICES. Puedes incluir servicios independientes además de RESTRICTED-SERVICES.

Por ejemplo, si habilitas los servicios accesibles de VPC y quieres que las redes de VPC de tu perímetro tengan acceso al servicio 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

Quitar un servicio de los servicios accesibles de VPC

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

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

Haz los cambios siguientes:

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

  • SERVICES es una lista separada por comas de uno o varios servicios que quieres quitar de la lista de servicios a los que pueden acceder las redes dentro de tu perímetro de servicio.

Por ejemplo, si habilitas los servicios accesibles a través de la VPC y ya no quieres que las redes de VPC de tu perímetro tengan acceso al servicio Cloud Storage, usa el siguiente comando:

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

Inhabilitar servicios accesibles de VPC

Para inhabilitar las restricciones de servicio de VPC en tu perímetro de servicio, usa el comando update:

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

Haz los cambios siguientes:

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

Por ejemplo, para inhabilitar las restricciones de 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 accesibles de VPC y la API Access Context Manager

También puedes usar la API Access Context Manager para gestionar los servicios accesibles de la VPC. Cuando crees o modifiques un perímetro de servicio, usa el objeto ServicePerimeterConfig del cuerpo de la respuesta para configurar los servicios accesibles de tu VPC.