Looker では、同じ LookML モデルを共有する認証済みの Looker ユーザー間でメタデータが漏洩するリスクを防ぐために、必須のセキュリティ アップデートをリリースしました。インスタンスで緩和策を有効にするには、特定の API エンドポイントの使用方法を変更することが必要になる場合があります。このパッチは、公式にサポートされているリリースのドキュメントに記載されている、サポートされているすべての Looker バージョンに影響します。
何が変更されたのですか?
Looker は、システムに必須のセキュリティ アップデートを適用しました。一部の API エンドポイントの動作が変更されたため、セキュリティ アップデートを有効にして、更新された API の使用方法を調整し、API スクリプトでエラーが発生しないようにする必要があります。
Looker ホスト型インスタンスの場合、このパッチにより、数値クエリ ID の使用禁止という新しいレガシー機能が追加されます。このレガシー機能が有効になっていると、次の API エンドポイントの使用方法が変更されます。
GET /queries/<query_id>
エンドポイントには、query_id
のスラッグが必要です。数値のクエリ ID が指定されたquery_id
は、404 エラーを返します。POST /render_tasks/queries/<query_id>/<result_format>
エンドポイントには、query_id
のスラグが必要です。数値のクエリ ID が指定されたquery_id
は、404 エラーを返します。GET /running_queries
エンドポイントは、Looker 管理者のみに制限されています。
セルフホスト型インスタンスの場合、このパッチを含む Looker バージョンにインスタンスがアップグレードされると、以前の API エンドポイントの変更が有効になります。
必要なご対応
Google Cloud では、すべてのお客様に次の両方のアクションを完了することをおすすめします。
更新された API エンドポイントが含まれているAPI スクリプトを更新します。次のセクションで説明するように API スクリプトを更新しないと、アプリケーションでエラーが発生する可能性があります。システム アクティビティを使用して API エンドポイントの使用状況を表示する方法については、更新された API エンドポイントを使用しているかどうかを確認する方法をご覧ください。
パッチ アップデートを有効にします。手順については、ご使用の Looker インスタンスに対応するセクションをご覧ください。
API スクリプトの更新
次に示す API エンドポイントのいずれかを使用している場合は、使用している Looker バージョンや API バージョンに関係なく、対応が必要になる場合があります。推奨される対応策は、API 3.0 または API 3.1 を使用しているか、API 4.0 を使用しているかによって異なります。
GET /queries/<query_id>
POST /render_tasks/queries/<query_id>/<result_format>
GET /running_queries
API 4.0 を使用している場合
API 4.0 を使用していて、前のセクションで説明したエンドポイントのいずれかを使用している場合は、次のアプリケーション コードを変更します。
GET /queries/<query_id>
エンドポイントまたはPOST /render_tasks/queries/<query_id>/<result_format>
エンドポイントで使用されている数値のquery_ids
(32、124 など)は、クエリのスラグ値に置き換えます。クエリのスラグ値を確認する手順については、「クエリのスラグ値を確認する方法」をご覧ください。GET /running_queries
エンドポイントを使用するアプリは、Looker 管理者にのみ制限されます。
API 3.0 または 3.1 を使用している場合
API 3.0 または API 3.1 を使用していて、前のセクションに記載されているエンドポイントのいずれかを使用している場合は、次のアプリケーション コードを変更します。
GET /queries/<query_id>
エンドポイントは使用できなくなります。GET /queries/<query_id>
エンドポイントをGET /queries/slug/<slug>
エンドポイントに置き換えて、以前と同じクエリ メタデータを取得します。クエリのスラグ値を確認する手順については、「クエリのスラグ値を確認する方法」をご覧ください。POST /render_tasks/queries/<query_id>/<result_format>
エンドポイントは使用できなくなります。API 3.1 をサポートする Looker SDK は、API 3.1 と API 4.0 の両方をサポートします。Looker の SDK のいずれも使用していない場合は、その呼び出しで 3.1 ではなく 4.0 を使用するようにhttp request path
を変更します。次に、数値のquery_ids
(32、124 など)を、クエリのスラグ値に置き換えます。クエリのスラグ値を確認する手順については、「クエリのスラグ値を確認する方法」をご覧ください。GET /running_queries
エンドポイントを使用するアプリは、Looker 管理者にのみ制限されます。
クエリのスラグ値を確認するにはどうすればよいですか?
クエリのスラグ値は、次の方法で確認できます。
Explore の場合、URL の
qid=
変数の後に続く URL でスラッグを確認できます。数値クエリ ID に関連付けられたスラグ値は、システム アクティビティを使用して確認できます。
Looker Explore メニューで、[System Activity] > [History] Explore を選択します。
[クエリ] ビューで、[ID] ディメンションと [リンク] ディメンションを選択します。
必要に応じて、[ID] ディメンションにフィルタを追加し、[クエリ ID] フィルタ フィールドにクエリの数値クエリ ID を入力します。
[実行] をクリックします。
データ探索の結果で数値クエリ ID の横にある
[Query]
リンクをクリックすると、その数値クエリ ID に基づくデータ探索が開きます。その後、URL の
qid=
変数に続く Explore の URL でスラグを使用できます。
Looker ホスト型の Looker(オリジナル)インスタンスでパッチを有効にする
Google Cloud では、Looker をホストしているすべてのお客様に、新しい数値クエリ ID の使用禁止 レガシー機能を有効にすることをおすすめします。
[数値クエリ ID を禁止する] を有効にするには:
Looker の管理メニューで、[管理] > [従来] パネルに移動します。
[数値クエリ ID を禁止する] をオンにします。
Looker(Google Cloud コア)インスタンスでパッチを有効にする
このパッチは、すべての Looker(Google Cloud コア)インスタンスで自動的に有効になります。パッチを有効にするために必要な操作はありませんが、更新された API エンドポイントを含む API スクリプトを更新してください。
セルフホスト型インスタンスでパッチを有効にする
セルフホスト型インスタンスはすべて、最新のパッチを含むバージョンの Looker にLooker インスタンスを更新する必要があります。このパッチは、Looker バージョン 23.18、23.20、24.0、24.2 の最新のアップデートと、Looker ESR バージョン 23.0、23.6、23.12、24.0 に含まれています。Looker インスタンスを更新する前に、更新された API エンドポイントを含む API スクリプトを更新してください。
更新された API エンドポイントを使用しているかどうかを確認する方法
[API の使用状況のシステム アクティビティ Explore] を使用して、Looker インスタンスに対して行われた API 呼び出しのリストを表示できます。
Looker の [Explore] メニューから [System Activity] Explore を選択し、[API Usage] ビューを選択します。
[Created Date > Date] ディメンションと [Endpoint] ディメンション、[Total Usage] 指標を選択します。
[エンドポイント] ディメンションにフィルタを追加し、フィルタ フィールドに次のエンドポイントを含めます。
/queries/:query_id
/render_tasks/queries/:query_id/:result_format
/running_queries
[実行] をクリックします。Looker には、これらのエンドポイントの使用状況情報が表示されます。
API スクリプトの更新にさらに時間が必要な場合はどうすればよいですか?
遅くとも 2 月 21 日午後 5 時(太平洋時間)までに Looker サポートにご連絡ください。API スクリプトを更新できるまで、数値クエリ ID の禁止 レガシー機能を無効にしたい旨をお伝えください。
このインシデントに対して私が行う必要がある手順以外に、影響を受ける当事者が潜在的な悪影響を軽減するために行う必要がある手順はありますか?
いいえ
今後同様の問題が発生しないように、Looker ではどのような対策を講じていますか?
Looker と Google は、内部でセキュリティ上の欠陥を事前に防止し、特定するために、堅牢なセキュリティ プログラムを維持しています。詳細については、https://cloud.google.com/looker/product/security をご覧ください。
Looker は規制機関に通知しましたか?
Looker は、このような事象の開示について、該当するすべての規制要件に従います。