IntegrationHubでGoogle Workspace (旧称 G Suite) のメーリングリスト管理を効率化
OAuth クライアントが作成されました。ここで表示されるクライアントIDとクライアントシークレットが、ServiceNowインスタンスの設定に必要となります。
後で使用するので、JSONファイルをダウンロードしておきます。
次に、Google Adminの画面でドメイン全体の委任を設定します。
6. GoogleでOAuthクライアントにドメインの委任を作成する
この設定をしないとOAuth Tokeを取得しようとした際に、エラー 400: admin_policy_enforced が表示されます。
こちらのURLからドメイン全体の委任の画面に移動します。「新しく追加」をクリックします。
クライアントIDには先ほど作成したOAuthクライアントのクライアントIDを入力して、スコープには先ほどと同じ5つのスコープをカンマ区切りでペーストして入力します。最後に「承認」をクリックします。
新しいOAuth APIクライアントがドメイン全体の委任先として追加されました。
最後に、このプロジェクトでAdmin SDK APIを有効化します。
7. Googleで作成したプロジェクトでAdmin SDK APIを有効化
ここをクリックすると下記の画面が開くので、「有効にする」をクリックしてAdmin SDK APIを有効化します。画面上部のプロジェクト選択メニューが新しいプロジェクトになっていることを確認してください。
有効化されると、画面が下記のように変わります。
ここまでで、Google Developer Consoleでの作業は完了です。
8. ServiceNowでの接続設定の作成
ServiceNowのUI16を開きます。
これ以降の手順は英語UIで作成していますが、日本語UIでも同じ操作で実施することができます。
アプリケーションナビゲーターの検索窓に「connection」と入力して、[Connections & Credentials]アプリケーションの[Connections & Credential Aliases]モジュールをクリックします。
リストの中から「Google Directory」のレコードを開きます。
以下の形式のURIで同じレコードを直接開くことも可能です。
https://<インスタンス名>.service-now.com/sys_alias.do?sys_id=d5b2998387720010aec3819b88cb0b24
関連リンクの「Create New Connection & Credential」を選択します。
設定画面が開いたら、*必要項目を入力します。
JSONに記入済みのOAuthクライアントIDとクライアントシークレットを入力します。OAuth Authorization URLにはJSONに記載されている「auth_uri」の項目をコピーします。
最後に右下の「Create & Get OAuth Token」をクリックして設定を完了します。
別ウインドウでGoogleアカウントを選択するメニューが表示されるので、このOAuthクライアントアプリケーションを作成したGoogleアカウントをクリックします。
認証が正しく通れば、Googleアカウントの選択ウィンドウが自動的に閉じて元の画面に戻ります。Connections関連リストに作成されたレコードの[Active]フィールドがtrueになっていることを確認します。
これで初回の設定作業は完了しました。おつかれさまでした。
今後Google Directory spokeを利用する際は、今回作成した接続設定を使い回すことができますので、改めてこの作業を実施する必要はありません。
9. Flow Designerで動作を確認してみる
アクションタブでGoogle Directory spokeのアクションを開きます。この中からList All Groups Streamを試してみます。
「Test」ボタンで動作を確認します。
Customer IDかDomainのどちらかに値を入れて「Run Test」をクリックします。
アクションのテストが終わると結果のリンクが表示されるのでクリックします。
Execution Details (実行の詳細)タブで、テストが成功したことが確認できます。ACTIONのList All Groups Streamの行をクリックすると詳細な内容が展開されて表示されます。
Output DataのカテゴリーにOutputItemsというアイテムが表示されています。リンクになっているのでクリックすることができます。
クリックすると、このディレクトリーで管理しているグループの一覧が配列として入っていることが確認できます。
まとめ
IntegrationHubのGoogle Directory spokeには、以下のアクションがout-of-the-box (OOTB)で用意されています。
- グループ管理 (情報取得・メンバー追加・メンバー削除・更新)
- メンバー管理 (情報取得・メンバー追加・メンバー削除・更新)
- ユーザー管理 (情報取得・作成・削除・更新・Admin付与・無効化・再有効化・パスワードリセット)
これらのアクションを使うことで、Flow Designerからno codeで管理の作業を自動化することが可能です。またOOTBのアクションで不足する場合は拡張することも可能です。
Flow Designerでのフローの作成は簡単です。メーリングリストの作成を承認制にする場合のフローは、以下のように可読性が高い状態でシンプルに作成することができます。
下記の例では、申請がレコードとして作成されたら承認されるのを待って、承認されたらIntegrationHubのアクションでGoogle Workspaceにグループを作成して、申請者に通知されるようになっています。
Flowの編集はAdmin権限がなくても実施できるので、利用者の要望に応じて使いやすいFlowに作り替えたり、複製して状況に応じた別パターンのFlowを作成することもできます。
最後までお読みいただきありがとうございます。皆さまの参考になれば幸いです。
ラベル:
https://www.servicenow.com/community/japan-blog/integrationhub%E3%81%A7google-workspace-%E6%97%A7%E7%A7%B0-g-suite-%E3%81%AE%E3%83%A1%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%AA%E3%82%B9%E3%83%88%E7%AE%A1%E7%90%86%E3%82%92%E5%8A%B9%E7%8E%87%E5%8C%96/ba-p/2271168