2021年2月22日月曜日

Servicenowのフローデザイナーを使って、ローカルアカウント発行時のパスワード設定やユーザへのアカウント情報通知を自動化する

ServiceNowの管理者として避けて通れないのがアカウント管理。AD連携等でうまい事グループや権限まで含めた自動連係が綺麗に作りこめればいいが、恐らくそこまで環境の整っている会社もそれほどないのではなかろうか。

比較的新しめの機能であるフローデザイナーを活用して、アカウント発行時の処理を一部自動化してみたい。

いつも通り、フィルタナビゲータからFlow Designerで検索。


クリックすると、専用画面が起動する。


Newで新たなフローを作成。

Nameは仮に「Set PW & Notice for New User」とでもする。

Run As は今回はどっちでもよいがとりあえずSystemにしておく。

参考までにSystem Userで動かすと恐らく権限などお構いなしにフローさえ書けば、どんな無茶苦茶なデータ操作でも可能と思われる。

↓の様にしてSubmit。

まずはトリガーの設定が必要。


Select to add aTriggerをクリックし、Record Createdを選択。


テーブルはSys user、Conditionは Updated by, is, adminと仮にする。

次に、Select to add an Action, Flow Logic, or Subflowをクリックし、さらにActionをクリック。


デフォルトで用意されているAction である、Update Passwordを選択する。

User:右側のDataのエリアからUser Recordをドラッグアンドドロップで選択。


Password:f(x)を押下し「return 'Password';」を追記。

Force Password Change:チェック。


さらにもう一度Select to add an Action, Flow Logic, or Subflowをクリックし、Actionを選択、Send Emailを追加する。


To:右側のデータからトリガーデータのUser Record -> Emailをドラッグアンドドロップ。


Subject:「[Notice]Your Service Now account」等と適当に。

Bodyは次のようにし、

 ID:右側のデータからTrigger→User Record→User IDをドラッグアンドドロップ

 PW:Password

↓こんな状態にする。


そしたら、このフローをSave

そのままActivate。


これで想定としてはAdminが新しいユーザを作ると、初期パスワードが自動設定され、初回ログイン時のリセットを要求する状態で、そのユーザのメールアドレスに通知メールが飛ぶ状態になる。

1個デフォルトの状態だとdeveloperインスタンスはメールが飛ばない設定になっているため、フィルタナビゲータから、System Properties -> Eail Propertiesで、Outbound Email Configuration -> Email sending enabledのチェックボックスをYesに入れてSaveしておく。

※この設定を行うと、どうやらdeveloperインスタンスにたまっていたAdminへの通知メールがドバドバと届くのでご注意を。

さて、フローデザイナの動作を確認してみよう。

users -> New で適当なユーザを作成してみよう。メルアドレスには自分で受信可能な有効なアドレスを入れてみてほしい。

この状態でSaveしてしばらく待つと・・・

フィールドがフローデザイナーの定義により、自動更新された証拠にPassword, Password needs resetの欄にアイコンが付与され値が更新される。

メールボックスを確認すればメールも届いているはず。メールの差し出しアドレスは「YourInstanceName@servicenowdevelopers.com」となる。

adminをログアウトして、新しいユーザでログインしなおせば、パスワードの変更を求められるはずである。

※なお、パスワードの大文字小文字は区別されるため、この記事の通りに入力している場合passwordでは通らないので留意。

本当のところは権限の付与まで自動化したいところだが、固定の権限ならまだしもユーザによってつける権限にバリエーションがあるのでなかなか悩ましいところである。よって今回はここまでとする。

0 件のコメント:

ウェブサイトのURLにおけるトレイリングスラッシュの解釈と有無による動作の違い

インターネットが現代社会におけるコミュニケーションの基盤となっている今日、ウェブサイトのURLはビジネスや個人ブランディングにとって重要な役割を果たしています。URLは単にウェブページへの経路を示すだけでなく、SEO(検索エンジン最適化)においても重要な要素です。この記事では、U...