このブログを検索

2018年12月18日

【Apps調査隊】端末管理を簡単に!Chromeの拡張機能:Endpoint Verificationについて調査せよ

Apps調査隊の小林です。

G Suiteでモバイル端末管理を行う場合に、
Chromeの拡張機能:Endpoint Verificationを活用すると、
組織内で使用されているMacやWindows PC、Chromebookの端末情報や状態を、自動で収集し管理できるようになります。
従来の様に、端末情報を目で確認し、手打ちでその情報を入力する必要もありません。
より早く、より正確に端末管理を行えるようになります。

また、端末の状況を把握するだけではなく、不審なアクセスが起こった場合に備えて通知設定を行うことも可能です。

今回は、そのような管理を可能にするChrome拡張機能:Endpoint Verificationの導入手順を紹介致します。


 ※Google Cloud Platform、Cloud Identity、G Suite Business、G Suite Enterpriseの環境で利用可能です。

詳細設定については以下ヘルプページをご参照ください。
https://support.google.com/a/answer/9007320?hl=ja

ー目次ーーーーーーーーーーー
1)どのような管理ができるのか
2)管理者コンソールの設定
3)利用者の設定
4)まとめ
ーーーーーーーーーーーーーーー


1)どのような管理ができるのか

端末の詳細を把握できるようになります
例えば、
・デバイスのOSバージョン
・ストレージの暗号化の有無
・パスワードが設定されているか
・端末ID
・シリアル番号
・最終同期年月日
・ユーザー詳細
などがあります。

 ※MACアドレスは表示されませんでした。


 イベントの監査を行う事ができます。
監査イベント表示 > レポートからフィルタをかけてイベントを確認することができます。 例えば、
・アカウントの登録先(どの端末で同期したか)
・不審な操作 ・画面ロック解除の失敗など

 特定の操作が行われた場合に警告通知を送信できます。
 例えば、不審な操作が行われた場合に特権管理者にアラートを送信することができます。




詳細設定については以下ヘルプページをご参照ください。 https://support.google.com/a/answer/3230421?hl=ja

管理中の端末リストを参照できます。
端末はアカウント単位で表示されます。
例えば、 複数のアカウントで共有していた場合、
管理コンソール上では 以下のようにユーザーアカウント単位で表示されます。
 例)
AAAA さんの Dell Chromebook ....
BBBB さんの Dell Chromebook ....
CCCC さんの Dell Chromebook ....


※Chrome OS 搭載端末であれば、Endpoint Verification による端末管理は可能です。

2)管理者コンソールの設定

管理コンソールでの事前設定
1)端末管理
2)画面左側のメニューのセットアッを選択
3)「エンドポイントの同期」へスクロールして選択


4)ブラウザ拡張機能を介したパソコンからの報告を許可するボックスがチェックされているか確認
5)チェックされていない場合は、ボックスをチェックして、保存



6)端末管理
7)Chrome管理を選択



8)アプリ管理を選択


9)アプリの検索または更新で「Endpoint Verification」を検索し、選択



10)ユーザー設定を選択




11)組織を選択
12)以下のスライダをオンに設定する
・インストールの許可
・自動的にインストール
・クライアント証明書とキーへのアクセスを許可する
・エンタープライズ キーの本人確認へのアクセスを許可する



 13)下にスクロールし、保存をクリック
 ※変更した設定が適用されるまで、最大24時間かかる場合があります。

3)利用者の設定

管理者が自動ダウンロード設定を有効にた場合ユーザーはChromeブラウザ終了し、再度ブラウザを起動した際に、
ユーザーメニューバー上に「Endpoint Verification」の拡張機能が自動的に表示(追加)されます。
この拡張機能のアイコンをクリックし、「AGREE」をクリック:同意すると同期が始まります。 再度同期する場合はSync(同期)をクリックします。

※Chromebook からのログアウトは不要です。 



 !!注意!!
Endpoint Verification をアンインストールする場合に、 ユーザーは、ユーザー自身がChrome ウェブストアから Endpoint Verification をインストールした場合は、自分でコンピュータから削除できますが、管理者がコンピュータに Endpoint Verification を自動インストールした場合は、ユーザー自身が削除する事はできません。

参考ヘルプページ:
https://support.google.com/a/users/answer/9018161#install


事前にユーザー自身がChrome ウェブストアから Endpoint Verification をインストールし、その後に 管理者が自動インストール設定を行った場合
WindowsとMacユーザーはアンインストールができましたが、Chromeユーザーはできませんでした。
アンインストールを行うと、同期不可となり、管理者は「最終同期以降の端末情報の更新を確認できなくなります。最終同期以前の端末情報は参照可能です。

 ※WindowsとMacユーザーのアンインストール方法は
