Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. 概要

Checkmkのパスワードストアを使用すると、監視システムでさまざまなシステムにアクセスするために必要なパスワードを一元的に保存することができます。 パスワードストアでは、パスワードの保存を許可されるユーザーと、そのパスワードの使用を許可されるユーザーを区別します。 これにより、Checkmk でのアクセスデータの保存と使用について、社内の組織区分をマッピングすることができます。 この目的のために、Checkmk には連絡先グループが用意されています。

さらに、パスワードストアに保存されたパスワードは、そのパスワードを使用する実際の設定を変更することなく変更できるという利点もあります。 パスワード自体は使用時には表示されず、そのタイトルのみが表示されます。

パスワードストアには、ユーザーに割り当てられたパスワードだけでなく、たとえば、シークレットMicrosoft Azure のアプリ用)、トークンKubernetesクラスタのサービスアカウント用)、URLMicrosoft TeamsSlackCisco Webex Teams への通知用など)も保存されます。

Tip

パスワードストアは、機密情報をCheckmk サイト内のさまざまな場所に分散して保存するのではなく、一元的に収集するために使用されます。 パスワードストアはパスワードの保管場所ではありません。 Checkmk は、リモートシステムに継続的に接続し、監視データを取得するために、パスワードを含むアクセスデータをプレーンテキストで必要とします。 パスワードがファイルシステムにプレーンテキストで保存されないように、パスワードファイルは、サイトディレクトリにも保存されているキーを使用して暗号化されます。 この暗号化は、一般的に理解されているものとは異なることを明確にするため、難読化と呼ばれています。

パスワードストアは、別のシステムの監視データにアクセスするためにアクセスデータを入力する必要がある場合に、Checkmk で常に使用できます。 たとえば、アクティブチェック、 スペシャルエージェント、 エージェントベーカリーのルールまたは通知ルールの通知方法を設定する場合などです。

この記事では、MQTTサーバー( MQTTアーキテクチャではブローカーと呼ばれます)へのアクセスを例にパスワードストアの使用方法について説明します。 このようなブローカーは「モノのインターネット」(IoT)でセンサーデータを収集します。 Checkmk では、このブローカーを監視して、キューにあるメッセージの数などを確認することができます。

2. パスワードの作成

Setup > General > Passwords から Checkmk パスワードストアにアクセスできます。 新しいパスワードを作成するには、Add password.

Dialog for creating a password in the password store.
MQTT ブローカーのパスワードがここで作成されます

Checkmk では通常、パスワードストアにパスワードを作成するには、内部Unique ID およびTitle も必要です。 後で自分だけでなく、そのパスワードを使用する Checkmk ユーザーもそのパスワードが何であるかをすぐにわかるように、意味のあるタイトルを選択してください。パスワードを選択すると、このタイトルだけが表示されます。

まず、Password properties ボックスにパスワードを入力します。 次の 2 つのオプション、Editable byShare with を使用して、このパスワードにアクセスできるユーザーを制御します。

Editable by (ユーザー)では、パスワードの使用、変更、削除など、パスワードへのフルアクセス権を持つ Checkmk ユーザーのグループを選択します。 ここでのデフォルトの選択はAdministrators で、admin ロールのみにデフォルトでWrite access to all passwords 許可が与えられているため、Checkmk 管理者へのアクセスが制限されます。 ただし、すでに自分に割り当てられている連絡先グループにフルアクセス権を付与することもできます。 Share with オプションを使用すると、パスワードを使用できる連絡先グループにパスワードを利用できるようにする連絡先グループを追加することができます。

Save でパスワードの作成が完了すると、パスワードストアの概要ページが表示され、最も重要なパラメータとともにすべてのパスワードがリストされます。

The password store overview page.
パスワードリストの前に、パスワードストアでできることとできないことが表示されます。
Tip

デフォルトでは、パスワードストアへのアクセスは、管理者だけでなく、通常の監視ユーザーにも開放されています。 これは、admin およびuser の 2 つのロールが、Password management の認可を持っているためです。 ただし、通常の監視ユーザーは、自分がフルアクセス権を持つパスワードのみを表示でき、連絡先グループ(Checkmk 管理者には割り当てられません)にのみパスワードを割り当てることができます。

3. パスワードの選択

多くの Checkmk ページでは、パスワードストアからパスワードを選択することができます。 たとえば、アクティブチェックはSetup > Services > HTTP, TCP, Email, …​ 、スペシャルエージェントはSetup > Agents > VM, cloud, container またはSetup > Agents > Other integrations.

MQTT スペシャルエージェントのルールセットは、MQTT broker statistics.です。 新しいルールを作成します。

Rule with which a password can be selected from the password store
ここでは、MQTT ブローカーのパスワードを使用します。

Username をアクティブにして、MQTT ブローカーのユーザー名を入力します。 次に、Password of the user.をアクティブにします。 デフォルトでは、Explicit が選択されており、対応するフィールドにパスワードを直接入力します。 アクセスデータを入力する際にリストが表示された場合は、明示的に入力する代わりにパスワードストアを使用することもできます。 これを行うには、リストからFrom password store を選択します。 使用可能なすべてのパスワードが記載されたリストが右側に表示されます。

4. ファイルおよびディレクトリ

ファイルパス 関数

~/var/check_mk/stored_passwords

難読化されたパスワードを含むパスワードストアファイル。

~/etc/password_store.secret

パスワードファイルを難読化するためのキーを含むファイル。

~/lib/python3/cmk/utils/password_store/__init__.py

パスワードストア用の Checkmk Python モジュール。このファイルの先頭にあるコメント行には、自作のアクティブチェックやスペシャルエージェントでパスワードストアを使用する方法に関する情報が記載されています。

このページでは