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 :
- 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
- 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
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: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
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
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: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
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.