このドキュメントでは、さまざまなチームに、さまざまなプロジェクト セットへのアクセス権を付与する方法について説明します。このようなマルチテナント モニタリングを確立するには、Grafana の複数のインスタンスと複数のデータソース同期ツールと組み合わせて指標スコープを使用します。
指標スコープに含まれるプロジェクトの数や使用する Google Cloud リージョンの数に関係なく、指標スコープごとに 1 つの Grafana インスタンスと 1 つのデータソース同期ツールを設定する必要があります。
project_id
フィルタが含まれていない場合、Monarch へのクエリは指標スコープ内のすべてのプロジェクトに自動的に展開されます。location
フィルタが含まれていない場合、クエリはすべての Google マーケティング プラットフォームのリージョンで実行されます。
マルチテナント モニタリングを実現するために、取り込み側で変更を行う必要はありません。
次の図は、マルチテナント モニタリングの構成を示しています。
図のような構成を設定して使用するには、指標スコープ、Grafana インスタンス、データソース同期ツールを次のように設定します。
開発チーム A にプロジェクト 1 と 2 に対する読み取りとアクセスを許可するとします。このアクセス権を設定するには、次の手順を行います。
プロジェクト 1 とプロジェクト 2 を scoping_project_A の指標スコープに設定します。
プロジェクト 1 にデータソース同期ツールを配置し、scoping_project_A を使用するように構成します。同期ツールのサービス アカウントに、scoping_project_A のモニタリング閲覧者権限を付与します。
ユーザーがこのデータソース同期ツールに関連付けられた Grafana インスタンスからクエリを発行すると、Monarch は scoping_project_A をその構成要素であるモニタリング対象プロジェクトに展開し、すべての Google Cloud リージョンにおいてプロジェクト 1 とプロジェクト 2 の両方の結果を返します。Grafana インスタンスとデータソース同期ツールはプロジェクト 1 に存在するため、scoping_project_A をクエリできるのはプロジェクト 1 にアクセスできるユーザーだけです。
開発チーム B にプロジェクト 3 と 4 の読み取りとアクセスを許可するとします。このアクセス権を設定するには、次の手順を行います。
プロジェクト 3 とプロジェクト 4 を scoping_project_B の指標スコープに設定します。
プロジェクト 3 にデータソース同期ツールを配置し、scoping_project_B を使用するように構成します。同期ツールのサービス アカウントに、scoping_project_B のモニタリング閲覧者権限を付与します。
ユーザーがこのデータソース同期ツールに関連付けられた Grafana インスタンスからクエリを発行すると、Monarch は scoping_project_B をその構成要素であるモニタリング対象プロジェクトに展開し、すべての Google Cloud リージョンにおいてプロジェクト 3 とプロジェクト 4 の両方の結果を返します。Grafana インスタンスとデータソース同期ツールはプロジェクト 3 に存在するため、scoping_project_B をクエリできるのは、プロジェクト 3 にアクセスできるユーザーだけです。
SRE チームにプロジェクト 1、2、3、4、5 の読み取りとアクセスを許可するとします。このアクセス権を設定するには、次の手順を行います。
すべてのプロジェクトを scoping_project_C の指標スコープに設定します。
プロジェクト 5 にデータソース同期ツールを配置し、scoping_project_C を使用するように構成します。同期ツールのサービス アカウントに、scoping_project_C のモニタリング閲覧者権限を付与します。
ユーザーがこのデータソース同期ツールに関連付けられた Grafana インスタンスからクエリを発行すると、Monarch は scoping_project_C をその構成要素であるモニタリング対象プロジェクトに展開し、すべての Google Cloud リージョンにおいてプロジェクト 1、2、3、4、5 の結果を返します。Grafana インスタンスとデータソース同期ツールはプロジェクト 5 内に存在するため、scoping_project_C をクエリできるのは、プロジェクト 5 にアクセスできるユーザーだけです。