VPC Service Controls ist eine Google Cloud-Funktion, mit der Sie einen sicheren Perimeter einrichten können, um Daten-Exfiltration zu verhindern. In dieser Anleitung wird gezeigt, wie Sie Cloud Scheduler-Jobs in einen VPC Service Controls-Perimeter aufnehmen.
Beschränkungen
Für die Unterstützung von VPC Service Controls für Cloud Scheduler gelten die folgenden Einschränkungen.
Erzwungene Aktionen
VPC Service Controls wird nur für die folgenden Aktionen erzwungen:
- Cloud Scheduler-Joberstellung
- Aktualisierungen von Cloud Scheduler-Jobs
Warum ist das Problem überhaupt bedeutsam?
Da VPC Service Controls nur bei der Erstellung und Aktualisierung von Jobs erzwungen wird, wird VPC Service Controls nicht automatisch für Jobs erzwungen, die erstellt wurden, bevor Sie Cloud Scheduler zu Ihrem VPC Service Controls-Perimeter hinzugefügt haben. Jobs werden auch dann weiter ausgeführt, wenn die Jobziele nicht Teil Ihres VPC Service Controls-Perimeters oder keine unterstützten Ziele sind. So erzwingen Sie VPC Service Controls für alle Cloud Scheduler-Jobs:
- Jobs mit Zielen, die entweder nicht unterstützt werden oder sich außerhalb Ihres Perimeters befinden:Löschen Sie die Jobs. Siehe Nicht konforme Jobs löschen
- Jobs mit Zielen, die sowohl unterstützt werden als auch innerhalb Ihres Perimeters: Führen Sie für jeden Job ein Update aus, nachdem Sie Cloud Scheduler dem Perimeter hinzugefügt haben. Siehe Bei bereits vorhandenen Jobs erzwingen.
Unterstützte Ziele
Die Einbindung von Cloud Scheduler in VPC Service Controls unterstützt nur die folgenden Ziele:
- Cloud Functions (unter der URL
functions.net
) - Cloud Run (in der URL
run.app
für Cloud Run-Dienste. Cloud Run-Jobziele werden nicht unterstützt. Informationen zum Unterschied zwischen Dienst- und Jobressourcen für Cloud Run finden Sie unter Dienste und Jobs: zwei Möglichkeiten zum Ausführen von Code. - Dataflow API (muss sich im selben Google Cloud-Projekt wie Ihr Cloud Scheduler-Job befinden)
- Datenpipelines (müssen sich im selben Google Cloud-Projekt wie Ihr Cloud Scheduler-Job befinden)
- Pub/Sub (muss sich im selben Google Cloud-Projekt wie Ihr Cloud Scheduler-Job befinden)
Nicht konforme Jobs löschen
Empfohlen. Cloud Scheduler-Jobs mit Zielen löschen, die eines der folgenden Ziele haben:
- Nicht unterstützt (siehe Unterstützte Ziele)
- Außerhalb des VPC Service Controls-Perimeters, den Sie verwenden möchten
Eine Anleitung zum Löschen von Jobs finden Sie unter Job löschen.
Wenn Sie diese Jobs nicht löschen, bevor Sie Cloud Scheduler dem VPC Service Controls-Perimeter hinzufügen, werden die Jobs weiterhin ausgeführt, VPC Service Controls wird jedoch für sie nicht erzwungen (siehe Erzwungene Aktionen).
Wenn Sie beispielsweise einen Cloud Scheduler-Job haben, der auf ein nicht unterstütztes Ziel (z. B. eine benutzerdefinierte Cloud Run-Domain) ausgerichtet ist, wird der Job zwar weiter ausgeführt, nachdem Sie Cloud Scheduler dem VPC Service Controls-Perimeter hinzugefügt haben, er ist jedoch nicht durch VPC Service Controls geschützt. Dasselbe gilt für einen bereits vorhandenen Job mit einem Ziel außerhalb Ihres VPC Service Controls-Perimeters.
Erforderliche IAM-Rollen hinzufügen
Erforderlich. Damit Sie VPC Service Controls verwenden können, muss das Cloud Scheduler-Dienstkonto die IAM-Rolle Cloud Scheduler Service Agent haben. Das Cloud Scheduler-Dienstkonto wird automatisch für Ihr Projekt erstellt. Führen Sie die folgenden Schritte aus, um zu prüfen, ob er die IAM-Rolle „Cloud Scheduler-Dienst-Agent“ hat, oder um diese Rolle zu gewähren:
Rufen Sie in der Google Cloud Console IAM auf.
Klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.
Geben Sie im Filter Cloud Scheduler Service Account ein und wählen Sie dieses Hauptkonto aus.
Sehen Sie sich die Spalte Rolle für das Hauptkonto Cloud Scheduler-Dienstkonto an. Sie können fortfahren, wenn die folgende Rolle aufgeführt ist:
- Cloud Scheduler-Dienst-Agent
Wenn die Rolle des Cloud Scheduler-Dienstkontos nicht aufgeführt ist, klicken Sie auf das Symbol Bearbeiten und gewähren Sie dem Hauptkonto des Cloud Scheduler-Dienstkontos die Rolle Cloud Scheduler Service Agent.
VPC Service Controls-Perimeter angeben
Erforderlich. Sie können einen vorhandenen Perimeter verwenden oder einen neuen Perimeter erstellen, um Ihre Cloud Scheduler-Jobs mit unterstützten Zielen zu schützen. Bei beiden Ansätzen können Sie Dienste angeben, die eingeschränkt werden sollen. Geben Sie die Cloud Scheduler API an.
Vorhandene Perimeter:Wenn Sie einen vorhandenen VPC Service Controls-Perimeter aktualisieren möchten, um Cloud Scheduler einzubeziehen, führen Sie die Schritte zum Aktualisieren eines Dienstperimeters aus.
Neue Perimeter:Führen Sie die Schritte zum Erstellen eines Dienstperimeters aus, um einen neuen Perimeter für Cloud Scheduler zu erstellen.
VPC Service Controls für vorhandene Jobs erzwingen
Empfohlen. Wenn Sie VPC Service Controls für Cloud Scheduler-Jobs erzwingen möchten, die Sie erstellt haben, bevor Sie Cloud Scheduler Ihrem VPC Service Controls-Perimeter hinzugefügt haben, führen Sie für den Job einen update
aus. Sie müssen den Job nicht ändern, aber Sie müssen die Aktualisierung ausführen, damit VPC Service Controls auf den Job und seine zukünftigen Ausführungen angewendet wird.
Sie können ein Update für den Job über die Google Cloud Console (wählen Sie den Job auswählen und auf die Schaltfläche Bearbeiten klicken), die API oder die gcloud CLI ausführen.
Führen Sie folgenden Befehl aus, um VPC Service Controls für einen vorhandenen Job mithilfe der gcloud CLI zu erzwingen:
HTTP-Ziele
gcloud scheduler jobs update http JOB_ID
Ersetzen Sie Folgendes:
JOB_ID
: die ID des Jobs
Pub/Sub-Ziele
gcloud scheduler jobs update pubsub JOB_ID
Ersetzen Sie Folgendes:
JOB_ID
: die ID des Jobs