Google Cloud Identityはどこまで使えるのか実験

Google Workspaceを契約している人は無償で利用することも可能な「Google Cloud Identity」と呼ばれるモノ。これは一体何者なのか?企業で使う場合に何の役に立つのか?ということで、ちょっと使う機会というか検証する機会があった為、これを使うことで何が実現出来るのか?を調査してみました。

現在のGoogle Workspaceが抱えてるコスト的な問題点や雇用形態によるサービスの付与の可否など色々と思うところがある企業が多いと思いますので、色々な角度で「何が出来るのか?」をまとめてみます。

今回利用するサービス

GCPのサービスとなりますが、Google Workspaceを利用してる企業ではプランによって無償で利用することが可能になっています。よって、単体でも契約して利用できますが、今回はGoogle Workspaceを利用してる組織が利用する場合ということで見てみると、大きく2つのプランになります。

GCPでの環境が必要になるので、事前にそちらは以下のエントリーを参考に用意しておきましょう。

Google Cloud Consoleを弄ってみる

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のみ)
  • SAML認証などで利用できるので外部ウェブサービスのIDとして利用が可能

GCP等で構築したウェブアプリやサービスを利用するためのIDであり、アカウントには違いないのでメール等利用しないというケースに於いて他のサービスでのログイン制御対象となるため、そういったケースで発行することで、Google Workspaceのフルサービスでライセンスを割り当てる必要がなくなるのでコスト低減に寄与する仕組みです。

※Cloud Identity Premiumでコンテキストアウェアアクセスが使えるのでGoogle WorkspaceのプランがBusiness Standardでも問題なく運用が可能となります(本来は単体ならばEnterprise Standard以上が必要)

Google Workspaceで高度なアクセス制限を実現する

サービスのプランと範囲

Google Cloud Identity Free 

  • Business Standard Plus以下のプランで使える
  • 無償で利用が可能
  • 作成可能ユーザ数はドメインで契約してるアカウント数の上限まで(単体だと50アカウントまで)
  • サポートはGoogle Workspaceのプランのサポートに準拠
  • コンテキストアウェアアクセスは利用できない

Google Cloud Identity Premium

  • Enterprise Standard以上のプランで利用できる(単体だと1ユーザ$6/月)
  • 作成ユーザ数の制限は無し
  • サポートはメールおよび電話による24時間365日のサポート
  • コンテキストアウェアアクセスを利用することが可能
  • Enterprise Standardでは無償で使えるっぽい表記がありますが、Premiumは別途契約が必要です。

使い所と注意点

Google Driveを利用することはできますが、メールについては使えないといった制限があります。また、利用目的によりますが外部委託・業務委託の人にこれを割り当てることでGoogle Workspaceのライセンスを消費せずに済む一方いくつかの注意点があります。

  • メールについては別途必要となる場合は、別の安いシステムを用意しておくか?BYOD運用が必要
  • また組織部門単位で設定するべきであるため、別途OUを用意してそこにCloud Identityユーザは所属させて一括で設定を行うこと
  • 共有ドライブは使えませんので、別のシステム(BoxやGithub、NASなど)を用意する必要がある
  • Google Driveは作成した組織単位でONにする必要があります。特に外部共有やデスクトップ版Google Driveアプリのオンオフなどは注意。
  • 外部委託の人に他のOUの人を見せたくない場合、OUをしっかりわけるだけじゃなくディレクトリ閲覧の設定をオフにしましょう。
  • その他のGoogleサービスは使えたりするので、これらはオンオフを組織部門単位で設定しておきます。
  • マイドライブ内ファイルについて監査ログの対象外となってしまう。
  • PCについても相手に配布せず先方のものを利用するBYOD運用の場合は、コンテキストアウェアアクセスを利用しEndpoint Verificationをインストールさせてアクセス制限をすべきです(この場合、PCコストやキッティング手間もなくなります)
  • Google Workspaceの特権管理者としてGWSのライセンスを割り当ててるケースに於いて、複数名管理者がいる場合に面倒だからと二段階認証をしていないケースがある。これもCloud Identityで複数名分作成して特権管理のroleを割り当て、それぞれを渡せば二段階認証で面倒ということも起きなくなります(普段遣いのアカウントに特権管理者を割り当てるのは危険)。

