メインコンテンツへスキップ
見出し画像

SAM(Software Asset Management)プラグインのインストール手順


    購入したソフトウェアライセンスの本数と、実際にインストールされている数を突き合わせる作業をExcelで手作業のまま抱えている担当者は少なくありません。監査で追加費用を請求されるリスクと、使っていないライセンスに更新費用を払い続けるリスクの両方が、この突き合わせをしないまま放置されています。ServiceNowにはこれを自動化するSoftware Asset Management(SAM)という標準アプリがあります。Application ManagerからStoreアプリを入れるだけで完了に見えますが、実測するとStoreアプリの導入だけでは照合(Reconciliation)が1件も動きません。SAM Professionalという別のプラグインを有効化して、初めて機能します。Australia PDIで実際に導入し、どこまでやれば動くのかを実機でたどります。

    検証環境:Australia PDI / OOTB / 2026-08-23 確認。Software Asset Management(sn_itam_samp v4.1.4)を導入

    この記事の骨格になる3層:①Storeアプリ(sn_itam_samp)②Foundation(com.snc.sams・ダイアログの依存として自動導入)③Professional(com.snc.samp・既定は無効で検索にも出ない)。照合が動くかどうかは③次第です

    SAMとは:Software Asset Management(ソフトウェア資産管理)の略です。購入したライセンスの権利(Entitlement)と、実際にインストールされているソフトウェアの実態を突き合わせ、余っているのか不足しているのかを計算する仕組みです。ServiceNow Storeのアプリとして配布されています。

    ライセンスの購入本数と実際の使用数を、どう突き合わせているか

    ソフトウェアはサーバやPCの契約更改のたびに本数を見直しますが、実際に何台へ入っているかを正確に数えている現場は多くありません。本数が足りていなければ監査で追加コストを請求され、逆に余っていれば更新のたびに無駄な費用を払い続けます。本来欲しいのは、契約した権利と実際のインストール実態を自動で突き合わせ、過不足をいつでも数字で示せる仕組みです。SAMはこの領域を担うアプリケーションとして、ServiceNow Storeから配布されています。

    SAMは既存のAsset Managementの上に乗るソフトウェア専門の仕組み

    この環境にはSAM導入前から、資産管理の基盤となるAsset Management(com.snc.asset_management)がすでに有効になっていました。SAMはこの基盤の上に、ソフトウェアという1分野に特化した機能を追加するアプリです。何を持っているか(Asset)、どこで動いているか(CMDB)、そのソフトウェアがライセンスの枠内に収まっているか(SAM)は、それぞれ別のテーブルと別の関心事です。資産(alm_asset)とCMDB(cmdb_ci)を分けて管理する理由を先に押さえておくと、SAMがどの層に足場を置いているかが見えやすくなります。

    資産管理のプラグインが先に動いていることが前提になる

    SAMはIT資産管理(ITAM)製品に位置します。導入前のこの環境では、Asset Management本体・My Assets・Fixed Asset・Asset Management Workspaceの各プラグインがすでにactiveでした。Discovery連携やモバイル向けの周辺機能はinactiveのままです。ライセンス遵守という守りの機能を、既存の資産台帳と構成情報の上に足す位置づけです。

    権利・実態・照合という3つの要素で過不足を計算する

    1つ目は「権利」(購入したライセンスの枠)、2つ目は「実態」(実際にインストールされている台数)、3つ目はこの2つを突き合わせる「照合」です。権利だけを台帳に記録していても、実態と照らし合わせなければ足りているかは分かりません。逆に実態だけを集めても、契約上の枠が分からなければ過不足の判断ができません。SAMはこの3つを1つの仕組みでつなぎ、監査対応や更新交渉の材料を数字で用意します。実態を集める経路にはDiscoveryによる自動収集と手動投入があり、Discoveryが実際に何を調べに行くかは別記事で143種類のProbeを分類しています。

    導入の実体はStore・Foundation・Professionalという3層に分かれている


    画像

    Application Managerの検索結果に出てくるのは1層目のStoreアプリだけです。Installを押すと2層目のFoundationが依存として自動で入りますが、実際に権利と実態を突き合わせる3層目のProfessionalは、Storeアプリの導入だけでは有効になりません。この構造を先に知っておくと、あとに出てくる「照合が0件だった」という結果に驚かずに済みます。

    公式ドキュメントは対応パブリッシャーと機能をどう説明しているか

    Storeアプリの公式なshort_description(原文)はこうです。

    Enables license compliance for the following publishers: Microsoft, Adobe, Oracle, VMware, IBM, Red Hat, and Citrix

    (訳: 以下のパブリッシャーについて、ライセンスコンプライアンスを実現します。Microsoft・Adobe・Oracle・VMware・IBM・Red Hat・Citrix)

    引用元: /v_plugin_list.do?sysparm_query=id=sn_itam_samp

    対応するのはこの7パブリッシャーだけです。社内で使っているソフトウェアがこの一覧に含まれるかどうかは、導入の判断材料になります。依存プラグインはcom.snc.sams:sysの1本だけで、TPRMのようにStoreアプリが何段も連鎖する作りとは異なります。プラットフォームプラグイン1本に依存が集約されている点も、SAMの構造を理解するうえで押さえておきたい特徴です。

    Application Managerで検索から詳細画面までたどる


    画像

    Application Managerは/now/app-manager/homeです。検索欄に「Software Asset Management」と入力すると候補が並びます。


    画像

    検索結果には本体以外にも、DCIM連携やAIオペレーション向けなど、名前の近いアプリが並びます。今回導入するのはApp id sn_itam_sampの本体だけです。

    詳細画面の表示だけでは3層目の存在が見えない


    画像

    詳細画面には次のフィールドが並びます。

    • Pricing: Free

    • Category: Software Reconciliation and Compliance

    • Release compatibility: Australia

    • Custom Table Count: 0(ストア詳細画面が示すライセンス対象のカスタムテーブル数という指標で、導入によって実際に増えるテーブル定義の件数とは別物です。実際の増分は差分編で数えます)

    • Rating: Not rated(Certified Appのバッジは付いています)

    Summaryの本文(原文の要点)はこうでした。

    The Software Asset Management application enhances the capabilities of the SAM Professional plugin by delivering regular updates that reconcile entitlements and installations in line with the latest licensing rules from major publishers.

    (訳: Software Asset Managementアプリケーションは、主要パブリッシャーの最新のライセンスルールに沿って権利とインストールを照合する定期更新を提供します。これにより、SAM Professionalプラグインの機能を拡張します)

    引用元: App Manager詳細ページのSummary表示(上のsn-inst-03画面)

    この一文に3層構造の答えが書かれています。このアプリは単体で照合するのではなく、SAM Professionalプラグインの機能を拡張するものだ、と公式自身が説明しています。Get startedカードにはこう書かれていました。

    Once you install, we'll guide you through setup and configuration.

    (訳: 導入すると、セットアップと設定を案内します)実際に導入を最後まで進めても、この案内に対応する専用のセットアップ画面は登場しません。目にするのは次に見るReview Installation Detailsダイアログと、進行バーだけです。

    Installを押すと出るReview Installation Detailsの中身


    画像

    Installを押すと確認ダイアログが出ます。表示された依存はこの1件だけでした。

    • Software Asset Management Foundation(Will be installed)

    demo_dataはno_demo_dataのため、デモの業務レコードを入れるかどうかのチェックボックスはここには出ません。選ぶのはInstall nowかInstall laterだけで、今回は目の前で挙動を確認したいのでInstall nowを選びました。ダイアログにはFoundationの1件しか出てきません。Professionalという文字は、この画面のどこにも登場しません。 導入を進める人がこのダイアログだけを見て「依存は1件だけ、これで完了」と判断するのは自然な流れです。しかし実際には、これだけで照合が始まることはありません。

    Installを押してから本体が使えるまでの時間


    画像

    Installを押すと「Install from the App Repository」という進行表示が出ます。今回は08:34にInstallを確定し、本体(sn_itam_samp)の導入は5分前後で完了しました。TPRMを導入したときは依存プラグインの連鎖が長く26分かかったので、それに比べるとかなり短時間です。PPM Standardを導入したときも同じApplication Manager経由でしたが、依存の数と所要時間は毎回一致するわけではありません。ただしフィールドの追加やコンテンツライブラリの読み込みはそのあとも続くため、進行ダイアログの表示が止まって見えても、裏側の処理が終わっているとは限りません。CIMプラグインを導入したときも、本体が使える状態になった裏でATFプラグインが処理中でした。同じ注意がSAMにも当てはまります。

    Storeアプリの導入だけでv_pluginに1件増えている

    Storeアプリの導入が終わった時点で、v_pluginには新しく「Normalization Data Services Client」というプラグインが1件増えていました。名前のとおりデータの正規化に関わる機能で、これを含めたテーブル・ロール・ACLなどの総量は、この記事では扱いません。増分の全量は差分調査編でまとめて数えます。ここで押さえておきたいのは、Storeアプリを入れただけでも周辺のプラグインが動き出すという事実です。

    Storeアプリを入れただけで照合を走らせるとどうなるか

    3層構造どおりなら、Storeアプリの導入だけでは照合は成立しないはずです。実際に確かめてみると、照合の進行ログ(samp_recon_progress_summary.log)にはこう記録されていました。

    • Number of licensable installs and subscriptions: 0(ライセンス計算の対象になったインストールは0件)

    • Number of in use entitlements: 79(権利のレコード自体は認識できている)

    • Number of software models with LUM false: N/A - SAMP plugin is not active(SAMPプラグインが無効なので計算不能)

    さらにヘルスチェックではinvalid table name: samp_scan_findingというエラーも出ていました。Storeアプリ(sn_itam_samp)とFoundation(com.snc.sams)だけを入れた状態では、照合の計算対象がゼロのまま止まります。 ログに明記されたSAMP plugin is not activeが、その理由をそのまま言い当てていました。

    ログだけでなく、実際にUIから照合を1回動かしても結果は変わりません。左メニューの「Run Reconciliation」を開き、対象パブリッシャーをAllのままContinueを押すと、「処理に時間がかかる場合がある」という警告付きの確認ダイアログが出ます。Runを押すと結果一覧画面(samp_reconciliation_result_list.do)に遷移し、実行履歴としてRR0001001からRR0001004までの4件が並びました。ステータスはいずれもcompleted、画面の色も緑です。しかしprocessed列はどの行もゼロのままで、対象0件のまま「完了」した記録が残るだけです。導入直後にRun Reconciliationを試す担当者は、ステータスの色だけでなくprocessed列の数字も必ず確認してください。

    SAM Professional(com.snc.samp)はApplication Managerの検索に出てこない


    画像

    GlidePluginManagerで有効化前の状態を確認すると、Foundation(com.snc.sams)はtrueでしたが、Professional(com.snc.samp)はfalseでした。sys_pluginsにはこの時点でcom.snc.sampの行自体が存在せず、Application Managerの検索窓に「SAM Professional」と入力しても候補は出てきません。3層目はStoreアプリの依存としては配布されず、プラットフォーム側の機能として個別に有効化する対象だと分かります。

    GlidePluginManagerで有効化した後の状態


    画像

    GlidePluginManagerWorkerを使ってこのプラグインの有効化を実行しました。完了メッセージは「Plugin activated/upgraded successfuly」でした(successfullyのスペルが1文字足りない、製品側の表記のままです)。この後にあらためて状態を確認すると、com.snc.sampはactive: trueに変わっていました。

    ※この段落は推測です:本番環境では、有効化前でもSystem Definition > Pluginsの一覧から同じ操作ができる可能性がありますが、この記事ではその画面からの有効化は試していません。今回確認できたのはスクリプトによる有効化のみです。

    本番環境に入れる前に確認しておくこと


    画像

    PDIでの実測をもとに、本番の作業計画を考えると次の点が要点になります。推測を含む設計提案として読んでください。

    • 対応パブリッシャーの確認:ライセンス遵守の対象は7社(Microsoft・Adobe・Oracle・VMware・IBM・Red Hat・Citrix)だけです。社内で使うソフトウェアがこの一覧に入っているかを、導入前に確認します

    • Professionalプラグインの扱い:Storeアプリだけを入れて満足せず、Professionalを有効化する担当と手順を先に決めておきます。ダイアログには一切出てこないため、知らないまま導入だけで終わるチームが出てくると想定します

    • 有効化の経路の確認:今回はスクリプトで有効化しました。本番ではSystem Definition > Pluginsからの有効化やHI経由の申請が必要になる場合もあるため、自社の運用ルールに沿った経路を事前に確認します

    • ライセンス契約との紐付け:SAMが管理するのは権利のレコードであって、契約そのものではありません。契約(ast_contract)が資産をどう守っているかを合わせて確認しておくと、権利データの入力元が明確になります

    • 導入の所要時間:本体は5分前後でしたが、これはPDIの性能に依存する値です。本番では余裕を持たせます

    • デモデータの有無:no_demo_dataのため、導入しても業務レコードは0件のままです。権利・実態のデータは自分たちで用意する前提で計画します

    実機で気づいたこと

    表と画面に収まらなかった注意点を3つ残します。

    Review Installation Detailsのダイアログには、Foundationの1件しか表示されない。 Professionalという単語はこの画面のどこにも出てきません。原因はProfessionalプラグインが、Storeアプリの依存としては配布されない別枠の機能だからです。依存表示の件数だけで導入完了と判断せず、Professionalの有効化はチェックリストの別タスクとして管理してください。

    有効化の完了メッセージには製品側のスペルミスが残っている。 「Plugin activated/upgraded successfuly」はsuccessfullyのlが1つ足りません。動作には影響しませんが、メッセージ文言を鵜呑みにせず、activeフラグの値そのものを見て有効化の完了を判断してください。

    導入後にsys_store_appへのREST参照がHTTP 403に変わる。 導入日に新規作成・更新されたACLはsys_store_appに1件も見当たらず、条件スクリプトの評価や権限の再計算が関係している可能性はありますが原因は特定できていません(この段落は推測です)。このテーブルに依存する外部連携がある場合は、導入直後に1回テスト呼び出しをして403が出ないかを確認してください。

    導入はここまでで完了ですが、この時点ではまだ何を実行しても照合は空振りするままです。テーブルやロールの増分は差分編でまとめて数えます。 SAMの位置づけそのものは基礎知識編で扱います。

    用語

    • Foundation(com.snc.sams) … Installダイアログの依存として自動導入される、SAMの基本機能を動かす基盤

    • SAM Professional(com.snc.samp) … 権利と実態を突き合わせる照合エンジン本体。既定は無効で、Application Managerの検索にも出ない

    • Reconciliation(照合) … 権利(Entitlement)と実態(インストール)を突き合わせ、過不足を計算する処理

    • Custom Table Count … ストア詳細画面が示すライセンス対象のカスタムテーブル数の指標。実際の増加テーブル数とは別の数字

    付録:自分の環境で確認するときのURL

    インスタンスのURLに続けて開いてください。

    • Application Manager:/now/app-manager/home(検索欄に「Software Asset Management」と入力)

    • プラグインの状態を一覧で確認:/v_plugin_list.do?sysparm_query=nameLIKESoftware Asset

    引用元: アプリケーションの説明/v_plugin_list.do?sysparm_query=id=sn_itam_samp

    検証範囲とおことわり

    Australia PDI(OOTB+TPRM導入済み)に、Software Asset Management(sn_itam_samp v4.1.4)をApplication Managerから導入して確認しました。SAM Professional(com.snc.samp)の有効化はScripts - Background(GlidePluginManager)で実施しており、System Definition > Plugins画面からの操作は確認していません。デモデータは元々選択肢が無く、導入後も業務レコードは0件のままです。

    確認していない範囲は次のとおりです。

    • アンインストール(ロールバック)とInstall laterを選んだ場合の挙動

    • 本番インスタンスでのライセンス契約・課金の扱い、およびSystem Definition > Plugins画面からのSAM Professional有効化手順

    • 導入後のテーブル・ロール・ACLなどの詳細な増分件数(差分調査編で扱う)

    関連記事

     
     
    ServiceNowのPDI(Personal Developer Instance)を実機で観察して、Noteに記事を書いています 実装・運用・教育の現場視点で淡々と記録中です リクエストがあればその記事も書きます 個人の観察日記です

    あなたへのおすすめ