自分の勤務先ではJumpCloudを使って「外部ストレージの利用を禁止するポリシー」を全端末に適用していますが、業務の関係上USBメモリやCD/DVDドライブの利用が必要な場合があり、一時的にポリシーを解除→再適用する運用を行っています。
ポリシー解除が必要な作業として「インターネットに接続不可なPCのWindows Defenderウィルス定義ファイルを更新する」作業がありますが、この作業はほぼ毎日発生し、その度にポリシーの付け外しが必要になります。
ポリシーの付け外しに必要な作業時間自体は短いのですが、ポリシーを解除しないとその後の作業が進められないことから基本的に即時対応が必要になり、心理的な負担が地味に大きい割り込みタスクだったので、Slack Botを作って半自動化してみました。
システム管理者のみ申請に対する許可・否認ができる利用者またはシステム管理者のみ実行できる利用者は作業完了後に「可搬性記憶媒体利用記録簿」に記録を残す必要があるので、そのリマインドを送る利用者またはシステム管理者のみ実行できるシステム運用管理者またはシステム管理者のみ実行できる対応中・Doneのスタンプを押すSlack Botを使ったワークフローの概要は以下の通り
sequenceDiagram
participant 利用者
participant SlackBot as Slack Bot
participant SlackDB as Slack Database
participant JumpCloud
participant App管理者 as App Admin
participant システム運用管理者 as Ops Manager
利用者 -->> SlackBot: リンクを開いて呼び出し
SlackBot -->> SlackDB: Req: 利用者に紐づくデバイス一覧を取得
SlackDB -->> SlackBot: Res: 利用者に紐づくデバイス一覧を取得
SlackBot -->> 利用者: モーダルを返す
利用者 -->> SlackBot: モーダルに情報を入力して提出
SlackBot -->> App管理者: 承認・否認ボタンを送信
alt 承認
App管理者 -->> SlackBot: 承認ボタンを押下
SlackBot -->> JumpCloud: 指定されたデバイスのUSB制限ポリシーを解除
SlackBot -->> 利用者: ロック解除メッセージを送信<br/>利用終了 or 作業中断ボタンを同時に送信
SlackBot -->> SlackBot: 絵文字(:taiochu:)を起点メッセージに追加
alt 利用終了
利用者 -->> SlackBot: 利用終了ボタンを押下
SlackBot -->> JumpCloud: 指定されたデバイスのUSB制限ポリシーを再付与
SlackBot -->> 利用者: ロック再付与メッセージ、記録完了ボタンを送信
利用者 -->> SlackBot: 記録完了ボタンを押下
SlackBot -->> システム運用管理者: システム運用管理者確認完了ボタンを送信
システム運用管理者 -->> SlackBot: システム運用管理者確認完了ボタンを押下
SlackBot -->> 利用者: 確認完了メッセージを送信
SlackBot -->> SlackBot: 絵文字(:done:)を起点メッセージに追加
else 作業中断
利用者 -->> SlackBot: 作業中断ボタンを押下
SlackBot -->> JumpCloud: 指定されたデバイスのUSB制限ポリシーを再付与
SlackBot -->> 利用者: ロック再付与メッセージを送信
SlackBot -->> SlackBot: 絵文字(:no_entry:)を起点メッセージに追加
end
else 否認
App管理者 -->> SlackBot: 否認ボタンを押下
SlackBot -->> 利用者: 否認メッセージを送信
SlackBot -->> SlackBot: 絵文字(:no_entry:)を起点メッセージに追加
end