この記事は、Webex Advent Calendar 2021の21日目として投稿しています。
Webex Advent Calendar 2021: https://qiita.com/advent-calendar/2021/webex
はじめに
昨今はBotをつかって自分の作りたいサービスをお手軽に作れる時代となりました。一方で、Botって作ったはいいけど、その後の管理はどうしたらいいの・・?ってお悩みはありませんか。今回は、Cisco Communityに投稿して得たBotの管理のTips(Webex bot運用方法における仕様につきまして)をより多くの皆さんにも触れて頂けるよう、Cisco Webex アドベントカレンダーでもご紹介します
https://qiita.com/advent-calendar/2021/webex
Webex Botとは
Webex Botは、Webex for Developperサイトにログインしてから作成ができます。
このとき、Botはそのユーザの組織とユーザ配下に紐づくイメージです。Webex Control Hub組織内ユーザの異動や退職に伴い、ユーザに紐づくBotアカウントの管理は利用するサービスによっては考慮すべき大切なポイントですよね。
Cisco Communityに聞いてみた
ユーザがいなくなったらWebex Botの扱いってどうなるんだろう・・・?という疑問がうまれたので、まずは、Cisco Communityサイトの「DevNet & プログラマビリティ」にBotの移管方法について相談してみました。
そこで案内されたGlobal CommunityサイトのSupport Portalより問い合わせを開始しました。投稿後、すぐに欲しい情報の回答をもらえたことが印象的でした
今回投稿したのは下記2点。
Q:「ユーザがいなくなったらBotはどうなるの?」
A:Botは自動的には削除されず、別のユーザ配下に移管されるまではアクセストークンの再発行はできない仕様です。
※アクセストークン自体は、生成時に表示される「Non-expiring (good for 100 years) access token for your bot.」と記載の通り半永久的に利用が出来ます。
Q:「Webex Botに紐づくユーザは変更できるの?」
A:同一組織内でのユーザに対する移管が可能で、Full Admin権限でApplication Managerより対応が可能です。
Webex Botの管理を実際にやってみた
今回は、コミュニティサイトで教えてもらったApplication Managerを使って、下記プロセスでWebex Botのユーザ移管を実際にやってみました。
確認の流れ
1.ユーザAでBotを作成
Webex Developperサイトにて、今回はbot-transfer-test@webex.botというBotを今回のテスト用に作成しました。
2.管理者がBotをユーザBに付け替え
Cisco Communityにて教えてもらった、Application Managerのアドレスにアクセスし、管理者ユーザ名・パスワードでログインをします。Application Managerに対して委譲する権限を確認する画面が表示されますので、承諾します。
ログイン完了すると、組織で利用できるBotやIntegrationの一覧が表示されます。
本アプリで出来ることは下記です。
- 組織で利用できるBotやIntegrationの一覧表示
- 自分のアカウントに紐づくBotやIntegrationの一覧表示
- 自組織内のBotやIntegrationの検索
- 自組織内のBotやIntegrationの一覧のCSVダウンロード(Webex App経由)
まず、移行対象のユーザに紐づくBotは居ないことを確認します。
紐づくユーザを変更したいBotを選択し、移行対象のユーザアカウントを入力し転送ボタンを押します。
「These applications were successfully transferred」と表示されBotに紐づくユーザ変更処理が正常に完了したことがわかります。
3.ユーザBにBotが付け替えられていることを確認
Botに紐づくユーザ変更処理が実行されると、Botを生成した識別子であるcreatedByのユーザIDが変更されていることを確認できました。下記図では、上が移行前・下が移行後のBotに紐づく情報を表しています。
Webex DeveloperサイトのMyApps画面側からも、Webex Botが新規で自分のアカウントに紐づいたことを確認することができました。
同一組織内で存在しないPersonEmailあるいは実在する外部組織ユーザを入れて実行するとエラーとなり、Botのユーザ紐づけ変更処理は失敗します。
Application Managerでは、インテグレーションで実現されており、一般にはまだ公開されていないアプリ管理APIを使っているように見受けられます。Webexの管理ダッシュボード(Webex Control Hub)にて、インテグレーションの利用設定をグローバルOFFにしているとこの転送ツール自体が利用できない点は注意です。
今回は、Application ManagerによるWebex Botの管理についてご紹介しました。
最後まで御覧頂き有難うございました。少しでも皆様のお役に立てば幸いです
免責事項
本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、私の所属する組織の意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、私の所属する組織や他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Webサイトの利用に関するあらゆる責任から私の所属する組織を免責することに同意したものとします。