Kontextsensitive Zugriffsregel-Setups für eingehenden Traffic ermöglichen den Zugriff auf Ressourcen basierend auf Clientattributen wie Netzwerkursprung (IP-Adresse oder VPC-Netzwerk), Identitätstyp (Dienstkonto oder Nutzer), Identität und Gerätedaten. Der Zugriff wird durch Regeln für eingehenden Traffic definiert.
Eine Übersicht über Regeln für ein- und ausgehenden Traffic finden Sie unter Regeln für ein- und ausgehenden Traffic.
Eine Anleitung zum Anwenden von Richtlinien für ein- und ausgehenden Traffic finden Sie unter Richtlinien für ein- und ausgehenden Traffic konfigurieren.
Konfigurationsbeispiele für kontextsensitive Zugriffe
Dieser Abschnitt enthält die folgenden Beispiele für den kontextsensitiven Zugriff:
- Menschlichen Nutzern den Zugriff auf BigQuery über das Internet und nur den Zugriff bestimmter Dienstkonten über einen bestimmten IP-Bereich erlauben
- Mitarbeitern erlauben, BigQuery von vertrauenswürdigen Geräten über das Internet und ein bestimmtes Dienstkonto abzufragen, um Daten privat in einen Cloud Storage Bucket (Quelldaten) zu laden.
Menschlichen Nutzern den Zugriff auf BigQuery über das Internet und nur den Zugriff bestimmter Dienstkonten über einen bestimmten IP-Bereich erlauben
Angenommen, Sie haben den folgenden Perimeter definiert, der durch Listen des Perimeters mit gcloud ermittelt wird:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - storage.googleapis.com vpcAccessibleServices: enableRestriction: true allowedServices: - RESTRICTED_SERVICES title: Example
Nehmen wir außerdem an, dass eine Zugriffsebene namens "CorpDatacenters" definiert wurde. CorpDatacenters ist in diesem Beispiel ein IP-Bereich mit IP-Adressen von Unternehmensdatenzentren, auf die von den Dienstkonten zugegriffen werden kann.
Die folgende Richtlinie gilt für alle Menschen und bestimmte Dienstkonten, die auf eine bestimmte Gruppe von IP-Adressen beschränkt sind (definiert durch eine Zugriffsebene):
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
Wenden Sie die Eingangsregeln an. Führen Sie dazu den folgenden Befehl aus:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Mitarbeitern erlauben, BigQuery abzufragen und Daten privat in einen Cloud Storage-Bucket zu laden
Angenommen, Sie haben den folgenden Perimeter definiert, der durch Listen des Perimeters mit gcloud ermittelt wird:
name: accessPolicies/222/servicePerimeters/Example status: resources: - projects/111 restrictedServices: - bigquery.googleapis.com - storage.googleapis.com vpcAccessibleServices: enableRestriction: true allowedServices: - RESTRICTED_SERVICES title: Example
Hier ist die Richtungsrichtlinie, mit der Nutzer von vertrauenswürdigen Geräten (mithilfe einer Zugriffsebene) und einem bestimmten privaten Dienstkonto auf BigQuery-Ansichten zugreifen können, um über ein autorisiertes VPC-Netzwerk auf Cloud-Speicher zuzugreifen:
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
Wenden Sie die Eingangsregeln an. Führen Sie dazu den folgenden Befehl aus:
gcloud access-context-manager perimeters update Example --set-ingress-policies=ingress.yaml
Informationen zu den Einschränkungen von VPC-Netzwerken bei der Verwendung in Dienstperimetern finden Sie unter Einschränkungen von VPC-Netzwerken.