このブログを検索

2019年1月1日

【Apps調査隊】グループを使用したサービス利用の制御方法について調査せよ

Apps調査隊の小林です。

管理コンソールのサービス管理に関するアップデートが行われ、従来、組織毎でサービスの利用管理に加え、 さらに、グループ毎でもサービスの利用管理を行えるようになりました。

 公式アップデートブログ(原文) https://gsuiteupdates.googleblog.com/2018/12/control-g-suite-apps-using-google-groups.html

目次

1)活用ケース
2)組織とグループについて
3)グループでのサービス管理方法
4)注意点
5)まとめ

1)活用ケース

次のようなケースでの活用が考えられます。

・一定期間、一時的にあるユーザーに対してサービスを有効化したいとき
組織移動が起こるかもしれない、研修中ユーザーに対して、研修中の時だけ、 ChatやFormが利用できるようにする。時期がきたら、サービスを無効化する。

・プロジェクトチームにのみサービスを有効可
ユーザーに対してのみサービスを有効化したいときに活用できそうです。 リモートメンバーで、あるプロジェクトが進行中の時のみドライブを利用できる

・特定の技術によって
[本社]組織 >[技術]組織、[開発]組織内ユーザーで、ある一定の技術レベルのユーザーだけが所属するグループを作成し、必要なサービスを有効化する

・大きい組織内で異なる企業がある場合[関東地区の〇〇店]組織内ユーザーと [関西地区の〇〇店]組織内ユーザーの管理者が所属する [管理グループ]を作成し、サービスを有効化


 2)組織とグループについて

G Suiteを導入したばかりの管理者様は、まず[G Suite を使い始める際の基本事項]に目を通して頂き、各項目を参考頂ければと存じます。

「組織」に関しましては、[組織の追加]をご参考ください 。

「グループ」に関しましては、[グループを作成し、グループ設定を選択する]をご参考ください。

 3)グループでのサービス管理方法

 従来より、 管理者は Google 管理コンソールで、[組織部門]による Google サービス(アプリなど)へのアクセスの 有効・無効を設定できました。
今回、新たに[グループ]によるアクセスの有効・無効の設定が可能になりました。

例えば、組織部門でChatが無効になっていても、無効組織内のあるユーザーだけをのグループを作成し、そのグループ を対象に、Chatを有効化することで、無効組織所属ユーザーであっても、グループ内のユーザーはChatを利用できるようになります。


【手順について】
1)組織メンバーを確認します。例)02リモートという組織にユーザーAとBが所属しています。


2)組織毎でのアプリ有効・無効設定の確認をします。 02リモートの組織では、ChatとJamboardがオフ(無効)になっています。


 3)新しいグループを作成します。例)Chatを利用できるグループ:Chat Groupを作成。


4)02リモートでChatを利用を許可するユーザーを追加します。例)グループ:Chat Groupに組織で無効になっているユーザーを追加。



5)グループを検索するか、グループ検索欄のグループを選択します。 (本機能は、例えば Gmail がある OU に対して無効になっている状態で、OU 内の特定のユーザーにだけ、 Gmail へのアクセスを許可したい場合などに用いられるため、 特定のサービスがオフになっている OU が存在する場合に、OU内に存在する特定のユーザーが所属するグループのみが検索に表示されます。)


 6)グループを選択し、有効にするアプリにマウスオーバーすると、[オンにする]が表示されます。ページ上部にどのグループを選択しているのか表示されます。 例)〇〇でアプリのステータスを表示しています。


 7)アプリのステータスが[オン]になります。


 詳細は、 GSuite管理者ヘルプ:グループを使用して G Suite などの Google サービスの利用を制御するをご参考くださいませ。


 4)注意点

 ・適用条件は、「組織の設定 or グループごとでの設定」なので。サービスへのユーザー アクセスが組織で有効になっている場合、グループを使用してこれを無効にすることはできません。

 ・グループを使用して、Marketplace アプリや SAML アプリへのアクセスを有効にすることはできません。

・グループ内のユーザーに対してサービスをオンにします。常に組織の設定よりも優先されます。

・サービスの設定(共有オプションなど)は各グループ メンバーはそれぞれの組織のサービス設定を使用しなければいけません。

 ・グループ内のグループはサービスにアクセスできます。設定を継承します。

 ・アクセス グループの設定が反映されるまでに、最長で 24 時間ほどかかる場合があります

