Looker では、同じ LookML モデルを共有する認証済み Looker ユーザー間でメタデータが漏洩するリスクを防ぐために、必須のセキュリティ アップデートを行いました。インスタンスでこの緩和策を有効にするには、特定の API エンドポイントの使用量を変更する必要がある場合があります。このパッチは、公式にサポートされているリリースのドキュメントに記載されているサポートされているすべての Looker バージョンに影響します。
何が変更されたのですか?
Looker がシステムに必須のセキュリティ アップデートを適用しました。一部の API エンドポイントの動作の変更に伴い、セキュリティ アップデートを有効にすること、および更新された API の使用を調整して、API スクリプトでエラーが発生しないようにする必要があります。
Looker でホストされるインスタンスの場合、このパッチでは、数値クエリ ID の禁止という新しいレガシー機能を追加しました。このレガシー機能が有効になると、次の API エンドポイントの使用が変更されます。
GET /queries/<query_id>
エンドポイントには、query_id
のスラッグが必要です。query_id
に数値のクエリ ID が指定された場合は、404 エラーが返されます。POST /render_tasks/queries/<query_id>/<result_format>
エンドポイントには、query_id
のスラッグが必要です。query_id
に数値のクエリ 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=
変数に続いて Explore の URL で確認できます。スラッグ値は、システム アクティビティを使用して数値クエリ ID に関連付けられて確認できます。
Looker Explore メニューから、[System Activity] > [History] Explore を選択します。
[クエリ] ビューで、[ID] ディメンションと [リンク] ディメンションを選択します。
必要に応じて、[ID] ディメンションにフィルタを追加し、[クエリ ID] フィルタ フィールドにクエリの数値クエリ ID を入力します。
[実行] をクリックします。
Explore の結果の数値クエリ ID の横にある [
[Query]
] リンクをクリックすると、その数値クエリ ID に基づいて Explore が開きます。その後、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 Usage System Activity Explore を使用して、Looker インスタンスに対して行われた API 呼び出しのリストを表示できます。
Looker の [Explore] メニューから、[システム アクティビティ] Explore を選択してから、[API の使用法] ビューを選択します。
[作成日] > [日付] のディメンションと [エンドポイント] のディメンション、[合計使用量] メジャーを選択します。
[エンドポイント] ディメンションにフィルタを追加し、フィルタ フィールドに次のエンドポイントを含めます。
/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 は、この種の問題の開示に関してすべての適切な規制要件を遵守しています。