En esta página se describe cómo crear un perímetro de servicio.
Antes de empezar
Consulta información sobre cómo configurar perímetros de servicio.
Consulta información sobre la gestión de redes de VPC en perímetros de servicio.
Consulte cómo conceder acceso a Controles de Servicio de VPC.
Si quieres configurar el acceso externo a tus servicios protegidos al crear el perímetro, crea uno o varios niveles de acceso antes de crear el perímetro.
Crear un perímetro de servicio
En esta sección se describe cómo crear un perímetro de servicio, añadir proyectos o redes de VPC al perímetro y proteger los servicios.
Cuando creas un perímetro de servicio, puedes permitir el acceso a servicios protegidos desde fuera del perímetro y especificar a qué servicios pueden acceder otros servicios y usuarios dentro del perímetro. Si lo prefieres, puedes configurar estos ajustes después de crear un perímetro.
Después de crear o actualizar un perímetro de servicio, los cambios pueden tardar hasta 30 minutos en propagarse y aplicarse. Durante este tiempo, es posible que el perímetro bloquee las solicitudes con el siguiente mensaje de error: Error 403: Request is prohibited by organization's policy.
Consola
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.
Si se te solicita, selecciona tu organización, carpeta o proyecto.
Seleccione una política de acceso o cree una. Asegúrate de que el ámbito de la política de acceso incluya todos los proyectos y las redes de VPC que quieras añadir al perímetro.
En la página Controles de Servicio de VPC, selecciona un modo de aplicación obligatoria del perímetro. De forma predeterminada, está seleccionado el modo obligatorio. Si quieres crear un perímetro de ejecución de prueba, haz clic en Modo de ejecución de prueba.
Los perímetros obligatorios impiden activamente el acceso a los servicios protegidos. Los perímetros 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 prueba y obligatorio, consulta el artículo sobre los perímetros de servicio.
Haga clic en Nuevo perímetro.
En la página Crear un perímetro de servicio, en el campo Título, introduce un nombre para el perímetro.
El nombre de un perímetro puede tener una longitud máxima de 50 caracteres, debe empezar por una letra y solo puede contener letras latinas ASCII (a-z, A-Z), números (0-9) o guiones bajos (
_
). El nombre del perímetro distingue entre mayúsculas y minúsculas, y debe ser único en una política de acceso.Opcional: En el campo Descripción, escriba una descripción del perímetro.
En Tipo de perímetro, selecciona Normal.
En Modo de implementación obligatoria, selecciona un modo de implementación obligatoria perimetral. Las opciones disponibles son Prueba de funcionamiento y Obligatorio.
Haz clic en Continuar.
Para añadir proyectos o redes de VPC que quieras proteger dentro del perímetro, haz lo siguiente:
Para añadir proyectos al perímetro, haz clic en Añadir proyectos.
En el panel Añadir proyectos, selecciona los proyectos que quieras proteger.
Haz clic en Añadir proyectos seleccionados. Los proyectos añadidos aparecen en la sección Proyectos.
Para añadir redes de VPC al perímetro, haga clic en Añadir redes.
En la lista de proyectos, haga clic en el proyecto que contenga las redes de VPC.
En el panel Añadir redes de VPC, selecciona las redes de VPC que quieras proteger.
Haz clic en Añadir redes seleccionadas. Las redes añadidas aparecen en la sección Redes de VPC.
Haz clic en Continuar.
Para seleccionar los servicios que quieras proteger dentro del perímetro, sigue estos pasos:
En el panel Servicios restringidos, haga clic en Añadir servicios.
En el panel Añadir servicios, selecciona los servicios que quieras proteger.
.Haz clic en Añadir servicios seleccionados.
Haz clic en Continuar.
Opcional: Si quieres definir a qué servicios se puede acceder desde los endpoints de red que están dentro de un perímetro, en el panel Servicios accesibles de VPC, selecciona una de las opciones disponibles:
Todos los servicios: esta opción permite todos los servicios de Google Cloud .
Ningún servicio: esta opción no permite ninguno de los Google Cloud servicios.
Todos los servicios restringidos: esta opción solo permite los Google Cloud servicios que has protegido en este perímetro.
Servicios seleccionados: esta opción solo permite los Google Cloud servicios que hayas seleccionado.
Haz clic en Añadir servicios.
En el panel Añadir servicios, selecciona los servicios que quieras permitir.
Haz clic en Añadir servicios seleccionados.
Para incluir también todos los servicios restringidos que protege el perímetro en los servicios seleccionados, activa el interruptor Incluir todos los servicios restringidos.
Haz clic en Continuar.
También puedes añadir servicios accesibles después de crear un perímetro.
Para obtener más información, consulta Servicios accesibles de VPC.
Opcional: Para permitir el acceso a recursos protegidos desde fuera del perímetro mediante niveles de acceso, haz lo siguiente:
En el panel Niveles de acceso, haz clic en Añadir niveles de acceso.
También puedes añadir niveles de acceso después de crear un perímetro.
Seleccione las casillas correspondientes a los niveles de acceso que quiera aplicar al perímetro.
Haz clic en Añadir niveles de acceso seleccionados.
Haz clic en Continuar.
Para permitir que los clientes de API que estén fuera de un perímetro accedan a los recursos que se encuentran dentro de él, haz lo siguiente:
En el panel Reglas de entrada, haz clic en Añadir una regla de entrada.
En el campo Title, introduce un título para la regla de entrada.
En la sección Desde, especifica las fuentes de fuera del perímetro que requieren acceso. Puedes especificar proyectos, niveles de acceso y redes de VPC como fuentes.
En la sección Para, especifica los recursos del perímetro a los que pueden acceder las fuentes.
Haz clic en Continuar.
Para ver la lista de atributos de las reglas de entrada, consulta la referencia de las reglas de entrada.
Para permitir el acceso que implique un cliente de API o recursos dentro del perímetro a recursos fuera de un perímetro, haz lo siguiente:
En el panel Reglas de salida, haz clic en Añadir una regla de salida.
En el campo Título, introduce un título para la regla de salida.
En la sección From (De), especifica las fuentes del perímetro que requieren acceso.
En la sección Para, especifica los recursos fuera del perímetro a los que pueden acceder las fuentes.
Para ver la lista de atributos de las reglas de salida, consulta la referencia de reglas de salida.
Haz clic en Crear.
gcloud
Para crear un perímetro en modo obligatorio, usa el comando gcloud access-context-manager perimeters create
.
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED-SERVICES \ --ingress-policies=INGRESS-FILENAME.yaml \ --egress-policies=EGRESS-FILENAME.yaml \ [--access-levels=LEVELS] \ [--enable-vpc-accessible-services] \ [--vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Para crear un perímetro en modo de prueba, usa el comando gcloud access-context-manager perimeters dry-run create
.
gcloud access-context-manager perimeters dry-run create NAME \ --perimeter-title=TITLE \ --perimeter-type=TYPE \ --perimeter-resources=RESOURCES \ --perimeter-restricted-services=RESTRICTED-SERVICES \ --perimeter-ingress-policies=INGRESS-FILENAME.yaml \ --perimeter-egress-policies=EGRESS-FILENAME.yaml \ [--perimeter-access-levels=LEVELS] \ [--perimeter-enable-vpc-accessible-services] \ [--perimeter-vpc-allowed-services=ACCESSIBLE-SERVICES] \ --policy=POLICY_NAME
Haz los cambios siguientes:
NAME es el nombre del perímetro.
El nombre de un perímetro puede tener una longitud máxima de 50 caracteres, debe empezar por una letra y solo puede contener letras latinas ASCII (a-z, A-Z), números (0-9) o guiones bajos (
_
). El nombre del perímetro distingue entre mayúsculas y minúsculas, y debe ser único en una política de acceso.TITLE es el título del perímetro que pueden leer los usuarios.
TYPE es el tipo de perímetro. Por ejemplo, un perímetro "normal" o un perímetro "de puente".
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
. Si especificas proyectos, solo se admiten números de proyecto. No puedes usar el nombre ni el ID del proyecto.RESTRICTED-SERVICES es una lista separada por comas de uno o varios servicios. Por ejemplo,
.storage.googleapis.com
ostorage.googleapis.com,bigquery.googleapis.com
.INGRESS-FILENAME es un archivo JSON o YAML que contiene los valores de los atributos de origen, identidad, proyecto y servicio. Para ver la lista de atributos de reglas de entrada, consulta la referencia de reglas de entrada.
EGRESS-FILENAME es un archivo JSON o YAML que contiene los valores de los atributos de identidad, proyecto y servicio. Para ver la lista de atributos de reglas de salida, consulta la referencia de reglas de salida.
POLICY_NAME es el nombre numérico de la política de acceso de tu organización. Por ejemplo,
330193482019
. Solo tienes que incluir el nombre de la política si no has definido una política de acceso predeterminada.
Opciones adicionales:
--access-levels
o--perimeter-access-levels
solo son obligatorios si quieres añadir niveles de acceso al crear el perímetro. LEVELS es una lista separada por comas de uno o varios niveles de acceso que quieres aplicar al perímetro de servicio.También puedes añadir niveles de acceso después de crear el perímetro.
--enable-vpc-accessible-services
y--vpc-allowed-services
, o--perimeter-enable-vpc-accessible-services
y--perimeter-vpc-allowed-services
, solo son obligatorios si quieres añadir servicios accesibles de VPC al crear el perímetro. ACCESSIBLE-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 podrá acceder a los servicios que no estén incluidos en esta lista.Solo puedes hacer que un servicio sea accesible si también lo proteges al configurar el perímetro.
Para incluir rápidamente todos los servicios protegidos por un perímetro, especifica
RESTRICTED-SERVICES
en la lista de ACCESSIBLE-SERVICES. Por ejemplo,--perimeter-vpc-allowed-services=RESTRICTED-SERVICES
.También puedes definir servicios accesibles de VPC después de crear el perímetro.
Por ejemplo, el siguiente comando crea un perímetro en modo de prueba llamado ProdPerimeter
que incluye los proyectos example-project
y example-project2
, y restringe las APIs Cloud Storage y BigQuery.
gcloud access-context-manager perimeters \ dry-run create ProdPerimeter --perimeter-title="Production Perimeter" \ --perimeter-type="regular" \ --perimeter-resources=projects/12345,projects/67890 \ --perimeter-restricted-services=storage.googleapis.com,bigquery.googleapis.com \ --perimeter-ingress-policies=ingress.yaml \ --perimeter-egress-policies=egress.yaml \ --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.
En el recurso ServicePerimeter
, especifica PERIMETER_TYPE_REGULAR
en perimeterType
.
Modo de ejecución de prueba
El perímetro propuesto debe incluirse como spec
y useExplicitDryRunSpec
con el valor "true".
Cuerpo de la respuesta
Si la llamada se realiza correctamente, el cuerpo de la respuesta contiene un recurso Operation
que proporciona detalles sobre la operación POST
.
Siguientes pasos
- Consulta cómo probar el impacto de un perímetro de servicio con el modo de prueba.
- Consulta cómo gestionar los perímetros de servicio.
- Consulta cómo solucionar problemas habituales de Controles de Servicio de VPC.
- Completa este laboratorio para aprender a proteger proyectos y sus servicios con Controles de Servicio de VPC.
- Consulta cómo configurar y ver el panel de control de infracciones.