VPC Service Controls konfigurieren

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:

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 Berechtigungbigquery.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:

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:

Nächste Schritte