【Hinemos】メッセージフィルタでアクセストークンを払い出してみる
投稿日: / 更新日:

■はじめに
今回、この記事ではメッセージフィルタでアクセストークンを払い出す方法について紹介いたします。
1.アクセストークンについて
●Hinemosメッセージフィルタとは
ルールエンジンを活用し、インテリジェントなアラートを実現します。
これにより、不要なメッセージを抑制し、本質的なイベント対処への注力が可能になります。
フィルタ条件は、When/Thenで定義するシンプルなルールを指定するだけでOKです。
監視やジョブ実行結果のフィルタリングなど、Hinemosとシームレスに連携が可能です。
詳細について以下の記事で紹介していますので、こちらをご覧ください。
Hinemos ver7.1がリリースされました!
●アクセストークンとは
アクセストークンとは、Hinemosフィルタマネージャが提供するAPIにアクセスする際に必須となる、
22文字の予測不能な半角英数記号の組み合わせによる文字列です。
アクセストークンは以下の2つの目的で発行されます。
- HinemosマネージャからHinemosフィルタマネージャへ向けてHinemosメッセージを送信するため
→この目的のアクセストークンは、後述するアクセストークン管理スクリプトにより発行されます。 - HinemosメッセージフィルタクライアントからHinemosフィルタマネージャを操作するため
→この目的のアクセストークンは、Hinemosメッセージフィルタクライアントの ログインダイアログで入力されたユーザIDとパスワードをもとに発行されます。
●アクセストークンの有効期限について
アクセストークンの有効期限が切れている場合、Hinemosメッセージの送信時に認証エラーとなります。
Hinemosメッセージフィルタクライアントが取得したアクセストークンがログイン中に有効期限を迎えた場合、
Hinemosメッセージフィルタクライアントは自動的に新しいアクセストークンを取得します。
また、ログアウトにより不要となったアクセストークンの破棄も自動的に行われますので、
Hinemosメッセージフィルタクライアントをご利用のうえで、 ユーザがアクセストークンの有効期限を意識する必要はありません。
2.アクセストークンの払い出し手順について
●前提条件
アクセストークン管理スクリプトを使用する場合、
Hinemosフィルタマネージャが起動した状態で、 OSのコンソールからrootユーザで実行します。
●払い出しコマンドについて
1 2 3 4 5 |
【新規発行】 # /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh create -u {ユーザ名} [-e {有効期限}] [-p {権限}] [-w {DBパスワード}] 【ユーザ名または有効期限の変更】 # /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh modify {アクセストークン} [-u {ユーザ名}] [-e {有効期限}] [-p {権限}] [-w {DBパスワード}] |
各オプションについて、詳細は以下の通りです。
新規発行時はユーザ名、変更時はアクセストークン以降のオプションは省略可能です。
- DBパスワード ※ver.1.1.1以降でこのオプションは廃止されました。
:Hinemosフィルタマネージャの内部データベースのパスワードを指定します - ユーザ名:発行するアクセストークンに紐づける名前を、ID文字列で指定します
- 有効期限:入力例として、”2022/01/02 12:34″のように指定します
有効期限を指定しないで実行した場合、アクセストークンのデフォルトの有効期限は7日です
※入力例は、Hinemosフィルタマネージャのシステム タイムゾーンでのローカル日時 - 権限:アクセストークンに付与する権限を、以下の文字の組み合わせで指定します
複数の権限を付与する際は「-p cm」のように文字の組み合わせで指定します。
省略した場合は、メッセージ通知、及びHinemosメッセージ送信ツール用の権限のみが付与されます
*c:Hinemosメッセージフィルタクライアント用の権限
*m:メッセージ送信用の権限(Hinemosのメッセージ通知、Hinemosメッセージ送信ツール、 メッセージ受信設定へのメッセージ送信などで使用) - アクセストークン:変更対象のアクセストークンを指定します
●一覧表示について
アクセストークンの一覧を確認するコマンドと、実行結果は以下の形式で表示されます。
1 2 3 4 5 6 7 8 9 |
【一覧表示】 # /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh list [-w {DBパスワード}] 【実行結果】 Access Token | Expiry (UTC) | User Name -----------------------+----------------------+---------- L9SHj9rlxm6hdr9Zzxdk3w | 2022-01-20T07:54:03Z | notify1:local 9hqsnGwE3PAGpmWfol1M0g | 2022-01-28T02:03:18Z | hinemos:hinemos/HINEMOS1 Q90Ua1XjqjUXF---EaCZAQ | 2022-01-31T02:27:12Z | hinemos:hinemos/HINEMOS1 |
表示項目についての詳細は以下になります。
- Access Token:アクセストークン
- Expiry (UTC):有効期限となっており、タイムゾーンはUTC(世界標準時)固定です
- User Name:ユーザ名
項目”User Name”から、アクセストークンを発行した方法が分かります。
- 「{ユーザ名}:local」:アクセストークン管理スクリプトにより発行したアクセストークン
- 「{ユーザ名}:hinemos/{認証HinemosマネージャID}」:Hinemosメッセージフィルタクライアントからのログインで発行されたアクセストークン
3.実際にアクセストークンを払い出してみる
今回使用した環境は情報は以下になります。
また、フィルターマネージャのインストール方法については省略します。
- RHEL7.7
- Hinemosフィルタマネージャ ver.1.1.3
今回はアクセストークン管理スクリプトによりアクセストークンを払い出します。
●フィルタマネージャの起動確認
まず初めに、フィルタマネージャが起動確認かを以下のコマンドで確認します。
1 |
# systemctl status hinemos_fm |
フィルタマネージャが停止していた場合、以下のコマンドで起動します。
1 |
# systemctl start hinemos_fm |
●新規発行してみる
ユーザ名”test_manager”、アクセストークンの有効期限”2025/12/31 12:31:34″までのアクセストークンを払い出します。
その後、アクセストークンの一覧を確認してみます。
1 2 3 4 5 6 7 8 9 10 |
[root@test-filter ~]# /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh create -u test_user -e "2025/12/31 12:31:34" Created the access token: SxjbMQzD2055pPxI05-krg [root@test-filter ~]# [root@test-filter ~]# /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh list Access Token | Expiry (UTC) | User Name | Privileges -----------------------+----------------------+----------------------+----------- SxjbMQzD2055pPxI05-krg | 2025-12-31T03:31:34Z | test_user:local | m [root@test-filter ~]# |
一覧に
・ユーザ名”test_manager”
・有効期限が”2025-12-31T03:31:34Z” つまり “2025/12/31 03:31:34(UTC)“まで
のアクセストークンが登録されていることを確認しました。
使用した環境のタイムゾーンはJSTで、UTCとの時差は+9時間となっているため、
設定した有効期限通りのアクセストークンが作成されていることを確認出来ました。
●有効期限を変更してみる
今回は先ほど作成した、ユーザ名”test_manager”の有効期限を変更してみます。
アクセストークンの有効期限を”2025/12/31 12:31:34″から”2026/12/31 13:31:34″に変更します。
(2025年から2026年、12時から13時に変更しました)
1 2 3 4 5 6 7 8 9 10 |
[root@test-filter ~]# /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh modify SxjbMQzD2055pPxI05-krg -u test_manager -e 2026-12-31T04:31:34Z Modified. [root@test-filter ~]# [root@test-filter ~]# /opt/hinemos_fm/sbin/mng/hinemos_fm_access_token.sh list Access Token | Expiry (UTC) | User Name | Privileges -----------------------+----------------------+----------------------+----------- SxjbMQzD2055pPxI05-krg | 2026-12-31T04:31:34Z | test_manager:local | m [root@test-filter ~]# |
一覧よりユーザ名”test_manager”のアクセストークンの有効期限が”2026-12-31T04:31:34Z”と、
新規登録時と比較してアクセストークンの有効期限が変更(延長)されていることが確認出来ました。
有効期限を過去の時間に変更した場合、
該当のアクセストークンは即座に無効化し、 さらに時間経過により削除することができます。
■おわりに
この記事ではメッセージフィルタでアクセストークンを払い出しする手順についてご紹介しました。
ご覧いただきありがとうございました。