Google Mapsの利用に特化した事前定義のGoogle Cloud IAMロールを活用し、関連業務のガバナンスを高める方法を解説します。

Google Maps Platformのリソースは、Google Cloud Console上のGoogle Maps Platformインターフェースからプロビジョニング・管理します。このインターフェースで実行できる操作や機能は多岐にわたり、その種類と高度さは年々増しています。こうした機能は組織の生産性、インタラクティブ性、コストにさまざまな影響を及ぼし得るため、各機能や操作に対して目的に合ったアクセス権限を付与し、効果的にガバナンスを利かせる仕組みが欠かせません。
たとえば、Maps関連APIやSDKの有効化、Maps APIキーや認証情報の作成、カスタマイズしたMaps表示スタイルの作成・編集、独自の地理空間データセットのアップロードや管理などが挙げられます。
本記事では、Google Mapsの利用に特化した事前定義のGoogle Cloud IAMロールを取り上げ、組織の権限ポリシーに沿ってこれらの操作のガバナンスをより効果的に高める方法を見ていきます。

また、Google Cloud IAM標準のProject OwnerおよびProject EditorロールはGoogle Cloud Project内のMaps以外のあらゆるアセットへのアクセスも許可してしまうため、組織のユーザー権限ポリシーに合わない場合があります。

これらのロールは、GCP ConsoleのIAM & Adminメニューから割り当てます。

Google Cloudには、Google Maps Platformに関連する主要な事前定義IAMロールが2つあり、それぞれ次の権限を付与します。
- Maps API Admin:すべてのMaps APIリソースに対する_読み取り_および_書き込み_権限を付与します。
- Maps API Viewer: すべてのMaps APIリソースに対する_読み取り専用_権限を付与します。
各ロールの権限の詳細は次のとおりです。

Maps Platform Consoleで利用できる多彩な機能のうち、Maps API Viewerがアクセスできる範囲がいかに限定的かにご注目ください。Maps API Viewerは、対象となるMaps関連GCPプロジェクトの既存のMap IDやMaps Stylesを閲覧・利用できるのみで、追加・変更・削除は一切できません。この制限は、たとえばカスタム地図スタイルを適用した既定のベースマップを使うコードを担当する若手プログラマーに最適です。スタイルを変更させずに利用させたい、といったケースにぴったりはまります。例:

当然ながら、この制限はMaps Platform Consoleで利用できるその他の機能、たとえばAPIキー画面へのアクセスや追加APIの有効化などにも及びます。Maps API Viewerが制限対象のメニューにアクセスしようとすると、次のメッセージが表示されます。

各権限がどのロールに紐付いているかを確認したい場合は、IAM permissions referenceから参照できます(_mapsadmin_で検索してください)。例:

前述のMaps API AdminおよびViewerロールに加え、新たにリリースされたMaps Datasets APIに伴い、専用の事前定義ロールが2つ追加されました。
- Maps Platform Datasets Admin: すべてのMaps Platform Datasets APIリソースに対する_読み取り_および_書き込み_権限を付与します。
- Maps Platform Datasets Viewer: すべてのMaps Platform Datasets APIリソースに対する_読み取り専用_権限を付与します。
この2つの専用ロールにより、組織独自の地理空間データセットへのアクセスを的確に管理・制御できるほか、新機能のData-driven Styling (DDS)を使ってデータセットに地図表現スタイルを適用できます。
各Datasets系事前定義ロールの権限の詳細は次のとおりです。

最後に、一見目立たないものの、Maps APIキーの安全な管理に大きな影響を与えるMaps関連の事前定義IAMロールがさらに2つあります。Google Cloud Console上のMaps Platformインターフェースでは、不正利用を防ぐためにAPIキーを制限する方法について、GCPプロジェクトごとに最新のインサイトとレコメンデーションが提供されます。例は次のとおりです。

これらのインサイトとレコメンデーションの閲覧・適用に直接関わるIAMロールは次のとおりです。
Google Maps Platform Insights/Recommendations Admin- Google Maps Platformのインサイトとレコメンデーションすべての_管理者_。
Google Maps Platform Insights/Recommendations Viewer- Google Maps Platformのインサイトとレコメンデーションすべての_閲覧者_。
ここまで紹介した事前定義のMaps IAMロールはいずれも強力で実用的ですが、カスタムIAMロールを利用すれば、ユーザーに付与する権限をさらにきめ細かく制御できます。チームのGoogle Maps Platform活用を効果的に管理するためのカスタムかつ粒度の細かいIAMロールについて詳しく知りたい方は、[email protected]までお気軽にご連絡ください。