Las configuraciones de la entrada de acceso adaptado al contexto permiten el acceso a los recursos según los atributos del cliente, como el origen de la red (dirección IP o red de VPC), el tipo de identidad (cuenta de servicio o usuario), la identidad y los datos del dispositivo. El acceso se define mediante reglas de entrada.
Para obtener una descripción general de las reglas de entrada y salida, consulta Reglas de entrada y salida.
Para obtener instrucciones sobre cómo aplicar las políticas de reglas de entrada y salida, consulta Configura políticas de entrada y salida.
Ejemplos de configuración de casos de uso de acceso adaptado al contexto
En esta sección, se incluyen los siguientes ejemplos de acceso adaptado al contexto:
- Permite que los usuarios humanos accedan a BigQuery desde Internet y solo a las cuentas de servicio específicas accedan desde un rango de IP específico
- Permite que los empleados consulten BigQuery desde dispositivos de confianza a través de Internet y una cuenta de servicio específica para cargar datos de forma privada en un bucket de Cloud Storage (datos de origen)
Permite que los usuarios humanos accedan a BigQuery desde Internet y solo a las cuentas de servicio específicas accedan desde un rango de IP específico
Supongamos que definiste el siguiente perímetro, que se encuentra en la lista de perímetros con gcloud:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - storage.googleapis.com vpcAccessibleServices: enableRestriction: true allowedServices: - RESTRICTED_SERVICES title: Example
También suponemos que se definió un nivel de acceso denominado CorpDatacenters. En este ejemplo, CorpDatacenters es un rango incluido en la lista de entidades permitidas de direcciones IP de centros de datos corporativos que acceden a las cuentas de servicio.
Esta es la política direccional que permite el acceso a todos los seres humanos y un conjunto específico de cuentas de servicio, limitado a un conjunto particular de direcciones IP (definidas por un nivel de acceso):
echo """ - ingressFrom: identities: - serviceAccount:my-sa@my-project.iam.gserviceaccount.com sources: - accessLevel: accessPolicies/222/accessLevels/CorpDatacenters ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: \"*\" resources: - \"*\" - ingressFrom: identityType: ANY_USER_ACCOUNT sources: - accessLevel: \"*\" ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - method: \"*\" resources: - \"*\" """ > ingress.yaml
Ejecuta el siguiente comando para aplicar las reglas de entrada:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Permitir que los empleados consulten BigQuery y carguen datos de forma privada a un bucket de Cloud Storage
Supongamos que definiste el siguiente perímetro, que se encuentra en la lista de perímetros con gcloud:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - storage.googleapis.com vpcAccessibleServices: enableRestriction: true allowedServices: - RESTRICTED_SERVICES title: Example
Esta es la política direccional que permite que los seres humanos accedan a las vistas de BigQuery desde dispositivos de confianza (mediante un nivel de acceso) y una cuenta de servicio específica para acceder a Cloud Storage desde una red de VPC autorizada:
echo """ - ingressFrom: identities: - serviceAccount:my-sa@my-project.iam.gserviceaccount.com sources: - resource: projects/111 ingressTo: operations: - serviceName: storage.googleapis.com methodSelectors: - method: google.storage.Write - method: google.storage.objects.create resources: - \"*\" - ingressFrom: identityType: ANY_SERVICE_ACCOUNT sources: - resource: //compute.googleapis.com/projects/my-network-project/global/networks/top-tier-vpc-network ingressTo: operations: - serviceName: storage.googleapis.com methodSelectors: - method: google.storage.Write - method: google.storage.objects.create resources: - \"*\" - ingressFrom: identityType: ANY_USER_ACCOUNT sources: - accessLevel: accessPolicies/222/accessLevels/TrustedDevices ingressTo: operations: - serviceName: bigquery.googleapis.com methodSelectors: - permission: bigquery.tables.getData resources: - \"*\" """ > ingress.yaml
Ejecuta el siguiente comando para aplicar las reglas de entrada:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Para obtener información sobre las limitaciones de las redes de VPC cuando las usas en perímetros de servicio, consulta Limitaciones de las redes de VPC.