・グループのサービス有効化を終了(削除)する場合には、アプリの無効化を先に行ってから、グループを削除する必要があります。

1)アプリを有効化したまま、グループを削除
2)削除したグループに所属していたユーザーで、ブラウザ再読込みと、ログアウトしログインし直しました
3)削除したグループに所属していたユーザーが当該アプリを利用できるか確認したところ
4)利用ができてしまいました。

 Google 社に確認を行ったところ、 Google 社の環境にて、同事象を再現されたため、プロダクトエンジニアが現在(2018年12月20日現在)調査を行ってるとの事です。 現状、グループを削除する前にグループのサービス設定を解除する必要があるとの事です。注意が必要ですね。


 5)まとめ

 今回のアップデートによってサービスの有効可をより柔軟に細かくおこなえるようになりました。 1)活用例にございますように、状況に応じて活用していきたいですね。

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


2018年11月20日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ② -Google OAuthの設定、APIの許可方法-


Apps調査隊の小林です。

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

3回に分けて 「Gmail API を使ったGmail 委任設定についてご紹介しておりますが、今回は2回目のAPIを利用するためのGoogle Cloud Platformでの設定をご紹介致します。

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

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

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

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

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

管理コンソールでAPIを有効化します。

 管理コンソール > セキュリティ > アクセスを有効にするに☑をいれます。

まずはGCPに登録

Google APIサービスを利用するには、Google Developer Consoleにプロジェクト登録と設定が必要です。

 APIを利用するために以下の設定が必要になります。
・プロジェクトの作成
・APIの許可
・認証情報の作成(OAuthクライアントID)

プロジェクトの作成します

1)GCP Console API ライブラリに移動します。


2)新しいプロジェクトを作成します。

3)プロジェクト名、プロジェクト ID :プロジェクトに付けられたグローバル固有 IDを入力し、組織を選択します。作成するプロジェクトは管理対象ドメイン下に作成されます。ドメイン管理者には、プロジェクトとそのリソースに対する完全なアクセス権が設定されます。

場所(作成するプロジェクトを保管する親組織かフォルダ)を選択します。「参照」より親組織やフォルダを検索できます。


4)プロジェクト作成後、プロジェクトのモニタリングページが表示されます。


 5)スタートガイドの「APIを有効化し、鍵などの認証情報を取得」もしくは、
APIの「➔APIの概要に移動」をクリックし、APIとサービスの管理ページに移動します。


 6)APIとサービスの管理ページ 左メニューの「ライブラリ」をクリックします。



APIの許可


Gmail APIを選択し有効化します。

1)APIとサービスの管理ページ 左メニューの「ライブラリ」をクリックします。 APIライブラリページに移動します。


2)「有効化にする」をクリックします。


3)有効化されたAPIを確認し、目的のAPIが追加されていることを確認します。これでアプリから利用するAPIの設定は完了です。



API の有効化と無効化
https://cloud.google.com/apis/docs/enable-disable-apis?hl=ja&visit_id=636763919881618105-394637646&rd=1

認証情報の作成(OAuthクライアントID)

使用したい API を有効にしてから認証情報を作成します。

【認証の種類】
認証は2種類があります。
・OAuth2.0証明書を使う認証:ユーザーに対して同意画面を表示し、ユーザーに認証を求めます。
・サービスアカウントを使う認証:プログラムからAPIへ問い合わせすることができます。ユーザーに対して同意画面を表示はありません。

アプリケーションがAPIを使用してGoogleユーザーのデータにアクセスする場合、 OAuth2.0証明書を使う認証を行います。

【メモ】
 OAuth2.0証明書とは、
 悪意のあるアプリケーションからAPIを保護する仕組みです。

アプリケーションがOAuth2.0証明書で認証されると、アプリケーションのユーザーに同意画面が表示されます。

 同意画面でユーザーが同意すると、アプリケーションがユーザーデータにアクセスするための認証コードが生成されアプリケーションに送信されます。

アプリケーションは認証コードを使ってアクセストークンを取得し、アクセストークンを使ってユーザーデータにアクセスします。

 API キーの使用については以下をご参考く ださい。
https://cloud.google.com/docs/authentication/api-keys?hl=ja&visit_id=636776940301877220-1500688703&rd=1

クライアントIDの設定を行います。

 Google Drive APIは、アプリからユーザーデータへアクセスすることになるので、「OAuth 2.0によるユーザーデータへのアクセス」に該当します。