ネイティブ ヘルパー アプリをアンインストール をご参照下さい。 https://support.google.com/a/users/answer/9018161?hl=ja

 ユーザー自身が拡張機能を追加する場合【WindowsおよびmacOS端末】
WindowsおよびmacOS端末では、Endpoint Verification拡張機能とネイティブヘルパーアプリの両方をインストールする必要があります。

 拡張機能: https://chrome.google.com/webstore/detail/endpoint-verification/callobklhcbilhphinckomhgkigmfocg





インストールプロセス中に、ユーザーは拡張機能の使用条件を承認し、同意する必要があります。

手順に沿ってインストールし、ユーザーがEndpoint Verificationの同期を許可します。





【ChromeOS端末】
ChromeOS端末では、前述の管理者設定(:管理コンソールのアプリのユーザー設定にて、「自動的にインストール」の有効化) を行わなければ、Endpoint Verification拡張機能のインストールができませんでした。

エラーメッセージが表示されていました。
「Endpoint Verification 拡張機能」が強制的にインストールされる設定となっていないため表示されるワーニングメッセージとなります。

管理コンソールのアプリのユーザー設定にて、「自動的にインストール」の有効化を行うと同意を選択でき、同期ができるようになりました。

4)まとめ

ユーザーがEndpoint Verification拡張機能を同期(Sync)することで、管理者はどのユーザーがどの端末にアクセス(サインイン) したのか最新の状態を把握することができます。

管理者側、ユーザー側両方の設定も簡単で管理画面での検索の絞込もわかりやすいものでした。

サインインした各ユーザーの名前と電子メールアドレス、各端末の種類やOS、OSのバージョン、シリアル番号など、より詳細な端末情報を表示させることができ、より簡単に、より正確に端末管理を行えるようになるのでは、と期待しています。
またレポート機能と連携もしているので不審な操作時などにアラートを設定できることも利点であります。

2018年12月4日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ③ −OAuth 2.0 Playground を使用したテストの方法−

Apps調査隊の小林です。

Gmail API の拡張により、 G Suite 管理者は Gmail の受任者を追加、確認、削除できるアプリを承認できるようになりました。

前回に引き続き、今回はOAuth 2.0 Playground を使用したテストの方法をご案内いたします。 ※API の新規実装ではありません。

 ーーーーーーーーーーーーーーーーーーーーーーー

【第1回】 Gmail代理と委任について

【第2回】 2)APIを利用するための設定について プロジェクトの作成、Google OAuthの設定、APIの許可方法など

【第3回】 Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法

 ーーーーーーーーーーーーーーーーーーーーーーー
< OAuth 2.0 Playground テスト手順 >

 1. Google Cloud Console https://console.cloud.google.com を開きます。 ( デフォルトでは、ホームページに移動し、作成済みプロジェクトがあれば既存プロジェクトを開いた状態 )

2. ページの上部にあるドロップダウンで、プロジェクトを作成する組織を選択します。

3. [ 作成 ] か [ 新しいプロジェクト ] をクリックします 。

4. 表示された [ 新しいプロジェクト ] ウィンドウでプロジェクト名を入力し、必要に応じて請求先アカウントを選択します。




5. 新しいプロジェクトの詳細を入力したら、 [ 作成 ] をクリックすると、新しいプロジェクトのホームページにリダイレクトされます。

6. 画面の左上にある [ ≡ ] ( メニュー ) をクリックし、 [ API とサービス ] をクリックします。




 7. 画面中央上部 [ + API とサービスの有効化 ] をクリックします。



 8. 必要な API の名前 ( 今回は Gmail ) を検索して選択し、 [ 有効にする ] をクリックします。

9. [ API とサービス ] で [ 認証情報 ]をクリックします。

10. [ OAuth 同意画面 ] タブをクリックし、 [ アプリケーション名 ] に名前を追加し、 [ 保存 ] をクリックします。



11. [ 認証情報 ] タブで [ 認証情報の作成 ] をクリックし、 [ OAuth クライアント ID ] をクリックします。 [ OAuth クライアント ID の作成 ] ページにリダイレクトされます。

12. [ Webアプリケーション ] を選択し、名前を追加します。各項目に次のように入力して Enter キーで確定します。

- 承認済みの JavaScript 生成元 : https://developers.google.com
- [ 承認されたリダイレクトURI ] : https://developers.google.com/oauthplayground



13. [ 作成 ] をクリックすると、クライアント ID とクライアント シークレットが表示されます 。※後で使用しますので、上記情報を保存してください。




14. [ 認証情報 ] タブに戻り、 [ 認証情報の作成 ] をクリックし、 [ サービス アカウント キー ] をクリックし、 [ 新しいサービスアカウント ] を選択します。
 アカウント名を追加し、役割から [ Project > オーナー ] を選択し、 [ JSON ] を選択したまま、 [ 作成 ] をクリックします。 ( JSON ファイルがダウンロードされますが、今回は使用しません ) 
