Looker hat ein obligatorisches Sicherheitsupdate verfügbar gemacht, um das Risiko einer Offenlegung von Metadaten bei authentifizierten Looker-Nutzern zu verhindern, die dasselbe LookML-Modell verwenden. Sie müssen möglicherweise die Nutzung bestimmter API-Endpunkte ändern, um die Entschärfung in Ihrer Instanz zu aktivieren. Dieser Patch betrifft alle unterstützten Looker-Versionen, die im Dokument offiziell unterstützte Releases aufgeführt sind.
Was hat sich geändert?
Looker hat ein obligatorisches Sicherheitsupdate auf Ihr System angewendet. Aufgrund der Änderung des Verhaltens einiger API-Endpunkte müssen Sie Maßnahmen ergreifen, um das Sicherheitsupdate zu aktivieren und Ihre Nutzung aktualisierter APIs anzupassen, um Fehler in Ihren API-Skripts zu vermeiden.
Für von Looker gehostete Instanzen wird mit diesem Patch eine neue Legacy-Funktion namens Numerische Abfrage-IDs nicht zugelassen hinzugefügt. Wenn diese Legacy-Funktion aktiviert ist, ändert sich die Verwendung der folgenden API-Endpunkte:
- Der Endpunkt
GET /queries/<query_id>
erfordert einen Slug fürquery_id
. Wenn einequery_id
eine numerische Abfrage-ID erhält, wird ein 404-Fehler zurückgegeben. - Der Endpunkt
POST /render_tasks/queries/<query_id>/<result_format>
erfordert einen Slug für denquery_id
. Wenn einequery_id
eine numerische Abfrage-ID erhält, wird ein 404-Fehler zurückgegeben. - Der Endpunkt
GET /running_queries
ist auf Looker-Administratoren beschränkt.
Bei vom Kunden gehosteten Instanzen werden die vorherigen Änderungen am API-Endpunkt aktiviert, wenn die Instanz auf eine Looker-Version aktualisiert wird, die diesen Patch enthält.
Was muss ich tun?
Google Cloud empfiehlt allen Kunden, die beiden folgenden Aktionen auszuführen:
Aktualisieren Sie alle API-Skripts, die einen der aktualisierten API-Endpunkte enthalten. Wenn Sie Ihre API-Skripts nicht wie im folgenden Abschnitt beschrieben aktualisieren, kann dies zu Fehlern in Ihren Anwendungen führen. Eine Anleitung dazu, wie Sie mithilfe der Systemaktivität die Nutzung Ihrer API-Endpunkt abrufen können, finden Sie in diesem Dokument im Abschnitt Woher weiß ich, ob wir einen der aktualisierten API-Endpunkte verwenden?.
Aktivieren Sie die Patch-Updates. Anleitungen dazu finden Sie im entsprechenden Abschnitt zu Ihrer Looker-Instanz:
API-Skripts aktualisieren
Wenn Sie einen der unten aufgeführten API-Endpunkte verwenden, müssen Sie möglicherweise unabhängig von der verwendeten Looker- oder API-Version Maßnahmen ergreifen. Welche Maßnahme wir empfehlen, hängt davon ab, ob Sie API 3.0 oder API 3.1 oder API 4.0 verwenden.
GET /queries/<query_id>
POST /render_tasks/queries/<query_id>/<result_format>
GET /running_queries
Wenn Sie API 4.0 verwenden
Wenn Sie API 4.0 und einen der im vorherigen Abschnitt aufgeführten Endpunkte nutzen, nehmen Sie die folgenden Änderungen am Anwendungscode vor:
- Ersetzen Sie alle numerischen
query_ids
(z. B. 32, 124 usw.), die mit demGET /queries/<query_id>
- oderPOST /render_tasks/queries/<query_id>/<result_format>
-Endpunkt verwendet werden, durch den slug-Wert für die Abfrage. Eine Anleitung dazu, wie Sie den Slug-Wert einer Abfrage ermitteln, finden Sie im Abschnitt Wie finde ich den Slug-Wert für eine Abfrage?. - Anwendungen, die den Endpunkt
GET /running_queries
verwenden, sind auf Looker-Administratoren beschränkt.
Wenn Sie API 3.0 oder 3.1 verwenden
Wenn Sie mit API 3.0 oder API 3.1 und einem der im vorherigen Abschnitt aufgeführten Endpunkte arbeiten, nehmen Sie die folgenden Änderungen am Anwendungscode vor:
- Der Endpunkt
GET /queries/<query_id>
funktioniert nicht mehr. Ersetzen Sie den EndpunktGET /queries/<query_id>
durch den EndpunktGET /queries/slug/<slug>
, um dieselben Abfragemetadaten abzurufen, die Sie zuvor erhalten haben. Eine Anleitung dazu, wie Sie den Slug-Wert einer Abfrage ermitteln, finden Sie im Abschnitt Wie finde ich den Slug-Wert für eine Abfrage?. - Der Endpunkt
POST /render_tasks/queries/<query_id>/<result_format>
funktioniert nicht mehr. Die Looker SDKs, die API 3.1 unterstützen, unterstützen sowohl API 3.1 als auch API 4.0. Wenn Sie kein SDK von Looker verwenden, ändern Siehttp request path
so, dass für diesen Aufruf 4.0 statt 3.1 verwendet wird. Ersetzen Sie dann alle numerischenquery_ids
-Werte (z. B. 32, 124 usw.) durch den Wert slug für die Abfrage. Eine Anleitung dazu, wie Sie den Slug-Wert einer Abfrage ermitteln, finden Sie im Abschnitt Wie finde ich den Slug-Wert für eine Abfrage?. - Anwendungen, die den Endpunkt
GET /running_queries
verwenden, sind auf Looker-Administratoren beschränkt.
Wie finde ich den Slug-Wert für eine Abfrage?
Sie können den Slug-Wert für eine Abfrage auf folgende Arten ermitteln:
Bei einem Explore finden Sie den Slug in der URL des Explores nach der Variablen
qid=
in der URL.Sie können den Slug-Wert ermitteln, indem Sie die Systemaktivität verwenden, die mit einer numerischen Abfrage-ID verknüpft ist.
Wählen Sie im Looker-Explore-Menü die Option System Activity > History Explore aus.
Wählen Sie in der Ansicht Abfrage die Dimensionen ID und Link aus.
Optional können Sie einen Filter für die Dimension ID hinzufügen und die numerische Abfrage-ID der Abfrage in das Filterfeld Abfrage-ID eingeben.
Klicken Sie auf Ausführen.
Klicken Sie in den Explore-Ergebnissen auf den Link
[Query]
neben der numerischen Abfrage-ID. Daraufhin wird ein Explore auf der Grundlage dieser numerischen Abfrage-ID geöffnet.Anschließend können Sie den Slug in der URL des Explores verwenden, der der Variablen
qid=
in der URL folgt.
Patch für von Looker gehostete Looker-Instanzen (Original) aktivieren
Google Cloud empfiehlt, dass alle von Looker gehosteten Kunden die neue Legacy-Funktion Numerische Abfrage-ID nicht zulassen aktivieren.
So aktivieren Sie Numerische Abfrage-IDs nicht zulassen:
Gehen Sie im Looker-Menü „Verwaltung“ zum Bereich Admin > Legacy.
Aktivieren Sie die Ein/Aus-Schaltfläche Numerische Abfrage-IDs nicht zulassen:
Patch auf Instanzen von Looker (Google Cloud Core) aktivieren
Der Patch wird automatisch auf allen Instanzen von Looker (Google Cloud Core) aktiviert. Sie müssen nichts weiter tun, um den Patch zu aktivieren. Sie müssen jedoch alle API-Skripts aktualisieren, die einen der aktualisierten API-Endpunkte enthalten.
Patch auf vom Kunden gehosteten Instanzen aktivieren
Alle vom Kunden gehosteten Instanzen sollten ihre Looker-Instanz auf eine Version von Looker aktualisieren, die den neuesten Patch enthält. Dieser Patch ist im neuesten Update auf die Looker-Versionen 23.18, 23.20, 24.0 und 24.2 sowie auf die Looker-ESR-Versionen 23.0, 23.6, 23.12 und 24.0 enthalten. Aktualisieren Sie alle API-Skripts, die einen der aktualisierten API-Endpunkte enthalten, bevor Sie Ihre Looker-Instanz aktualisieren.
Woran erkenne ich, ob wir einen der aktualisierten API-Endpunkte verwenden?
Mit dem Explore API Usage System Activity können Sie eine Liste der API-Aufrufe an Ihre Looker-Instanz aufrufen.
Wählen Sie im Looker-Menü Explore die Option System Activity (Systemaktivität) und dann die Ansicht API Usage (API-Nutzung) aus.
Wählen Sie die Dimensionen Erstellungsdatum > Datum und Endpunkt sowie die Messung Gesamtnutzung aus.
Fügen Sie der Dimension Endpunkt einen Filter hinzu und geben Sie im Filterfeld die folgenden Endpunkte an:
/queries/:query_id
/render_tasks/queries/:query_id/:result_format
/running_queries
Klicken Sie auf Ausführen. Looker zeigt Nutzungsinformationen für diese Endpunkte an.
Was kann ich tun, wenn ich mehr Zeit zum Aktualisieren meiner API-Skripts benötige?
Kontaktieren Sie den Looker-Support bis spätestens 21. Februar um 17:00 Uhr Pacific Time und teilen Sie uns mit, dass Sie die alte Funktion Numerische Abfrage-IDs nicht zulassen deaktivieren möchten, bis Sie Ihre API-Skripts aktualisieren können.
Gibt es neben den für diesen Vorfall erforderlichen Maßnahmen weitere Schritte, die die betroffenen Parteien ergreifen müssen, um mögliche negative Auswirkungen zu minimieren?
Nein
Welche Schritte ergreift Looker, um ähnliche Probleme in Zukunft zu vermeiden?
Looker und Google unterhalten ein robustes Sicherheitsprogramm, um Sicherheitsschwachstellen intern proaktiv zu verhindern und zu identifizieren. Weitere Informationen finden Sie unter https://cloud.google.com/looker/product/security.
Hat Looker die Regulierungsbehörden informiert?
Looker befolgt alle entsprechenden behördlichen Anforderungen in Bezug auf Offenlegungen für diese Art von Problemen.