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 Verteidigungsebene fürGoogle Cloud -Dienste, die unabhängig vom Schutz durch die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) 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.restrictGitRemotes
festlegen.Dataform und BigQuery müssen durch denselben VPC Service Controls-Dienstperimeter eingeschränkt sein.
Sicherheitsaspekte
Wenn Sie einen VPC Service Controls-Perimeter für Dataform einrichten, sollten Sie die Berechtigungen prüfen, die Ihren Dataform-Dienstkonten gewährt wurden, und dafür sorgen, dass sie Ihrer Sicherheitsarchitektur entsprechen.
Je nach den Berechtigungen, die Sie einem Dataform-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 einem solchen 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 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, folgen Sie der Anleitung Remote-Repositories einschränken, um die dataform.restrictGitRemotes
-Organisationsrichtlinie festzulegen.
Die dataform.restrictGitRemotes
-Richtlinie für Organisationen ist erforderlich, damit 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
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 Dienstperimeters für VPC Service Controls 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 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.
Wenn Sie Dataform einem Dienstperimeter hinzufügen möchten, der BigQuery einschränkt, folgen Sie der Anleitung Dienstperimeter aktualisieren in der VPC Service Controls-Dokumentation.
Wenn Sie einen neuen Dienstperimeter erstellen möchten, der sowohl Dataform als auch BigQuery einschränkt, folgen Sie der Anleitung Dienstperimeter erstellen in der VPC Service Controls-Dokumentation.
Optional: Kommunikation mit BigQuery blockieren
Wie Dataform mit BigQuery kommuniziert, hängt vom Typ des in Dataform verwendeten Dienstkontos ab.
Das standardmäßige Dataform-Dienstkonto verwendet die Berechtigung bigquery.jobs.create
, um mit BigQuery zu kommunizieren. Sie gewähren die Standardrollen des Dataform-Dienstkontos, die diese Berechtigung enthalten, wenn Sie die Rollen gewähren, die für die Ausführung von SQL-Workflows in BigQuery durch Dataform erforderlich sind.
Wenn Sie die Kommunikation zwischen dem standardmäßigen Dataform-Dienstkonto und BigQuery blockieren möchten, müssen Sie alle vordefinierten und benutzerdefinierten Rollen widerrufen, die die Berechtigung bigquery.jobs.create
enthalten und dem standardmäßigen Dataform-Dienstkonto gewährt wurden. Eine Anleitung zum Widerrufen von Rollen finden Sie im Hilfeartikel Zugriff auf Projekte, Ordner und Organisationen verwalten.
Benutzerdefinierte Dataform-Dienstkonten verwenden die folgenden Berechtigungen und Rollen, um mit BigQuery zu kommunizieren:
- Die
bigquery.jobs.create
-Berechtigung, die dem benutzerdefinierten Dienstkonto gewährt wurde. - Die Rolle „Ersteller von Dienstkonto-Tokens“ (
roles/iam.serviceAccountTokenCreator
), die dem standardmäßigen Dataform-Dienstkonto im benutzerdefinierten Dienstkonto zugewiesen ist.
Sie können die Kommunikation zwischen einem benutzerdefinierten Dataform-Dienstkonto und BigQuery auf folgende Weise blockieren:
Widerrufen Sie die Rolle „Ersteller von Dienstkonto-Tokens“ (
roles/iam.serviceAccountTokenCreator
), die dem Standarddienstkonto des ausgewählten benutzerdefinierten Dataform-Dienstkontos zugewiesen ist. Wenn Sie die Rolle „Ersteller von Dienstkonto-Tokens“ (roles/iam.serviceAccountTokenCreator
) widerrufen möchten, folgen Sie der Anleitung unter Zugriff auf Dienstkonten verwalten.Widerrufen Sie alle vordefinierten und benutzerdefinierten Rollen, die dem benutzerdefinierten Dienstkonto auf Projektebene gewährt wurden und die die Berechtigung
bigquery.jobs.create
enthalten. Eine Anleitung zum Widerrufen von Rollen finden Sie im Hilfeartikel Zugriff auf Projekte, Ordner und Organisationen verwalten.
Die Berechtigung bigquery.jobs.create
ist in den folgenden vordefinierten BigQuery IAM-Rollen enthalten, die widerrufen werden müssen:
- BigQuery Admin (
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
)
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 Standard-Dataform-Dienstkonto für ein ausgewähltes Secret Manager-Secret, wenn Sie ein Dataform-Repository mit einem Drittanbieter-Repository verknüpfen.
Wenn Sie die Kommunikation zwischen Dataform und Secret Manager blockieren möchten, müssen Sie dem Standarddienstkonto von Dataform den Zugriff auf alle Secrets entziehen.
Wenn Sie dem Standarddienstkonto von Dataform den Zugriff auf ein Secret Manager-Secret entziehen 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, die dem Standard-Dataform-Dienstkonto für das ausgewählte Secret gewährt wurde.
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
) - Verwalter von Secret Manager-Secret-Versionen (
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 Dienstkonten in Dataform.