以上のような形での運用が可能であれば、フルライセンスで割り当てる必要がない為、特にIT企業などで外部委託の企業のメアドなどを持ってる人、タスク管理やカレンダーは別のシステムで進捗管理を行うので必要ない人、ファイルに関しても外部サービスで管理を行うので不要な人に対して、自社ドメインでのIDを付与し、且つ自社のオンプレサービスの利用(Beyond Corpを利用する)、GCP上の自社サービスを利用する、SAML認証で外部のサービスを使う(Backlogなど)等の場合に、コスト削減に大きく寄与します。

不足する部分はどうするべきか?

そもそも、クラウドのサービスがそこまで高コストでなければ、また制限がなければこのようなコストを意識せず通常通りライセンスを割り振ってあげれば良いだけなのですが、

  • 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円)の削減に繋がります。

ここからフォローするためのオンプレコストを低価格で実現できればやってみる価値は大いにあるかと思います。早い話がクラウドサービスの手軽さと贅沢に慣れきってしまって「あって当たり前」のような湯船に浸かりすぎてる状況を是正するための手段といえます。

自前サーバでRocket Chatを構築するメモ

実際に作ってみる

事前準備

使えるようにする

以下の手順で自社ドメイン内でCloud Identityを利用可能にします。

  1. Google Cloud Consoleを開く
  2. 左上のプロジェクトは基本的には個別プロジェクトではなく、ドメインを指定する
  3. 左サイドバーからIAMと管理=>IDと組織を開く
  4. Google Workspaceの場合すでに利用が可能になってるのでチェックリストに移動をクリック
  5. Admin Consoleを開く
  6. 左サイドバーからお支払い=>その他のサービスを利用するを開く
  7. Cloud Identityをクリックする
  8. Cloud Identity Freeの開始をクリックする
  9. 次へをクリックする
  10. ご購入手続きをクリックする
  11. 注文をクリックする
  12. ライセンス設定を確認をクリックする
  13. Google Workspaceの割当がオンになってるので、これをオフにしてあげるとユーザ作成時にライセンス割当が自動でされなくなる

これで、ユーザ追加の準備ができました。

図:Admin Consoleから開始する

OUの用意とセッティング

Cloud Identity ユーザは組織部門の中で独立して管理すべきですので、以下のように組織部門を作成し、その設定を変更しておきます。

  1. Admin Consoleを開く
  2. 左サイドバーからディレクトリ=>組織部門を開く
  3. 組織部門の作成をクリックし、組織部門名を入力
  4. 作成をクリックするとこれで作成完了
  5. 続けて、左サイドバーのアプリ=>Google Workspace=>設定したいアプリを選択
  6. 組織部門を選択し、サービスのステータスでオンオフし、有効無効を決める
  7. その他のGoogleサービスについても同様にオンオフを組織部門指定して行っておく
  8. 続けて、ディレクトリ設定をクリックする
  9. 公開設定をクリックする
  10. 左側の作成した組織部門を選択する
  11. 全ユーザが見える状態なので、ここを表示できるユーザなしにするか?カスタムディレクトリを指定する
  12. オーバーライドをクリックする

図:ディレクトリ設定状況

Cloud Identityユーザの追加

通常通り、Admin Consoleからユーザを追加します。

  1. Admin Consoleを開く
  2. 左サイドバーのディレクトリ=>ユーザを開く
  3. 新しいユーザの追加をクリックする
  4. 姓名、アカウント名、予備のメールアドレス(通知用)、前述で作っておいた組織部門を指定する
  5. パスワードを入力する

