VPC Service Controls ist ein Google Cloud Feature mit dem Sie einen sicheren Perimeter einrichten können, der vor Daten-Exfiltration schützt. In dieser Anleitung erfahren Sie, wie Sie Cloud Scheduler-Jobs in einen VPC Service Controls-Perimeter einbeziehen.
Beschränkungen
Die folgenden Einschränkungen gelten für die VPC Service Controls-Unterstützung für Cloud Scheduler.
Erzwungene Aktionen
VPC Service Controls wird nur für die folgenden Aktionen erzwungen:
- Cloud Scheduler-Joberstellung
- Cloud Scheduler-Jobaktualisierung
Warum ist das Problem überhaupt bedeutsam?
Da VPC Service Controls nur bei der Joberstellung und ‑aktualisierung 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 weiterhin ausgeführt, auch wenn die Jobziele nicht Teil Ihres VPC Service Controls-Perimeters sind oder nicht unterstützte Ziele sind. So erzwingen Sie VPC Service Controls für alle Cloud Scheduler-Jobs:
- Jobs mit Zielen, die entweder nicht unterstützt werden oder außerhalb Ihres Perimeters liegen:Löschen Sie die Jobs. Weitere Informationen finden Sie in diesem Dokument unter Nicht konforme Jobs löschen.
- Jobs mit Zielen, die sowohl unterstützt werden als auch innerhalb Ihres Perimeters liegen:Aktualisieren Sie jeden Job, nachdem Sie Cloud Scheduler zu Ihrem Perimeter hinzugefügt haben. Weitere Informationen finden Sie in diesem Dokument unter VPC Service Controls für vorhandene Jobs erzwingen.
Unterstützte Ziele
Die Cloud Scheduler-Integration mit VPC Service Controls unterstützt die folgenden Ziele. HTTP-Endpunkte werden unterstützt, wenn sie aufgeführt sind. Beliebige HTTP-Endpunkte werden jedoch nicht unterstützt.
- Cloud Run-Dienste – unter der URL
run.app. - Cloud Run Functions – unter der URL
functions.net. Google Cloud VPC Service Controls-kompatible APIs (entweder in der Vorabversion oder GA) können sich in einem anderen Google Cloud Projekt als Ihr Cloud Scheduler-Job befinden.
Für Cloud Run-Jobs ist das unterstützte URI-Format:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:runInformationen zum Unterschied zwischen Cloud Run-Dienst- und Jobressourcen finden Sie unter Dienste und Jobs: Zwei Möglichkeiten zum Ausführen von Code.
Pub/Sub
Nicht unterstützte Ziele
Wenn Cloud Scheduler ein eingeschränkter Dienst in Ihrem VPC Service Controls-Perimeter ist, schlägt jeder Versuch, einen Job mit einem nicht unterstützten Ziel zu erstellen oder zu aktualisieren, mit dem Fehlercode TARGET_TYPE_NOT_PERMITTED_FOR_VPC fehl. Bei Verwendung des
Probelaufmodus wird durch diese Aktion
kein Verstoßlog generiert.
Um zu vermeiden, dass Ihre Arbeitslasten unerwartet blockiert werden, löschen Sie alle Jobs mit nicht unterstützten Zielen oder mit Zielen außerhalb des VPC Service Controls-Perimeters, den Sie verwenden möchten , bevor Sie Ihren Perimeter in den erzwungenen Modusversetzen.
Nicht konforme Jobs löschen
Recommended. Löschen Sie Cloud Scheduler-Jobs mit Zielen, die entweder:
- Nicht unterstützt werden (siehe Unterstützte Ziele)
- Außerhalb des VPC Service Controls-Perimeters liegen, 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 zu Ihrem VPC Service Controls-Perimeter hinzufügen, werden die Jobs weiterhin ausgeführt, aber VPC Service Controls wird nicht auf sie angewendet. Weitere Informationen finden Sie in diesem Dokument unter Erzwingen von Aktionen.
Wenn Sie beispielsweise einen Cloud Scheduler-Job haben, der auf ein nicht unterstütztes Ziel ausgerichtet ist (z. B. eine benutzerdefinierte Cloud Run-Domain), wird der Job weiterhin ausgeführt, nachdem Sie Cloud Scheduler zu Ihrem VPC Service Controls-Perimeter hinzugefügt haben, aber er ist nicht durch VPC Service Controls geschützt. Dasselbe gilt für einen vorhandenen Job mit einem Ziel außerhalb Ihres VPC Service Controls-Perimeters.
Erforderliche IAM-Rollen hinzufügen
Erforderlich. Um VPC Service Controls verwenden zu können, muss das Cloud Scheduler-Dienstkonto die IAM-Rolle Cloud Scheduler-Dienst-Agent haben. Das Cloud Scheduler-Dienstkonto wird automatisch für Ihr Projekt erstellt. So prüfen Sie, ob es die IAM-Rolle „Cloud Scheduler-Dienst-Agent“ hat, oder weisen Sie diese Rolle zu:
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-Dienstkonto ein und wählen Sie diesen Prinzipal aus.
Sehen Sie sich die Spalte Rolle für den Prinzipal Cloud Scheduler-Dienstkonto an. Sie können fortfahren, wenn die folgende Rolle aufgeführt ist:
- Cloud Scheduler-Dienst-Agent
Wenn die Rolle „Cloud Scheduler-Dienstkonto“ nicht aufgeführt ist, klicken Sie auf das Symbol Bearbeiten und weisen Sie dem Prinzipal „Cloud Scheduler-Dienstkonto“ die Rolle Cloud Scheduler-Dienst-Agent zu.
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, folgen Sie der Anleitung zum Aktualisieren eines Dienstperimeters.
Neue Perimeter: Wenn Sie einen neuen Perimeter für Cloud Scheduler erstellen möchten, folgen Sie der Anleitung zum Erstellen eines Dienstperimeters.
VPC Service Controls für vorhandene Jobs erzwingen
Recommended. Wenn Sie VPC Service Controls für Cloud Scheduler-Jobs erzwingen möchten, die Sie erstellt haben, bevor Sie Cloud Scheduler zu Ihrem VPC Service Controls-Perimeter hinzugefügt haben, führen Sie eine update-Aktion für den Job 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 eine Aktualisierung für den Job in der Google Cloud Console ausführen (wählen Sie den Job aus und klicken Sie auf die Schalt1}fläche Bearbeiten), über die API oder mit der gcloud CLI.
So erzwingen Sie VPC Service Controls für einen vorhandenen Job mit der gcloud CLI:
HTTP-Ziele
gcloud scheduler jobs update http JOB_ID
Ersetzen Sie JOB_ID durch die ID Ihres Jobs.
Pub/Sub-Ziele
gcloud scheduler jobs update pubsub JOB_ID
Ersetzen Sie JOB_ID durch die ID Ihres Jobs.