
はじめに
皆様こんにちは!Taniumの技術担当をしている宇都宮です。
前回の【準備編】では、カスタムセンサーを作成するための
トレーニングの受講とサポートへの権限付与のご依頼についてご説明させていただきました。
その後アップデートがございまして、現在はサポートへのご依頼は不要となっております。
Tanium Accountの画面から設定を有効化いただくだけで、センサーの書き込み権限を有効にしていただけるようになりました。
そこで今回は【実践編】として、こちらの新しい有効化の手順と、
実際にカスタムセンサーを作成してQuestionで情報を取得するまでの流れをご紹介させていただきます。
それでは早速始めましょう!
おさらい:カスタムセンサーとは
さて前回の記事から
・Sensor: 取得する端末の情報を定義し、各OSごとに情報取得するスクリプトをまとめたもの
・カスタムセンサー: ビルトインSensorにない情報を取得するために、ご自身で作成するSensor
以上の様にご理解いただいていることと思います。
準備編では「トレーニング受講 → 修了証書を添えてサポートへご依頼 → 権限付与」という流れでしたが、
現在はTanium Accountの設定を1か所変更いただくだけでセンサーの作成を開始いただけます。
| 以前(準備編) | 現在 | |
| トレーニング受講 | 必須(修了証書が必要) | 推奨 |
| サポートへのご依頼 | 必要 | 不要 |
| 有効化の方法 | サポートにて権限を付与 | Tanium Accountからお客様ご自身で有効化 |
ただし、Sensorは端末上で任意のスクリプトを実行させる仕組みでございますので、
仕様や注意点をご理解いただくためにもWebトレーニング(Tanium Custom Content)の受講は引き続きおすすめいたします。
受講方法につきましては準備編をご参照いただければ幸いです。
センサー作成を有効にする(Tanium Accountの設定)
それでは、新しい有効化の手順をご説明させていただきます。
Tanium Accountの画面にて、「Write Sensor」の設定をEnabledにしていただきます。
サポートへのご依頼や返信をお待ちいただく必要がなくなりましたので、すぐにお試しいただけます。
なお、Tanium Account自体につきましては、また別途解説記事を出させていただく予定です。
1-1.Tanium Accountへアクセス
Tanium AccountはTaniumコンソールとは別のサイトとなっておりますので、ブラウザから以下のURLへ直接アクセスしてください。
Tanium Account:https://account.cloud.tanium.com/
ログインには管理者アカウントを使用いたします。
このアカウント名は、管理者のメールアドレスのドメイン部分が以下のように変換された形式となっておりますのでご注意ください。
| 形式 | |
| 管理者のメールアドレス | ユーザー名@サブドメイン.ドメイン.co.jp |
| Tanium Accountのアカウント名 | ユーザー名@サブドメイン.ドメイン.mytanium.com |
アクセスいただくとログイン画面が表示されますので、「Username」にアカウント名を入力してください。
1-2.アカウント名を入力してSign In
アカウント名を入力いただきましたら、「Sign In」をクリックしてください。
1-3.パスワードの入力
パスワードの入力画面が表示されますので、パスワードを入力して「Sign in」をクリックしてください。
1-4.多要素認証(MFA)
続いて認証コードの入力画面が表示されます。
お手元の認証アプリに表示されているコードを「Authentication Code」に入力いただき、「Next」をクリックしてください。
2.インスタンスの「Administration」を開く
ログインいただくと、Tanium Accountのトップ画面が表示されます。
「Tanium Instances」の一覧にて、対象インスタンスの右端にある「︙」(Manage Instance)をクリックしてください。
メニューが表示されますので、「Administration」をクリックしてください。
3.「Write Sensor」をEnabledにする
「Instance Details」の「Settings」に「Write Sensor」の項目がございます。
初期状態ではDisabledとなっておりますので、こちらの鉛筆アイコンをクリックしてください。
「Enable Write Sensor Privilege」の確認画面が表示されます。
英語の画面となっておりますが、主に以下のような内容が記載されております。
・この権限は個人ではなくインスタンス単位の権限であり、有効化するとインスタンス内の管理者ユーザーに付与される(他のユーザーにはRBACで付与可能)
・作成したセンサーは質問を実行してから数秒で全端末に展開され、一度実行されると遠隔で停止することはできない
・有効化の前に、Tanium Learningの「Tanium Custom Content Authoring」コースを修了しておくことを強く推奨する
準備編でご紹介したトレーニングの受講が推奨されているのは、まさにこのためでございます。
内容をご確認いただき、「I acknowledge」にチェックを入れて「Enable」をクリックしてください。
「Write Sensor」がEnabledと表示されていれば、有効化は完了となります。
4.コンソールで「新しいセンサー」ボタンの表示を確認
Taniumコンソールにログインいただき、左メニューの歯車アイコンから「コンテンツ」→「センサー」の画面を開いてください。
右上に「新しいセンサー」ボタンが表示されていれば準備完了となります。
カスタムセンサーを作成してみる
今回は例として、Windows端末の最終起動日時を取得するセンサーを作成してみます。
ビルトインにも似たSensorはございますが、まずは流れを掴んでいただくためにシンプルな内容にしております。
1.「新しいセンサー」をクリック
センサー一覧画面右上の「新しいセンサー」をクリックすると、「センサーの作成」画面が表示されます。
2.詳細・設定の入力
「詳細」と「設定」の各項目を入力していただきます。
今回は以下のように設定しております。
| 項目 | 入力例 | 説明 |
| 名前(必須) | Custom - Last Boot Time | Questionで使用する名前です。ビルトインと区別できる名前をおすすめいたします |
| 説明 | Windowsの最終起動日時を取得 | 後から見て内容が分かる説明をご記載ください |
| コンテンツセット(必須) | Default | センサーを所属させるコンテンツセットです |
| カテゴリ | Miscellaneous(既定値) | センサー一覧で探しやすくするための分類です |
| 結果の種類 | テキスト(既定値) | 取得結果の種類です |
| センサーの寿命 | 15分(既定値) | 結果をキャッシュする時間です。短すぎると端末の負荷が上がりますのでご注意ください |
3.スクリプトの登録
画面下部の「実装」にて、OSごとにスクリプトを登録していただきます。
今回はWindowsのみ設定いたしますので、「Windows」を選択した状態で「このプラットフォームでセンサーを有効にする」にチェックを入れてください。
チェックを入れると「クエリの種類」とスクリプトの入力欄が表示されます。
「クエリの種類」は既定でVBScriptとなっておりますので、「PowerShellスクリプト」を選択してください。
入力欄にあらかじめ記載されているサンプルを削除し、以下のスクリプトを入力してください。
$os = Get-CimInstance -ClassName Win32_OperatingSystem
$os.LastBootUpTime.ToString("yyyy/MM/dd HH:mm:ss")
Sensorのスクリプトは、標準出力に書き出した内容がそのまま結果として返ってまいります。
複数行を出力した場合は、そのまま複数行の結果となります。
4.センサー結果のプレビュー
保存の前に、「センサー結果のプレビュー」で実際の端末での動作をご確認いただけます。
画面下部の「センサー結果のプレビュー」にて「プレビューするグループを選択」をクリックし、対象のコンピュータグループ(今回は「All Windows」)を選択して「センサー結果のプレビュー」をクリックしてください。
各端末から最終起動日時が返ってきていれば、スクリプトは問題なく動作しております。
いきなり全端末を対象にするのではなく、まずは少数の端末を含むグループでご確認いただくことをおすすめいたします。
その場でプレビュー用のグループを作成できる「アドホックグループの作成」もございます。
5.保存
問題がなければ、画面下部の「保存」をクリックしてください。
センサー一覧に作成したセンサーが表示されていれば、作成は完了となります。
作成したセンサーで情報を取得してみる
作成したセンサーは、ビルトインSensorと同じようにQuestionでご利用いただけます。
画面上部のQuestion入力欄に、以下のQuestionを入力してください。
Get Computer Name and Custom - Last Boot Time from all machines
入力候補に表示されたQuestionを選択して実行してください。
「Custom - Last Boot Time」の列に各端末の最終起動日時が返ってくれば成功です。
作成時の注意点
準備編でも触れさせていただきましたが、Sensorは端末上で任意のスクリプトを実行させる仕組みです。
作成の際は以下の点にご注意ください。
・重い処理を記載しない:ファイルの全検索などは、端末だけでなくクラウド側にも負荷がかかる可能性がございます
・センサーの寿命を短くしすぎない:頻繁に再実行されることで負荷が増えてしまいます
・まずは少数の端末でテストする:いきなり全端末に実行するのではなく、コンピュータグループで対象を絞ってご確認いただくことをおすすめいたします
まとめ
ここまで見てくださってありがとうございます!
これでご自身でSensorを作成して、取得したい情報を自由に取得いただけるようになりました。
ビルトインSensorのクローンを作成してアレンジすることも可能ですので、是非お試しください。
また、カスタムセンサーでは今回のように1つの値を取得するだけでなく、
複数の値を一度に取得するといったことも可能でございます。
こちらにつきましては、また日を改めて【発展編】として例をご紹介させていただければと思います。
お楽しみにお待ちいただければ幸いです。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
技術本部 第2技術統括部 第2技術部 1課
宇都宮 修平



