※後で使用しますので、サービス アカウント キーのクライアント ID を保存してください。


15. [ 認証情報 ] にリダイレクトとされるので、 [ サービス アカウント キー ] 右側の [ サービスアカウントの管理 ] をクリックします。



16. サービスアカウントのアドレスの右側にある 3点メニューをクリック > [ 編集 ] > [ ドメイン全体の委任を表示 ] > [ G Suite ドメイン全体の委任を有効にする ] をオン > [ 保存 ] の順にクリックします。




17. 新規タブで管理コンソールを開き [ セキュリティ ] > [ 詳細設定 ] > [ APIクライアントアクセスを管理する ] に移動します

- 17.1 手順 13 で保存したクライアント ID を [ クライアント名 ] と [ 1つ以上のAPIスコープ ] で使用するスコープ ( 今回必要なスコープ:https://www.googleapis.com/auth/gmail.settings.sharing ) を入力して、 [ 承認 ] をクリックします。)





17.2 ドメイン全体の委任を有効にするために、手順 14 で保存したクライアントIDを [ クライアント名 ] に入力し、次のスコープを入力します。 https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.group 入力後 [ 承認 ] をクリックします。

※ ご不明な点がある場合は、https://developers.google.com/admin-sdk/directory/v1/guides/delegation をご覧ください。

※ 最後にクライアントとスコープが正しく表示されていることを確認してください。

18. https://developers.google.com/oauthplayground/ にアクセスし、 画面の右上にある [ 設定 ] ( 歯車アイコン ) をクリックします。
- 下記のとおり設定してください。
* OAuth flow: Server-side
* OAuth endpoints: Google
* Authorization endpoint: 変更不要
* Token endpoint: 変更不要
* Access token location: Authorization header w/ Bearer prefix
* Access type: Online
* Force prompt: No
* [ Use your own OAuth credentials ] のチェックをオン
* OAuth Client ID: 手順 13 で保存したクライアント ID
* OAuth Client secret: 手順 13 で保存したクライアント シーレット
* [ Close ] をクリック


19. [ Select & authorize APIs ] で、Input your own scopes にhttps://www.googleapis.com/auth/gmail.settings.sharing を挿入し、 [ Authorize APIs ] をクリックします。



20. [ Exchange authorization code for tokens ] をクリックします。



21. [ HTTP method ] で [ POST ] を選択し、https://www.googleapis.com/gmail/v1/users/userId/settings/delegates と入力します。( [ userId ] に代理人の追加先アカウントを挿入します )



22. [ Enter request body ] をクリックし、以下を挿入します。
{ "delegateEmail": "user@yourdomain", "verificationStatus": "accepted" }

23. [ Close ] をクリックしてから [ Send the request ] をクリックします ( すべて正常に完了した場合、応答コード 200 が表示されます ) 手順は以上です。

<新規実装について>
◆テスト環境にて正常に動作が確認できましたら、新規実装を行います。

新規実装についての注意としましては、
Create Method : 代理人の作成方法 (検証ステータスを受け付けた代理人を、検証メールを送信せずに直接追加します。 )

 ※条件:代理人ユーザーは、委任者ユーザーと同じG Suite組織のメンバーである必要があります。

Gmailは、G Suite組織の各ユーザが持つことができる代理人と委任者の数に制限を課しています。  
制限は組織によって異なりますが、一般に各ユーザーは最大25人の代理人と最大10人の 委任者を持つことができます。
代理人であるユーザーは、電子メールエイリアスではなく、 基の電子メールアドレスで参照する必要があります。

また、新しい代理人が作成されてから、 その委任機能を使用できるようになるまでに1分ほどかかる場合があります。

また、この方法はドメイン全体の権限が委任されているサービスアカウントクライアントでのみ 使用可能です。

◆ API の新規実装をスプレッドシートで行う場合には、新規スプレッドシートを作成 > リソース > Googleの拡張サービスをクリックし、Google API 、V1、 GmailをONにします。




また、リソース >Cloud Platformプロジェクト をクリックし、プロジェクト番号を入力します。GCPのプロジェクト情報よりプロジェクト番号を参照できます。これでスクリプトにプロジェクトを関連付けできます。




<感想>
APIを利用してGmail管理の代理を委任することができますが、結局委任された代理人が「承認」を行わない限り、代理設定が完遂しません。また、この方法はドメイン全体の権限が委任されているサービスアカウントクライアントでのみ 使用可能の為、誤って操作した場合のリスクなども考えられます。委任設定を行う数が多くないのであれば、直接ユーザー間で代理設定を行う方がよいのかもしれません。