Help us understand the problem. What is going on with this article?

ServiceNowとNutanixの連携 その3 Calm連携前編

本記事はNutanix Advent Calendar 2019 #4 12/14 分の記事です。そして前回記事の続きです。

本シリーズ(全5回)では

ServiceNow社の提供する開発者インスタンスを用いてシンプルなServiceNow-Nutanixの統合環境を作ることを目指します。

本記事(その3)では

その1でご紹介した3つのユースケースのうち2つ目、「ServiceNowのリクエスト管理とCalmプラグインによるNutanixへのアプリケーションデプロイ」について実装方法の前半をご紹介します。

利用イメージ

管理者がServiceNowのカタログとしてCalmのブループリント、マーケットプレイスアイテムを公開し、ユーザがオンデマンド、セルフサービスで消費出来るサービス提供形態を目指します。
スクリーンショット 2019-12-12 14.27.20.png

前提条件

Nutanix

  1. Prism Central v5.10以降
  2. Nutanix Calm v2.4以降
  3. Prism CentralがActive Directory連携していること
  4. MIDサーバがデプロイ済みであること

ServiceNow

  1. KingstonまたはLondon(Calmプラグインバージョン1.0)
  2. LondonまたはMadrid(Calmプラグインバージョン1.1)
  3. Incident Management(com.snc.incident.mim)プラグイン

手順

1. ServiceNowにおけるLDAP連携

ユーザによるセルフサービス環境を提供するため、Prism CentralとServiceNowで共通のLDAPサーバを参照する必要があります。こちらではServiceNowにおけるLDAP連携を行い、LDAPサーバ上のユーザ、グループ情報をServiceNowにインポートし、ServiceNow上のシステムユーザ、システムグループとして使用出来るようにします。

1-1. LDAPサーバの追加

ナビゲーションペインで"LDAP"を検索し、"新規LDAPサーバーを作成"を指定します。以下内容で登録します。サーバ名、サーバURL、検索開始ディレクトリを入力し、"更新"を指定します。
スクリーンショット 2019-12-09 23.05.14.png

"LDAPサーバー"ページに移動し、以下情報を入力して"更新"を指定します。
ログイン識別名: Administrator権限を持つユーザ名
ログインパスワード: Administrator権限を持つユーザパスワード
検索開始ディレクトリ: ルートドメイン
スクリーンショット 2019-12-09 23.06.30.png

この時点ではServiceNowインスタンスと内部ネットワークのLDAPサーバ間に疎通がないため、以下のようなエラーが出力されます。この通信を担うのがMIDサーバとなり、以降の手順で登録を行います。
スクリーンショット 2019-12-09 23.06.59.png

まずは画面下部の"リスナーを停止"を指定し、LDAPリスナーを一時停止します。
スクリーンショット 2019-12-09 23.07.50.png

"MIDサーバ"メニューから使用したいMIDサーバを指定します。
スクリーンショット 2019-12-09 23.07.35.png

"リスナー開始"後、"テスト接続"を行います。
スクリーンショット 2019-12-09 23.08.46.png

"Connected Successfully"が出れば接続完了です。
スクリーンショット 2019-12-09 23.09.39.png

1-2. ユーザ、グループ情報の取得

LDAPサーバー編集画面下部にユーザ、グループを取得するためのOU定義の設定があります。自身のLDAPサーバーのドメイン構成に従い、RDNやフィルターを設定します。
スクリーンショット 2019-12-11 16.51.06.png

ナビゲーションペインから"データソース"を指定し、(LDAPサーバ名)/Users Importに移動します。
スクリーンショット 2019-12-09 23.10.08.png

"今すぐ実行"を指定し、対象LDAPサーバからServiceNowにユーザ情報をインポートします。
スクリーンショット 2019-12-09 23.10.46.png

ナビゲーションペインで"ユーザ"を検索し、LDAPサーバに登録されたユーザが取得できていれば成功です。同じ操作をグループに対しても行います。
スクリーンショット 2019-12-11 17.14.11.png

2. メール設定

ServiceNow上のシステムから送られるメールを試験的に任意のメールアドレスに送信することが出来ます。ナビゲーションペインで"メールプロパティ"を検索し、"システムプロパティ"配下の"メールプロパティ"に移動します。"メール送信の有効化"にチェックを入れ、直下のフィールドにメールアドレスを入力します。
スクリーンショット 2019-12-09 23.13.35.png

3. アプリケーションピッカーの設定

ServiceNowにはアプリケーションスコープの概念があり、一部アプリケーションの設定変更が他のアプリケーションに及ぶことを防ぎます。

右上のギアアイコンから"開発者"メニューに移動し、"ヘッダーにアプリケーションピッカーを表示"を有効化します。
スクリーンショット 2019-12-10 15.44.36.png

画面上部のユーザ名の左にドロップダウンが出現しました。こちらを切り替えることによりアプリケーションスコープを選択します。
スクリーンショット 2019-12-10 15.44.51.png

4. システムテーブル設定