ライセンス自動割当をオフにしてるのでこの段階で出来てるユーザはCloud Identityユーザとなっているはずです。ユーザにGoogle Workspaceライセンスを割り当てたい場合は個別にユーザを開いてユーザの更新=>ライセンスを開き、Google Workspaceのプランを割り当てのスイッチをオンにすれば割り当てられます。

マイアカウントから試しにログインしてみると通常のドメイン付きのGoogleアカウントとして使えるのを確認できます。

図:ユーザライセンス割当状況

検証してみた

さて、作成したCloud Identityアカウントですがどこまで使えるのか?を検証してみたいと思います。通常のGoogleアカウントには違いが無いので、Google Workspaceの一部サービスが使えない点を除けば殆んどの場合運用が可能なのではないかと思います。

Google Drive

15GBまでの容量が利用できます。また、マイドライブ内であれば普通にGoogle Spreadsheetやファイルのアップロードも普通に可能です。FormやSitesの作成も問題なく行なえます。Google Apps Scriptでコードを書くことももちろん可能です。

共有ドライブはユーザとしてIdentityのユーザを追加しても、閲覧者の権限しかつけることはできません。

図:もちろんGASも使える

図:共有ドライブは見るだけ

メール通知

当然ですが受けるべきメールボックスもなければ送信するGMailサービスも無いので、いわゆる通知系のメールを受け取ることもできません。前述の共有に追加してもそのままではどうにもできないのでここがつらい所です。そこで、Admin Consoleから対象のアカウントのメールを転送する設定を入れてみました。

  1. Admin Consoleを開く
  2. 左サイドバーからアプリ=>Google Workspace=>Gmail=>ルーティングを開く
  3. 受信者アドレスマップを使用したメール転送の設定を開く
  4. 追加にて、アドレスにIdentityのメール、マッピング先のアドレスをgmailアカウントを指定してみた
  5. この状態で、Identityのアドレス宛にメールを送る

さてどうか?というと、きちんと転送先にメールが届きました。よって、SAML認証やGoogleドライブの共有通知などの為に、転送アドレスを登録しておくことでフォローすることが可能です。

※Googleアカウントの緊急時用のメアドや電話番号は未登録のままなので、いざという時の為に登録しておいたほうが良いでしょう。

図:転送は出来ますよ

Google Apps Script

Google Apps Scriptは使えるのはすでにDriveの項目で確認済みです。一方でHTML Serviceで他のメンバーが作ったウェブアプリの実行や、MailAppで送信をしてみたらどうなるのか?という実験をしてみました。

MailAppでの送信を実行してみたところ、きちんと相手にも届きました。MailAppでのメール送信は可能のようです。ということは、CalendarAppなども利用できるでしょう(自分のカレンダーは無いのでアレですが)。

HTML Serviceのウェブアプリの実行はどうか?もちろんこれも可能ですが、ここでのテストは共有ドライブ上で配置したスプレッドシートのウェブアプリの実行。読み取り専用なのでスプレッドシートも当然読み取り専用です。そこで、デプロイと実行権限をGWSユーザとして設定した場合はどうか?というと、Directoryからユーザとして情報も取得出来、座席表アプリを使ってみましたが、きちんとスプレッドシートに書き込みと動作もバッチリでした。

ユーザ権限で動かした場合はスプレッドシートに書き込みが出来ないので、使えません(ただし相手のアプリがマイドライブ内でIdentityアカウントを共有として追加してる場合はオッケーです)

図:アプリも使えました

Google Apps Scriptでメールを送信する - MailApp編【GAS】

外部サービス

よくあるGoogleアカウントで他のウェブサービスにログインするSAML認証やOAuth2.0認証。Cloud Identityのアカウントにて試しにDropBoxにアクセスしてアカウント作成と利用は出来るのか?チャンレンジしてみました。今回はSAML認証はしていないので通常の、Googleアカウントで登録という形でアカウントを作成しています。

実際にアカウントも作成でき、アップロードも出来ました。登録時のメールは前述のルーティングでメール転送をしているので無事に別アカウントに届いています。

図:アカウント作成し使えました

関連リンク

 

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。