1)右側メニューの「認証情報」をクリックします。
「認証情報を作成」をクリックします。



2)OAuthクライアントIDをクリック


※プロジェクト内ではじめてクライアントIDを作成する場合は、同意画面の設定要求が表示されます。


3)「OAuth同意画面」で必須のメールアドレスとサービス名を入力します。

-メールアドレス
-サービス名
は必須項目になります。


その他URLなどは必要に応じて入力してください。 サービスロゴを省略した場合は、アプリアイコンが使用されます。 入力が完了したら「保存」をクリックします。


 5)保存をクリックして完了します。



6)同意画面が保存されると「クライアントID作成画面」に移動します。


7)アプリケーションの種類を選択します。今回は  ウェブアプリケーションを選択します。
次に、アプリケーションの名前、制限事項以下は必要であれば、 ブラウザからのリクエストで使用するJavaScript生成元 URI、 認証後ユーザーがリダイレクトされるアプリケーション内のURI を入力します。(設定は後から編集可能です。)


8)作成後、OAuthクライアントウィンドウに、クライアントIDとクライアントシークレットが表示されます。 これらをコピーして保存します。 「OK」をクリックして完了します。


 9)追加されたクライアントIDは認証情報画面で表示されます。


以上で、Google Cloud Platformでの設定は完了です。
次回は、Gmail API を使ったGmail 委任設定: Users.settings.delegatesのOAuth 2.0 Playground を使用したテストの方法をご案内いたします。

2018年11月6日

【Apps調査隊】Gmail API を使ったGmail 委任設定ついて調査せよ① − Gmail代理と委任について−


Apps調査隊の小林です。

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

これから3回に分けて 「Gmail API を使ったGmail 委任設定」についてご紹介していきます。

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

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

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

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

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

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

1回目は「Gmailの代理と委任」についてご紹介致します。
Gmailユーザーは、同じG Suite組織内の別のユーザーにGメールへのアクセスを許可する事ができます。

◆よくある利用シーンとしては以下のようなシーンが想定されます。
・社長や役員秘書がメール管理の代行に利用
・問い合わせメールや受付メール対応のみを行うグループを作成し、グループメールで管理代行


◆委任者と代行者について

アクセスを許可するユーザーを委任者
アクセスを受け取るユーザーを代理人
と呼びます。


 代理人ができる操作
-メールの送信や、委任者宛てに送信されたメールへの返信
-代理人がメールを送信すると、代理人のメールアドレスが表示されます。
-委任者宛てに送信されたメールの閲覧
-委任者宛てに送信されたメールの削除
-委任者の連絡先の管理

代理人ができない操作 -代理での他のユーザーとのチャット
-Gmail パスワードの変更

◆G Suite管理者はエンドユーザーのメールの委任設定の有効化・無効化を行えます。

有効にする場合は、
管理コンソール > G Suite > Gmailの設定 > 左メニューで適用する組織を選択し、メールの委任にチェックをいれます。



◆委任者が行う操作

1)Gmail > 設定 > アカウントタブ > [アカウントへのアクセスを許可] で、[別のアカウントを追加] をクリック


2)追加するユーザーのメールアドレスを入力し、[次のステップ] 次へ [メールを送信してアクセスを許可] をクリックしアクセス許可を行います。


注)追加した相手に、確認を求めるメールが送信されます。相手が確認してから、代理人として表示されるまでに、最長 24 時間かかることがあります。 また、確認のメールは 1 週間後に有効期限が切れます。


 ◆代理人が行う操作

1)申請通知がメールで届きます。 代理人はアクセス権付与申請をリンクをクリックして承認します。

2)確認をクリックし、確定します。

確認完了まで30分ほどかかることがあります。


◆委任者が代理人のメールを確認する方法

委任者が代理人のメールを確認するためには、 代理人の Gmail にて右上のアカウント切り替えアイコンをクリックし、委任者のメールアドレスを選択します。

選択すると別タグに委任者のGメールボックスが表示されます。

 ※ 通常 user01@example.com (代理) のような 形式で表示されます。




◆今回ご案内した内容はエンドユーザー間で行うGmail 委任設定ですが、G Suite管理者がAPIサービスを利用して、Gmail 委任設定を行うことができます。
このAPIサービス:「Users.settings.delegates」のサービス利用するための、初期設定について次回ブログにてご紹介致します。