Crea un perímetro de servicio

En esta página, se describe cómo crear un perímetro de servicio.

Antes de comenzar

Crea un perímetro de servicio

En esta sección, se describe cómo crear un perímetro de servicio, incluso cómo incluir proyectos y proteger los servicios.

Cuando creas un perímetro de servicio, puedes permitir el acceso a los servicios protegidos en el exterior del perímetro y especificar qué servicios son accesibles a otros servicios y usuarios dentro del perímetro. Si lo prefieres, puedes definir esta configuración después de crear un perímetro.

Después de crear un perímetro de servicio, los cambios pueden tomar 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. Si se te solicita, selecciona tu organización. No se pueden crear perímetros a nivel de proyecto.

  3. En la parte superior de la página Controles del servicio de VPC, selecciona un modo de perímetro. De forma predeterminada, está seleccionado el Modo de aplicación forzosa. Si deseas crear un perímetro de ejecución de prueba, haz clic en Modo de ejecución de prueba.

    Los perímetros de aplicación forzosa evitan el acceso a servicios protegidos de manera activa. Los perímetros de ejecución de prueba registran las infracciones del perímetro como si los servicios estuvieran protegidos, pero no impiden el acceso a esos servicios. Para obtener más información sobre los modos de aplicación forzosa y de ejecución de prueba, lee sobre los perímetros de servicio.

  4. Haz clic en Perímetro nuevo.

  5. En la página Nuevo perímetro de servicio de VPC, en el cuadro Nombre del perímetro, escribe un nombre para el perímetro.

  6. Selecciona los proyectos que desees proteger dentro del perímetro:

    1. En Proteger los proyectos, haz clic en Agregar proyectos.

    2. Para agregar un proyecto al perímetro, en la ventana Agregar proyectos, selecciona la casilla de verificación de ese proyecto.

    3. Haz clic en Agregar n proyectos, n es la cantidad de proyectos que seleccionaste en el paso anterior.

  7. Selecciona los servicios que deseas proteger dentro del perímetro:

    1. En Servicios que se protegerán, haz clic en Agregar servicios.

    2. Para proteger los servicios dentro del perímetro, en la ventana Especificar los servicios que deseas restringir, selecciona la casilla de verificación de ese servicio.

    3. Haz clic en Agregar n servicios. n es la cantidad de servicios que seleccionaste en el paso anterior.

  8. Si deseas definir qué servicios son accesibles dentro de un perímetro, por ejemplo, desde las VM en una red de VPC alojada por uno de los proyectos que seleccionaste anteriormente, haz lo siguiente (opcional):

    1. En Servicios de VPC accesibles, haz clic en Add VPC Restricted Services. Solo puedes hacer que los servicios sean accesibles si también los proteges con el perímetro.

      También puedes agregar servicios accesibles después de crear un perímetro.

    2. En la ventana Especificar los servicios que deseas restringir, selecciona la casilla de verificación en cada fila que corresponda a un servicio que quieras que sea accesible dentro del perímetro.

    3. Haz clic en Agregar n servicios, n es la cantidad de servicios que seleccionaste en el paso anterior.

  9. Si deseas permitir solicitudes a servicios protegidos desde fuera del perímetro, haz lo siguiente (opcional):

    1. Haz clic en el cuadro Selecciona el nivel de acceso.

      También puedes agregar niveles de acceso después de crear un perímetro.

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

  10. Haz clic en el botón Guardar.

gcloud

Para crear un perímetro nuevo, usa el comando create.

gcloud [beta] access-context-manager perimeters [dry-run] create NAME \
  --title=TITLE \
  --resources=PROJECTS \
  --restricted-services=RESTRICTED-SERVICES \
  [--levels=LEVELS] \
  [--enable-vpc-accessible-services] \
  [--add-vpc-allowed-services=ACCESSIBLE-SERVICES] \
  --policy=POLICY_NAME

Donde:

  • beta y dry-run solo son obligatorios si deseas crear el perímetro en modo de ejecución de prueba. Por ejemplo: gcloud beta access-context-manager perimeters dry-run create ...

  • NAME es el nombre del perímetro.

  • TITLE es el título legible del perímetro.

  • PROJECTS es una lista separada por comas de uno o más números de proyectos. Por ejemplo: projects/12345 o projects/12345,projects/67890. Solo se admiten los números de proyecto. No puedes usar el nombre o ID del proyecto.

  • RESTRICTED-SERVICES es una lista separada 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 numérico de la política de acceso de tu organización. Por ejemplo, 330193482019. Solo debes incluir el nombre de la política si no configuraste una política de acceso predeterminada.

Opciones adicionales:

  • --levels solo es necesario si deseas agregar niveles de acceso cuando creas el perímetro. LEVELS es una lista separada por comas de uno o más niveles de acceso que deseas aplicar al perímetro de servicio.

    También puedes agregar niveles de acceso después de crear el perímetro.

  • --enable-vpc-accessible-services y --add-vpc-allowed-services solo son obligatorios si quieres agregar servicios accesibles de VPC cuando creas el perímetro. ACCESSIBLE-SERVICES es una lista separada por comas de uno o más servicios a los que deseas permitir que las redes dentro del perímetro tengan acceso. Se evitará el acceso a cualquier servicio que no esté incluido en esta lista.

    Solo puedes hacer que un servicio sea accesible si también lo proteges cuando configuras el perímetro.

    A fin de incluir todos los servicios protegidos por un perímetro con rapidez, especifica RESTRICTED-SERVICES en la lista para ACCESSIBLE-SERVICES. Por ejemplo, --add-vpc-allowed-services=RESTRICTED-SERVICES.

    También puedes definir servicios de VPC accesibles después de crear el perímetro.

Por ejemplo, el siguiente comando crea un perímetro nuevo llamado ProdPerimeter que incluye proyectos example-project y example-project2, y restringe las API de Cloud Storage y de BigQuery.

gcloud access-context-manager perimeters \
  create ProdPerimeter --title="Production Perimeter" \
  --resources=projects/12345,projects/67890 \
  --restricted-services=storage.googleapis.com,bigquery.googleapis.com \
  --policy=330193482019

API

Para crear un perímetro de servicio, llama a accessPolicies.servicePerimeters.create.

POST https://accesscontextmanager.googleapis.com/v1/accessPolicies/POLICY_NAME/servicePerimeters

Donde:

  • POLICY_NAME es el nombre numérico de la política de acceso de tu organización. Por ejemplo, 330193482019.

Cuerpo de la solicitud

El cuerpo de la solicitud debe incluir un recurso ServicePerimeter que defina el perímetro de servicio.

Para el recurso ServicePerimeter, especifica PERIMETER_TYPE_REGULAR en perimeterType.

Modo de ejecución de prueba

El perímetro propuesto se debe incluir como spec y useExplicitDryRunSpec configurados como verdadero.

Cuerpo de la respuesta

Si tiene éxito, el cuerpo de la respuesta de la llamada contendrá un recurso Operation que proporciona detalles sobre la operación POST.

¿Qué sigue?