メッセージフィルタでアクセストークンを払い出してみる

作成日 2025/08/25

はじめに

この記事ではメッセージフィルタでアクセストークンを払い出す方法について紹介いたします。

アクセストークンについて

Hinemosメッセージフィルタとは

HInemosメッセージフィルタはルールエンジンを活用し、インテリジェントなアラートを実現します。

これにより、不要なメッセージを抑制し、本質的なイベント対処への注力が可能になります。

フィルタ条件は、When/Thenで定義するシンプルなルールを指定するだけです。

監視やジョブ実行結果のフィルタリングなど、Hinemosとシームレスに連携が可能です。


アクセストークンとは

アクセストークンとは、Hinemosフィルタマネージャが提供するAPIにアクセスする際に必須となる、
22文字の予測不能な半角英数記号の組み合わせによる文字列です。

アクセストークンは以下の2つの目的で発行されます。

  • HinemosマネージャからHinemosフィルタマネージャへ向けてHinemosメッセージを送信するため
    →この目的のアクセストークンは、後述するアクセストークン管理スクリプトにより発行されます。
  • HinemosメッセージフィルタクライアントからHinemosフィルタマネージャを操作するため
    →この目的のアクセストークンは、Hinemosメッセージフィルタクライアントのログインダイアログで入力された
    ユーザIDとパスワードをもとに発行されます。

アクセストークンの有効期限について

アクセストークンの有効期限が切れている場合、Hinemosメッセージの送信時に認証エラーとなります。

Hinemosメッセージフィルタクライアントが取得したアクセストークンがログイン中に有効期限を迎えた場合、
Hinemosメッセージフィルタクライアントは自動的に新しいアクセストークンを取得します。

また、ログアウトにより不要となったアクセストークンの破棄も自動的に行われますので、
Hinemosメッセージフィルタクライアントをご利用のうえで、 ユーザがアクセストークンの有効期限を意識する必要はありません。

アクセストークンの払い出し手順について

前提条件

アクセストークン管理スクリプトを使用する場合、
Hinemosフィルタマネージャが起動した状態で、 OSのコンソールからrootユーザで実行します。

払い出しコマンドについて

【新規発行】
# /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パスワード:Hinemosフィルタマネージャの内部データベースのパスワードを指定します
    ※ver.1.1.1以降でこのオプションは廃止されました。
  • ユーザ名:発行するアクセストークンに紐づける名前を、ID文字列で指定します
  • 有効期限:入力例として、"2022/01/02 12:34"のように指定します
    有効期限を指定しないで実行した場合、アクセストークンのデフォルトの有効期限は7日です
    ※入力例は、Hinemosフィルタマネージャのシステム タイムゾーンでのローカル日時
  • 権限:アクセストークンに付与する権限を、以下の文字の組み合わせで指定します
    複数の権限を付与する際は「-p cm」のように文字の組み合わせで指定します。
    省略した場合は、メッセージ通知、及びHinemosメッセージ送信ツール用の権限のみが付与されます
    ※c:Hinemosメッセージフィルタクライアント用の権限
    ※m:メッセージ送信用の権限(Hinemosのメッセージ通知、Hinemosメッセージ送信ツール、 メッセージ受信設定へのメッセージ送信などで使用)
  • アクセストークン:変更対象のアクセストークンを指定します

一覧表示について

アクセストークンの一覧を確認するコマンドと、実行結果は以下の形式で表示されます。

【一覧表示】
# /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メッセージフィルタクライアントからのログインで発行されたアクセストークン

アクセストークンを払い出してみる

今回使用した環境は情報は以下になります。

また、フィルターマネージャのインストール方法については省略します。

  • RHEL7.7
  • Hinemosフィルタマネージャ ver.1.1.3

今回はアクセストークン管理スクリプトによりアクセストークンを払い出します。

フィルタマネージャの起動確認

まず初めに、フィルタマネージャが起動確認かを以下のコマンドで確認します。

# systemctl status hinemos_fm

フィルタマネージャが停止していた場合、以下のコマンドで起動します。

# systemctl start hinemos_fm

新規発行してみる

ユーザ名"test_manager"、アクセストークンの有効期限"2025/12/31 12:31:34"までのアクセストークンを払い出します。
その後、アクセストークンの一覧を確認してみます。

[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

一覧に
・ユーザ名"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時に変更しました

[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

一覧よりユーザ名"test_manager"のアクセストークンの有効期限が"2026-12-31T04:31:34Z"と、
新規登録時と比較してアクセストークンの有効期限が変更(延長)されていることが確認出来ました。

有効期限を過去の時間に変更した場合、該当のアクセストークンは即座に無効化し、 さらに時間経過により削除することができます。

おわりに

この記事ではメッセージフィルタでアクセストークンを払い出しする手順についてご紹介しました。

ご覧いただきありがとうございました。