VPC Service Controls ist ein Google Cloud Feature mit dem Sie einen Perimeter einrichten können, der vor Daten-Exfiltration schützt. In dieser Anleitung erfahren Sie, wie Sie VPC Service Controls mit Dataform verwenden können, um Ihre Dienste noch sicherer zu machen.
VPC Service Controls bietet eine zusätzliche Sicherheitsebene für Google Cloud Dienste, die unabhängig von dem Schutz durch die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) ist.
Weitere Informationen zu VPC Service Controls finden Sie unter Überblick über VPC Service Controls.
Beschränkungen
Dataform unterstützt VPC Service Controls mit den folgenden Einschränkungen:
Sie müssen die
dataform.restrictGitRemotesOrganisationsrichtlinie festlegen.Dataform und BigQuery müssen durch denselben VPC Service Controls-Dienstperimeter eingeschränkt werden.
Wenn Sie bestimmten Nutzern erlauben möchten, sich bei der Planung von Ausführungen, manuellen Auslösung von Ausführungen oder Ausführung von Pipelines mit konfigurierten VPC Service Controls mit den Nutzeranmeldedaten für ihr Google-Konto zu authentifizieren, müssen Sie ihre Nutzeridentitäten zu Ihren Regeln für eingehenden Traffic hinzufügen. Weitere Informationen finden Sie unter Richtlinien für ein- und ausgehenden Traffic für einen Dienstperimeter aktualisieren und Referenz zu Regeln für eingehenden Traffic.
Sicherheitsaspekte
Wenn Sie einen VPC Service Controls-Perimeter für Dataform einrichten, prüfen Sie die Berechtigungen, die Ihren benutzerdefinierten Dienstkonten gewährt wurden, um sicherzustellen, dass sie Ihrer Sicherheitsarchitektur entsprechen.
Je nach den Berechtigungen, die Sie dem benutzerdefinierten Dienstkonto gewähren, hat dieses Dienstkonto möglicherweise Zugriff auf BigQuery- oder Secret Manager-Daten im Projekt, zu dem das Dienstkonto gehört, unabhängig von VPC Service Controls. In diesem Fall wird die Kommunikation mit BigQuery oder Secret Manager durch die Einschränkung von Dataform mit einem VPC Service Controls-Perimeter nicht blockiert.
Sie sollten die Kommunikation mit BigQuery blockieren, wenn Sie keine Workflowaufrufe aus Ihren Dataform-Repositories ausführen müssen. Weitere Informationen zum Blockieren der Kommunikation mit BigQuery finden Sie unter Kommunikation mit BigQuery blockieren.
Sie sollten die Kommunikation mit Secret Manager blockieren, wenn keines Ihrer Dataform-Repositories mit einem Git-Repository eines Drittanbieters verbunden ist. Weitere Informationen zum Blockieren der Kommunikation mit Secret Manager finden Sie unter Kommunikation mit Secret Manager blockieren.
Hinweis
Bevor Sie einen VPC Service Controls-Dienstperimeter für
Dataform konfigurieren, legen Sie die dataform.restrictGitRemotes Organisationsrichtlinie gemäß der
Anleitung Remote-Repositories einschränken
fest.
Die Organisationsrichtlinie dataform.restrictGitRemotes ist erforderlich, um sicherzustellen, dass VPC Service Controls-Prüfungen bei der Verwendung von Dataform erzwungen werden und der Zugriff von Drittanbietern auf Dataform-Git-Repositories eingeschränkt wird.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die
Sie zum Konfigurieren eines VPC Service Controls-Dienstperimeters benötigen,
bitten Sie Ihren Administrator, Ihnen die
Access Context Manager Editor (roles/accesscontextmanager.policyEditor)
IAM-Rolle für das Projekt zu gewähren.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Weitere Informationen zu VPC Service Controls-Berechtigungen finden Sie unter Zugriffssteuerung mit IAM.
VPC Service Controls konfigurieren
Sie können Dataform mit einem VPC Service Controls-Dienstperimeter auf folgende Arten einschränken:
- Fügen Sie Dataform einem vorhandenen Dienstperimeter hinzu, der BigQuery einschränkt.
- Erstellen Sie einen Dienstperimeter, der sowohl Dataform als auch BigQuery einschränkt.
Informationen zum Hinzufügen von Dataform zu einem Dienstperimeter, der BigQuery einschränkt, finden Sie in der Anleitung Dienstperimeter aktualisieren in der Dokumentation zu VPC Service Controls.
Informationen zum Erstellen eines neuen Dienstperimeters, der sowohl Dataform als auch BigQuery einschränkt, finden Sie in der Anleitung Dienstperimeter erstellen in der Dokumentation zu VPC Service Controls.
Optional: Kommunikation mit BigQuery blockieren
Benutzerdefinierte Dienstkonten verwenden die folgenden Berechtigungen und Rollen, um mit BigQuery zu kommunizieren:
- Die Berechtigung
bigquery.jobs.create, die dem benutzerdefinierten Dienstkonto gewährt wurde. - Die
Rolle „Ersteller von Dienstkonto-Tokens“
(
roles/iam.serviceAccountTokenCreator), die dem Standarddienst-Agent von Dataform für das benutzerdefinierte Dienstkonto gewährt wurde.
Sie können die Kommunikation zwischen einem benutzerdefinierten Dienstkonto und BigQuery auf eine der folgenden Arten blockieren:
Entziehen Sie alle vordefinierten und benutzerdefinierten Rollen, die dem benutzerdefinierten Dienstkonto auf Projektebene gewährt wurden und die Berechtigung
bigquery.jobs.createenthalten. Die Berechtigungbigquery.jobs.createist in den folgenden vordefinierten BigQuery-IAM-Rollen enthalten:- BigQuery-Administrator (
roles/bigquery.admin) - BigQuery-Jobnutzer (
roles/bigquery.jobUser) - BigQuery-Nutzer (
roles/bigquery.user) - BigQuery Studio-Administrator (
roles/bigquery.studioAdmin) - BigQuery Studio-Nutzer (
roles/bigquery.studioUser)
Informationen zum Entziehen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
- BigQuery-Administrator (
Entziehen Sie die Rolle „Ersteller von Dienstkonto-Tokens“ (
roles/iam.serviceAccountTokenCreator), die dem Standard Dienst-Agent von Dataform für das ausgewählte benutzerdefinierte Dienstkonto gewährt wurde. Informationen zum Entziehen der Rolle „Ersteller von Dienstkonto-Tokens“ finden Sie unter Zugriff auf Dienstkonten verwalten.
Optional: Kommunikation mit Secret Manager blockieren
Dataform verwendet die Berechtigung secretmanager.versions.access, um auf einzelne Secret Manager-Secrets zuzugreifen. Sie gewähren diese Berechtigung
dem Standarddienst-Agent von Dataform für ein ausgewähltes
Secret Manager-Secret, wenn Sie
ein Dataform-Repository mit einem Repository eines Drittanbieters verbinden.
Um die Kommunikation zwischen Dataform und Secret Manager zu blockieren, müssen Sie dem Standarddienst-Agent von Dataform den Zugriff auf alle Secrets entziehen.
Informationen zum Entziehen des Zugriffs auf ein Secret Manager-Secret vom Standarddienst-Agent von Dataform finden Sie in der Anleitung Zugriff auf Secrets verwalten in der Dokumentation zu Secret Manager. Sie müssen alle vordefinierten und benutzerdefinierten Rollen entziehen, die die Berechtigung secretmanager.versions.access enthalten und dem Standard-Dienst-Agent von Dataform für das ausgewählte Secret gewährt wurden.
Die Berechtigung secretmanager.versions.access ist in den folgenden
vordefinierten
Secret Manager-IAM-Rollen enthalten:
- Secret Manager-Administrator (
roles/secretmanager.admin) - Zugriffsperson für Secret Manager-Secret (
roles/secretmanager.secretAccessor) - Secret Manager Versionsmanager für Secrets (
roles/secretmanager.secretVersionManager)
Nächste Schritte
- Weitere Informationen zu VPC Service Controls finden Sie unter Überblick über VPC Service Controls.
- Weitere Informationen zur Organisationsrichtlinie finden Sie unter Einführung in den Organisationsrichtliniendienst.
- Weitere Informationen zu Dienstkonten in Dataform finden Sie unter Dienst-Agents und benutzerdefinierte Dienstkonten in Dataform.