Google Cloud Identityはどこまで使えるのか実験
Google Workspaceを契約している人は無償で利用することも可能な「Google Cloud Identity」と呼ばれるモノ。これは一体何者なのか?企業で使う場合に何の役に立つのか?ということで、ちょっと使う機会というか検証する機会があった為、これを使うことで何が実現出来るのか?を調査してみました。
現在のGoogle Workspaceが抱えてるコスト的な問題点や雇用形態によるサービスの付与の可否など色々と思うところがある企業が多いと思いますので、色々な角度で「何が出来るのか?」をまとめてみます。
今回利用するサービス
GCPのサービスとなりますが、Google Workspaceを利用してる企業ではプランによって無償で利用することが可能になっています。よって、単体でも契約して利用できますが、今回はGoogle Workspaceを利用してる組織が利用する場合ということで見てみると、大きく2つのプランになります。
GCPでの環境が必要になるので、事前にそちらは以下のエントリーを参考に用意しておきましょう。
Cloud Identityについて
そもそも何をする為のサービスなのか?
Google Workspaceでは独自ドメインでユーザにアカウント+各種サービスが1つとなって提供されています。よって、特定のサービスしか使わない人であっても、フルサービスのアカウントで提供する必要があり、また同一組織内でこの人だけBusiness Starter、この人はEnterprise Standardといったような区分けができず、また300名を超えてる場合は有無を言わさずEnterprise以上のプランを利用する必要があります。
一方、Cloud Identityは同じ用に◯〇〇@hogehoge.comという独自ドメインでアカウントを作成することが出来るサービスです。特徴としては
- これはGCP側で作成してるアカウントであるため、管理はGCP側で行うことになります。
- Google Workspaceのプランではないので、GmailやCalendar、Google Chatといったサービスは利用することができませんし付与されていません。
- Google Meetは自分から会議を作成は出来ませんが、招待された場合は参加は可能です。
- Google Driveについては15GBまでマイドライブが使えますが、共有ドライブへの書き込みはできません(閲覧は可能)。
- Google Workspaceのコンテキストアウェアアクセスの管理対象となるのでアクセス制御することが可能です(Cloud Identity Premiumのみ)
- Cloud Identity Freeしかない環境の場合、コンテキストアウェアアクセスの対象外になりますが、同じテナントにEnterprise Standardが同居してる場合は対象にすることが可能です(こちらを見ると対象外っぽいと書いてますが、これは単体のケースです)
- SAML認証などで利用できるので外部ウェブサービスのIDとして利用が可能
GCP等で構築したウェブアプリやサービスを利用するためのIDであり、アカウントには違いないのでメール等利用しないというケースに於いて他のサービスでのログイン制御対象となるため、そういったケースで発行することで、Google Workspaceのフルサービスでライセンスを割り当てる必要がなくなるのでコスト低減に寄与する仕組みです。
※Cloud Identity Premiumでコンテキストアウェアアクセスが使えるのでGoogle WorkspaceのプランがBusiness Standardでも問題なく運用が可能となります(本来は単体ならばEnterprise Standard以上が必要)
サービスのプランと範囲
Google Cloud Identity Free
- Business Standard Plus以下のプランで使える
- 無償で利用が可能
- 作成可能ユーザ数はドメインで契約してるアカウント数の上限まで(単体だと50アカウントまで)
- サポートはGoogle Workspaceのプランのサポートに準拠
- コンテキストアウェアアクセスは利用できない(ただし別にEnterprise Standard以上が入ってると利用可能)
Google Cloud Identity Premium
- Enterprise Standard以上のプランで利用できる(単体だと1ユーザ$6/月)
- 作成ユーザ数の制限は無し
- サポートはメールおよび電話による24時間365日のサポート
- コンテキストアウェアアクセスを利用することが可能
- Enterprise Standardでは無償で使えるっぽい表記がありますが、Premiumは別途契約が必要です。
使い所と注意点
Google Driveを利用することはできますが、メールについては使えないといった制限があります。また、利用目的によりますが外部委託・業務委託の人にこれを割り当てることでGoogle Workspaceのライセンスを消費せずに済む一方いくつかの注意点があります。
注意点
- メールについては別途必要となる場合は、別の安いシステムを用意しておくか?BYOD運用が必要
- 共有ドライブは使えませんので、別のシステム(BoxやGithub、NASなど)を用意する必要がある
- Google Driveは作成した組織単位でONにする必要があります。特に外部共有やデスクトップ版Google Driveアプリのオンオフなどは注意。
- また組織部門単位で設定するべきであるため、別途OUを用意してそこにCloud Identityユーザは所属させて一括で設定を行うこと
- 外部委託の人に他のOUの人を見せたくない場合、OUをしっかりわけるだけじゃなくディレクトリ閲覧の設定をオフにしましょう。
- その他のGoogleサービスは使えたりするので、これらはオンオフを組織部門単位で設定しておきます。
- マイドライブ内ファイルについて監査ログの対象外となってしまう。
- PCについても相手に配布せず先方のものを利用するBYOD運用の場合は、コンテキストアウェアアクセスを利用しEndpoint Verificationをインストールさせてアクセス制限をすべきです(この場合、PCコストやキッティング手間もなくなります)
- Google Workspaceの特権管理者としてGWSのライセンスを割り当ててるケースに於いて、複数名管理者がいる場合に面倒だからと二段階認証をしていないケースがある。これもCloud Identityで複数名分作成して特権管理のroleを割り当て、それぞれを渡せば二段階認証で面倒ということも起きなくなります(普段遣いのアカウントに特権管理者を割り当てるのは危険)。
以上のような形での運用が可能であれば、フルライセンスで割り当てる必要がない為、特にIT企業などで外部委託の企業のメアドなどを持ってる人、タスク管理やカレンダーは別のシステムで進捗管理を行うので必要ない人、ファイルに関しても外部サービスで管理を行うので不要な人に対して、自社ドメインでのIDを付与し、且つ自社のオンプレサービスの利用(Beyond Corpを利用する)、GCP上の自社サービスを利用する、SAML認証で外部のサービスを使う(Backlogなど)等の場合に、コスト削減に大きく寄与します。
※まもなく特権管理者は2段階認証が強制化されますので、今のうちにCloud Identity Freeで複数名管理者がいる情シスなどは対応しておくと良いでしょう。管理コンソールに入れなくなる恐れがあります。
使い所
- 別にMicrosoft365等を主として使ってる組織に於いて、Google Workspace側の野良アカウント対策としてCloud Identity Freeを使う
- 管理者は日常で使うGoogle Workspaceアカウントとは別にCloud Identity Freeでアカウントを作っておきましょう(GWS側でパスワード漏えいあった場合、テナント全部が危機に晒されます)
- Google CloudやGoogle Workspace以外のGoogleサービスを利用する目的だけのIdPとして利用するケース(AnalyticsやAppSheetなど)
- 同様に他のWebサービスへのSAML認証用のIdPとして利用するケース
- 外部の業務委託者に対してGWSのフルライセンスではなく、Cloud Identityだけを割り当てGCPなどの利用に限定するケース
- 特定のGASを実行する為だけの専用アカウントとして(但し共有ドライブでは難しい)
- Chrome Enterprise Premium(旧Beyond Corp Enterprise)を利用する為の窓口として
Free版のライセンス上限数を増やす
Google WorkspaceおよびCloud Identity Premiumを契約してるテナントの場合、初期のCloud Identity Freeのユーザ枠は50と決められています。この枠についてですが、増やすことが可能です。
こちらの申請フォームからリクエストを投げることでGoogle側裁量になるかと思いますが、増加させることが可能です(過去に聞いた話だと数千といったCloud Identity Free枠を利用してるユーザもいるのだとか)。このフォームでの申請は特権管理者でなければ利用することができません。また、パートナー契約をしてる場合には、パートナー企業経由で増加申請をすることになります。
※以前はかなりのまとまった数の申請でCloud Identity Freeアカウント枠を用意出来ましたが、現在は規制が厳しくなって利用実績に応じてとなっているようです。
Cloud Identity Freeライセンスは外せない
Cloud Identity Freeが割当たってるユーザにGoogle Workspaceのライセンスを割り当てても、Cloud Identity Freeのライセンスを外すことは出来ません(自動割り当てされます)。これは公式にも記述があります。Cloud Identity Premiumに関しては外すことが可能です。
GASからLicenseManagerを使ってリクエストしても同様です。よって以下のようなGASを記述して外せるのはCloud Identity Premiumとなります。
1 2 3 4 5 6 7 8 |
//Cloud Identity Premiumのライセンスを外す function removeLicense() { var productId = "101005"; var skuId = "1010050001"; var email = "対象者のメアド"; var LicenseRemovalStatus = AdminLicenseManager.LicenseAssignments.remove(productId, skuId,email) } |
図:グレーアウトしてて外せない
不足する部分はどうするべきか?
そもそも、クラウドのサービスがそこまで高コストでなければ、また制限がなければこのようなコストを意識せず通常通りライセンスを割り振ってあげれば良いだけなのですが、
- Google WorkspaceだけじゃなくMicrosoft365も低コストプランはユーザ数上限が300名で切られてしまってる
- 更にGoogle Driveのストレージ容量が削られたり、ライセンス費用も年々上昇してITコストが経営資源を圧迫してる
- 社内エンジニアを切って手軽さを求めた代償が大きく、オンプレ回帰やプライベートクラウドとのハイブリッドになりつつある
- Microsoft Officeに依存するが為に、Windowsを辞める選択が出来ずそれに伴う余計なセキュリティコストも増大してる(Google Workspace1本に統一すべし)
故にコスト削減の為にCloud Identityを使うという選択肢の結果、いくつか不足する要素(メール、チャット、カレンダー)についてフォローをしなければいけません(とはいえ、これが相応の金額が掛かるようでは元の木阿弥)。このフォロー策としては
- 社内にオンプレ環境が残ってるならばBeyond CorpでVPNフリーとしてCloud Identityを使っての接続を実現する
- 社内オンプレ環境にチャット環境であるRocket Chatを用意し、Cloud Identityを使うような人はこちらを利用してもらう
- 外部委託や業務請負の人などはプロジェクトベースで動く人達なので、カレンダーや進捗管理についてはRedmineなどを社内オンプレで用意して運用
- 思い切ってメールとカレンダーについてはBYOD運用を実行してみる
- MeetはCloud Identity側からの招待はできないものの、招待されての参加は出来るので運用でカバーする(Rocket Chatでビデオ会議機能もついています。内部的にはJitsiというオープンソースのツールを実装してるようです)
- メールのカバーとしては利用してるレンタルサーバのメールサーバを利用する(Cloud Identityのアドレスは後述の転送処理をしておく)
- 問題は非常に大容量のファイルを多数扱ってる場合、NASをどうするか?が課題(NASに回帰して運用するコストを勘案する必要性あり)。
面倒くさいであったり、贅沢な利便性を求めるならばコスト削減は諦めて高コストなフルライセンスを払い出すしかありません。問題はそれが経営を圧迫してるからということを忘れてはいけません。こういった努力をする企業の為のCloud Identityなのです。
300名以上でEnterprise Standardを使ってるケースならば、1ユーザ 2,860円としてみた場合、870円(145円換算の$6)で、100名利用ということであれば、1,990円/月の削減となり100名ですので毎月190,000円のコスト削減となります。結果、正社員が使うプランはBusiness Standardで済むということであれば1ユーザ1360円なので、1500円の削減となり毎月300,000円のコスト削減、トータルで毎月490,000円(年間5,880,000円)の削減に繋がります。
ここからフォローするためのオンプレコストを低価格で実現できればやってみる価値は大いにあるかと思います。早い話がクラウドサービスの手軽さと贅沢に慣れきってしまって「あって当たり前」のような湯船に浸かりすぎてる状況を是正するための手段といえます。
実際に作ってみる
事前準備
使えるようにする
以下の手順で自社ドメイン内でCloud Identityを利用可能にします。
- Google Cloud Consoleを開く
- 左上のプロジェクトは基本的には個別プロジェクトではなく、ドメインを指定する
- 左サイドバーからIAMと管理=>IDと組織を開く
- Google Workspaceの場合すでに利用が可能になってるのでチェックリストに移動をクリック
- Admin Consoleを開く
- 左サイドバーからお支払い=>その他のサービスを利用するを開く
- Cloud Identityをクリックする
- Cloud Identity Freeの開始をクリックする
- 次へをクリックする
- ご購入手続きをクリックする
- 注文をクリックする
- ライセンス設定を確認をクリックする
- Google Workspaceの割当がオンになってるので、これをオフにしてあげるとユーザ作成時にライセンス割当が自動でされなくなる
これで、ユーザ追加の準備ができました。
図:Admin Consoleから開始する
OUの用意とセッティング
Cloud Identity ユーザは組織部門の中で独立して管理すべきですので、以下のように組織部門を作成し、その設定を変更しておきます。
- Admin Consoleを開く
- 左サイドバーからディレクトリ=>組織部門を開く
- 組織部門の作成をクリックし、組織部門名を入力
- 作成をクリックするとこれで作成完了
- 続けて、左サイドバーのアプリ=>Google Workspace=>設定したいアプリを選択
- 組織部門を選択し、サービスのステータスでオンオフし、有効無効を決める
- その他のGoogleサービスについても同様にオンオフを組織部門指定して行っておく
- 続けて、ディレクトリ設定をクリックする
- 公開設定をクリックする
- 左側の作成した組織部門を選択する
- 全ユーザが見える状態なので、ここを表示できるユーザなしにするか?カスタムディレクトリを指定する
- オーバーライドをクリックする
図:ディレクトリ設定状況
Cloud Identityユーザの追加
通常通り、Admin Consoleからユーザを追加します。
- Admin Consoleを開く
- 左サイドバーのディレクトリ=>ユーザを開く
- 新しいユーザの追加をクリックする
- 姓名、アカウント名、予備のメールアドレス(通知用)、前述で作っておいた組織部門を指定する
- パスワードを入力する
ライセンス自動割当をオフにしてるのでこの段階で出来てるユーザはCloud Identityユーザとなっているはずです。ユーザにGoogle Workspaceライセンスを割り当てたい場合は個別にユーザを開いてユーザの更新=>ライセンスを開き、Google Workspaceのプランを割り当てのスイッチをオンにすれば割り当てられます。
マイアカウントから試しにログインしてみると通常のドメイン付きのGoogleアカウントとして使えるのを確認できます。
図:ユーザライセンス割当状況
検証してみた
さて、作成したCloud Identityアカウントですがどこまで使えるのか?を検証してみたいと思います。通常のGoogleアカウントには違いが無いので、Google Workspaceの一部サービスが使えない点を除けば殆んどの場合運用が可能なのではないかと思います。
Google Drive
15GBまでの容量が利用できます。また、マイドライブ内であれば普通にGoogle Spreadsheetやファイルのアップロードも普通に可能です。FormやSitesの作成も問題なく行なえます。Google Apps Scriptでコードを書くことももちろん可能です。
共有ドライブはユーザとしてIdentityのユーザを追加しても、閲覧者の権限しかつけることはできません。
また、ドライブ容量制限をつけたくても、Cloud Identityに関しては設定の対象外となってる為制限をすることは出来ません。
図:もちろんGASも使える
図:共有ドライブは見るだけ
メール通知
当然ですが受けるべきメールボックスもなければ送信するGMailサービスも無いので、いわゆる通知系のメールを受け取ることもできません。前述の共有に追加してもそのままではどうにもできないのでここがつらい所です。そこで、Admin Consoleから対象のアカウントのメールを転送する設定を入れてみました。
- Admin Consoleを開く
- 左サイドバーからアプリ=>Google Workspace=>Gmail=>ルーティングを開く
- 受信者アドレスマップを使用したメール転送の設定を開く
- 追加にて、アドレスにIdentityのメール、マッピング先のアドレスをgmailアカウントを指定してみた
- この状態で、Identityのアドレス宛にメールを送る
さてどうか?というと、きちんと転送先にメールが届きました。よって、SAML認証やGoogleドライブの共有通知などの為に、転送アドレスを登録しておくことでフォローすることが可能です。
※Googleアカウントの緊急時用のメアドや電話番号は未登録のままなので、いざという時の為に登録しておいたほうが良いでしょう。
図:転送は出来ますよ
Google Apps Script
Google Apps Scriptは使えるのはすでにDriveの項目で確認済みです。一方でHTML Serviceで他のメンバーが作ったウェブアプリの実行や、MailAppで送信をしてみたらどうなるのか?という実験をしてみました。
MailAppでの送信を実行してみたところ、きちんと相手にも届きました。MailAppでのメール送信は可能のようです。ということは、CalendarAppなども利用できるでしょう(自分のカレンダーは無いのでアレですが)。
HTML Serviceのウェブアプリの実行はどうか?もちろんこれも可能ですが、ここでのテストは共有ドライブ上で配置したスプレッドシートのウェブアプリの実行。読み取り専用なのでスプレッドシートも当然読み取り専用です。そこで、デプロイと実行権限をGWSユーザとして設定した場合はどうか?というと、Directoryからユーザとして情報も取得出来、座席表アプリを使ってみましたが、きちんとスプレッドシートに書き込みと動作もバッチリでした。
ユーザ権限で動かした場合はスプレッドシートに書き込みが出来ないので、使えません(ただし相手のアプリがマイドライブ内でIdentityアカウントを共有として追加してる場合はオッケーです)
図:アプリも使えました
外部サービス
よくあるGoogleアカウントで他のウェブサービスにログインするSAML認証やOAuth2.0認証。Cloud Identityのアカウントにて試しにDropBoxにアクセスしてアカウント作成と利用は出来るのか?チャンレンジしてみました。今回はSAML認証はしていないので通常の、Googleアカウントで登録という形でアカウントを作成しています。
実際にアカウントも作成でき、アップロードも出来ました。登録時のメールは前述のルーティングでメール転送をしているので無事に別アカウントに届いています。
図:アカウント作成し使えました
AppSheetアプリ
AppSheetで作成したアプリについて、Cloud Identity Freeのユーザはアプリの利用やスプレッドシートに対して読み書きは果たして出来るのか?ということについて追加検証したものが以下のエントリーになります。
結論から言えば、共有ドライブ上のシートであってもメンバーとして追加して無くても、AppSheetアプリ上でCIFユーザを共有しておけばアプリから読み書き可能でした。詳細については以下のエントリーを御覧ください。
関連リンク
- 無料で使えるGoogleのIDaaS「Google Cloud Identity Free Edition」を利用してみた
- Cloud Identityの使い所
- Cloud IdentityにGoogle Driveを追加する方法
- Cloud IdentityでGoogleグループからメンバーを追加・削除するGoogle Apps Scriptを書いた
- 動的グループを使用してメンバーを自動的に管理する
- 動的グループの作成と更新
- Cloud Identity API
- メンバークエリの作成とテスト - カスタム属性を使う
- 動的グループ用のメンバーシップ クエリを作成する
- Cloud Identity のライセンス割り当ての仕組み
- Cloud IdentityライセンスでAppSheetアプリは作成できるのか試してみた
- Auto Unassign Google Workspace License from your users
- Google Workspace Frontline - Bulk Remove Licenses via Apps Script