いくつかのシステムテーブルに対してアプリケーションからのアクセスが必要となります。アクセス設定を変更します。

【読込、作成、更新、削除全てを有効化するもの】
- item_option_new
- user_criteria
- sc_category
- catalog_ui_policy
- sc_catalog
- catalog_script_client
- sys_user_has_role
- sys_group_has_role
- sys_user_group
- question
- question_choice

【読込のみを有効化するもの】
- sys_user_grmember

ナビゲーションペインで"テーブル"を検索し、"システム定義"配下の"テーブル"に移動します。名前欄に対象のテーブル名(ここではitem_option_new)を入力し、対象のテーブルを指定します。
スクリーンショット 2019-12-10 15.11.10.png

以下図のように、全てのアクセスを許可します。こちらを【読込、作成、更新、削除全てを有効化するもの】全てのテーブルに対して行って下さい。
スクリーンショット 2019-12-10 15.11.49.png

【読込のみを有効化するもの】、つまりsys_user_grmemberに対しては以下図のように読込のみを許可します。
スクリーンショット 2019-12-10 15.16.26.png

5. システムプロパティ設定

ナビゲーションペインで"sys_properties.list"と検索します。
スクリーンショット 2019-12-10 15.57.56.png

名前欄で"glide.sc.guide.tab.validate"を検索し、"値"列を"true"に設定します。
スクリーンショット 2019-12-10 15.58.27.png

6. ServiceNow Calmプラグインのインストール及び各種設定

6-1. Calmプラグインのダウンロード

こちらからCalmプラグインをダウンロードし、v1.1ディレクトリの中のNutanix Calm ServiceNOW Plugin v1.1.zipを解凍します。最終的に得られる以下2ファイルがCalmプラグインとなります。

  • Nutanix_Calm_v1.0.xml
  • v1.1_Full_Feature_Incremental_Patch.xml

今回は執筆時点(2019/12)時点での最新バージョンであるv1.1をインストールします。

6-2. Calmプラグインv1.0のインストール

ナビゲーションペインから"取得済み更新セット"を検索し、"XMLから更新セットをインポート"を選択します。
スクリーンショット 2019-12-10 14.56.31.png

上でダウンロードしたXMLファイルのうち、"Nutanix_Calm_v1.0.xml"を選択し、アップロードします。
スクリーンショット 2019-12-10 14.58.27.png

アップロードされた更新セットを選択し、”更新セットのプレビュー”を選択します。
スクリーンショット 2019-12-10 15.03.13.png

以下図のようなエラー出力が得られます。
スクリーンショット 2019-12-10 15.04.45.png

画面下部の"リモートの更新を承諾"を選択後、”更新セットのコミット”を選択します。
スクリーンショット 2019-12-10 15.04.51.png

6-3. Calmプラグインの設定

注意: こちらの操作はNutanix Calmスコープで行います。アプリケーションピッカーのドロップダウンからNutanix Calmを選択して下さい。

ナビゲーションペインで"Nutanix"を検索し、"Application Properties"を選択し、次の情報を入力します。
MID Server: 使用するMIDサーバを指定
Calm Instance: Prism CentralのURLを指定
Calm Version: 対応するCalmバージョンを指定
Calm Admin Username: Calm(Prism Central)への接続に使用するユーザ名
Calm Admin Password: Calm(Prism Central)への接続に使用するユーザパスワード
Approval Workflow: Nutanix - Auto Approve
Assignment Group: Domain Admins
スクリーンショット 2019-12-10 15.47.23.png

"Properties"タブにおいて"Create incidents?"を有効化します。
スクリーンショット 2019-12-10 15.47.31.png

"Save Properties"をクリックし、認証が通ると、"今すぐ同期"メニューが現れますので、クリックして同期ジョブを開始します。プロジェクト、ブループリント、アプリケーション、マーケットプレイスアイテム等のCalmリソースがServiceNow上に同期されます。

7. ServiceNow Calmプラグインv1.1へのアップデート

7-1. Calmプラグインv1.1のインストール

6-1でダウンロードしたv1.1_Full_Feature_Incremental_Patch.xmlを、6-2と同様の手順で更新セットとしてインストールします。

7-2. Calmプラグインv1.1へのアップデート

7-1の更新セットがコミットされた状態で再度Nutanix Calmの"Application Properties"メニューにて"今すぐ同期"を行います。同期完了後、"Migrate to v1.1"メニューが現れますので、クリックしてv1.1へのアップデートを行います。
スクリーンショット 2019-12-10 16.02.32.png

8. まとめ

ServiceNowとNutanixの連携 その3として「ServiceNowのリクエスト管理とCalmプラグインによるNutanixへのアプリケーションデプロイ」のユースケースの実装方法前半、管理者として各種設定、Calmプラグインをインストール、CalmリソースのServiceNowへ同期する手順をご紹介しました。

次回は同じユースケースの実装方法後半としてServiceNowにおけるカタログアイテムの公開方法と利用方法についてご紹介します。

9. 参考

英語版の解説動画もあります

shocnt
Opinions are my own.
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした