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.restrictGitRemotes
festlegen.Dataform und BigQuery müssen durch denselben VPC Service Controls-Serviceperimeter eingeschränkt werden.
Wenn Sie bestimmten Nutzern erlauben möchten, sich mit ihren Google-Konto-Anmeldedaten zu authentifizieren, wenn sie Ausführungen planen, Ausführungen manuell auslösen oder Pipelines ausführen, für die VPC Service Controls konfiguriert sind, müssen Sie ihre Nutzeridentitäten Ihren Ingress-Regeln hinzufügen. Weitere Informationen finden Sie unter Richtlinien für eingehenden 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 Dataform-Dienst-Agents und -Konten gewährt wurden, um sicherzustellen, dass sie Ihrer Sicherheitsarchitektur entsprechen.
Je nach den Berechtigungen, die Sie dem Dataform-Dienst-Agent oder dem benutzerdefinierten Dienstkonto gewähren, kann dieser Dienst-Agent oder dieses Dienstkonto unabhängig von VPC Service Controls auf BigQuery- oder Secret Manager-Daten in dem Projekt zugreifen, zu dem der Dienst-Agent oder das Dienstkonto gehört. 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.
Hinweise
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 sicherzustellen, dass VPC Service Controls-Prüfungen erzwungen werden, wenn Dataform verwendet wird, und dass der Drittanbieterzugriff auf Dataform Git-Repositories eingeschränkt ist.
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
Die Art der Kommunikation von Dataform mit BigQuery hängt vom in Dataform verwendeten Dienstkontotyp ab.
Der Standard-Dataform-Dienst-Agent verwendet die Berechtigung bigquery.jobs.create
, um mit BigQuery zu kommunizieren. Sie weisen die Standardrollen für Dataform-Dienst-Agents, die diese Berechtigung enthalten, zu, wenn Sie die Rollen zuweisen, die für die Ausführung von Workflows in BigQuery durch Dataform erforderlich sind.
Wenn Sie die Kommunikation zwischen dem Standarddienst-Agent für Dataform und BigQuery blockieren möchten, müssen Sie alle vordefinierten und benutzerdefinierten Rollen widerrufen, die die Berechtigung bigquery.jobs.create
enthalten und dem Standarddienst-Agent für Dataform zugewiesen wurden. Wenn Sie Rollen widerrufen möchten, folgen Sie der Anleitung unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
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
), die dem standardmäßigen Dataform-Dienst-Agent für das benutzerdefinierte Dienstkonto zugewiesen wurde.
Sie haben zwei Möglichkeiten, die Kommunikation zwischen einem benutzerdefinierten Dienstkonto und BigQuery zu blockieren:
Entziehen Sie dem Standarddienstkonto für das ausgewählte benutzerdefinierte Dienstkonto die Rolle „Ersteller von Dienstkonto-Tokens“ (
roles/iam.serviceAccountTokenCreator
). Wenn Sie die Rolle „Ersteller von Dienstkonto-Tokens“ (roles/iam.serviceAccountTokenCreator
) widerrufen möchten, folgen Sie der Anleitung unter Zugriff auf Dienstkonten verwalten.Entziehen Sie dem benutzerdefinierten Dienstkonto alle vordefinierten und benutzerdefinierten Rollen, die auf Projektebene zugewiesen wurden und die Berechtigung
bigquery.jobs.create
enthalten. Wenn Sie Rollen widerrufen möchten, folgen Sie der Anleitung unter 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 User (
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 standardmäßigen Dataform-Dienst-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 Dataform-Standarddienst-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
) - 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 Dataform-Dienst-Agents und benutzerdefinierte Dienstkonten.