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 sicherer zu machen.
VPC Service Controls bietet eine zusätzliche Sicherheitsebene fürGoogle Cloud -Dienste, die unabhängig von der durch Identity and Access Management (IAM) bereitgestellten Sicherheit ist.
Weitere Informationen zu VPC Service Controls finden Sie im Überblick über VPC Service Controls.
Beschränkungen
Dataform unterstützt VPC Service Controls mit den folgenden Einschränkungen:
Sie müssen die Organisationsrichtlinie
dataform.restrictGitRemotesfestlegen.Dataform und BigQuery müssen durch denselben VPC Service Controls-Dienstperimeter eingeschränkt werden.
Wenn Sie bestimmten Nutzern erlauben möchten, sich mit den Nutzeranmeldedaten für ihr Google-Konto zu authentifizieren, wenn Ausführungen geplant, Ausführungen manuell ausgelöst oder Pipelines mit konfigurierten VPC Service Controls ausgeführt werden, müssen Sie ihre Nutzeridentitäten Ihren Ingress-Regeln 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, sollten Sie die Berechtigungen prüfen, die Ihren benutzerdefinierten Dienstkonten gewährt werden, 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 in dem Projekt, zu dem es gehört, unabhängig von VPC Service Controls. In diesem Fall wird die Kommunikation mit BigQuery oder Secret Manager nicht blockiert, wenn Sie Dataform mit einem VPC Service Controls-Perimeter einschränken.
Sie sollten die Kommunikation mit BigQuery blockieren, wenn Sie keine Workflow-Aufrufe 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, folgen Sie der Anleitung unter Remote-Repositories einschränken, um die Organisationsrichtlinie dataform.restrictGitRemotes festzulegen.
Die Organisationsrichtlinie dataform.restrictGitRemotes ist erforderlich, um dafür zu sorgen, dass VPC Service Controls-Prüfungen erzwungen werden, wenn Dataform verwendet wird, und dass der Drittanbieterzugriff auf Dataform-Git-Repositories eingeschränkt wird.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Access Context Manager Editor (roles/accesscontextmanager.policyEditor) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines VPC Service Controls-Dienstperimeters benötigen.
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 Weise 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.
Wenn Sie Dataform einem Dienstperimeter hinzufügen möchten, der BigQuery einschränkt, folgen Sie der Anleitung unter Dienstperimeter aktualisieren in der Dokumentation zu VPC Service Controls.
Wenn Sie einen neuen Dienstperimeter erstellen möchten, der sowohl Dataform als auch BigQuery einschränkt, folgen Sie der Anleitung Dienstperimeter erstellen in der Dokumentation zu VPC Service Controls.
Optional: Kommunikation mit BigQuery blockieren
Benutzerdefinierte Dienstkonten verwenden die folgenden Berechtigungen und Rollen für die Kommunikation mit BigQuery:
- Die Berechtigung
bigquery.jobs.create, die dem benutzerdefinierten Dienstkonto gewährt wurde. - Die Rolle Ersteller von Dienstkonto-Tokens (
roles/iam.serviceAccountTokenCreator) wird dem standardmäßigen Dataform-Dienst-Agent für das benutzerdefinierte Dienstkonto zugewiesen.
Sie haben zwei Möglichkeiten, die Kommunikation zwischen einem benutzerdefinierten Dienstkonto und BigQuery zu blockieren:
Entziehen Sie dem benutzerdefinierten Dienstkonto alle vordefinierten und benutzerdefinierten Rollen, die auf Projektebene zugewiesen 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 Admin (
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 dem standardmäßigen Dataform-Dienst-Agent die Rolle Ersteller von Dienstkonto-Tokens (
roles/iam.serviceAccountTokenCreator), die ihm für das ausgewählte benutzerdefinierte Dienstkonto gewährt wurde. Informationen zum Widerrufen 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 erteilen diese Berechtigung dem Dataform-Standarddienst-Agent für ein ausgewähltes Secret Manager-Secret, wenn Sie ein Dataform-Repository mit einem Drittanbieter-Repository verbinden.
Wenn Sie die Kommunikation zwischen Dataform und Secret Manager blockieren möchten, müssen Sie den Zugriff auf alle Secrets über den standardmäßigen Dataform-Dienst-Agent widerrufen.
Wenn Sie den Zugriff auf ein Secret Manager-Secret über den standardmäßigen Dataform-Dienst-Agent widerrufen möchten, folgen Sie der Anleitung Zugriff auf Secrets verwalten in der Secret Manager-Dokumentation. Sie müssen alle vordefinierten und benutzerdefinierten Rollen widerrufen, die die Berechtigung secretmanager.versions.access enthalten und dem Standard-Dataform-Dienst-Agent 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 im Überblick über VPC Service Controls.
- Weitere Informationen zu Organisationsrichtlinien finden Sie unter Einführung in den Organisationsrichtliniendienst.
- Weitere Informationen zu Dienstkonten in Dataform finden Sie unter Dataform-Dienst-Agents und benutzerdefinierte Dienstkonten.