Accès contextuel à l'aide de règles d'entrée

Les configurations à base de règles d'entrée contextuelles permettent l'accès aux ressources en fonction d'attributs du client, tels que l'origine de réseau (adresse IP ou réseau VPC), le type d'identité (compte de service ou utilisateur), l'identité et les données d'appareil. L'accès est défini par des règles d'entrée.

Pour obtenir une présentation des règles d'entrée et de sortie, consultez la section Règles d'entrée et de sortie.

Pour obtenir des instructions sur l'application des règles d'entrée et de sortie, consultez la section Configurer des règles d'entrée et de sortie.

Exemples de configuration pour des cas d'utilisation de l'accès contextuel

Cette section contient les exemples d'accès contextuel suivants :

  1. Autoriser l'accès à BigQuery depuis Internet pour les utilisateurs humains et depuis une plage d'adresses IP spécifiée pour certains comptes de service spécifiques uniquement
  2. Autoriser les employés à interroger BigQuery à partir d'appareils vérifiés sur Internet et autoriser un compte de service spécifique à charger des données de manière privée dans un bucket Cloud Storage (données source)

Autoriser l'accès à BigQuery depuis Internet pour les utilisateurs humains et depuis une plage d'adresses IP spécifiée pour certains comptes de service spécifiques uniquement

Entrée provenant d'utilisateurs et de réseaux reconnus

Supposons que vous avez défini le périmètre suivant, obtenu en répertoriant le périmètre à l'aide de 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 

Nous considérons également qu'un niveau d'accès appelé "CorpDatacenters" a été défini. Dans cet exemple, CorpDatacenters est une plage d'adresses IP en liste blanche, correspondant à des centres de données d'entreprise qui utilisent pour leur accès les comptes de service autorisés.

Voici la règle directionnelle permettant d'autoriser tous les utilisateurs humains ainsi qu'un ensemble spécifique de comptes de service, restreints à un ensemble spécifique d'adresses IP (défini par un niveau d'accès) :

 echo """ - ingressFrom:     identities:     - serviceAccount:[email protected]     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 

Appliquez les règles d'entrée en exécutant la commande suivante :

 gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml 

Autoriser les employés à interroger BigQuery et à charger des données de manière privée dans un bucket Cloud Storage

Entrée provenant d'appareils et de réseaux reconnus

Supposons que vous avez défini le périmètre suivant, obtenu en répertoriant le périmètre à l'aide de 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 

Voici la règle directionnelle permettant aux utilisateurs d'accéder aux vues BigQuery à partir d'appareils approuvés (à l'aide d'un niveau d'accès) et permettant à un compte de service spécifique d'accéder à Cloud Storage de manière privée à partir d'un réseau VPC autorisé :

 echo """ - ingressFrom:     identities:     - serviceAccount:[email protected]     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 

Appliquez les règles d'entrée en exécutant la commande suivante :

 gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml 

Pour en savoir plus sur les limites des réseaux VPC lorsque vous les utilisez dans des périmètres de service, consultez la section Limites des réseaux VPC.