宣伝
BeeX Advent Calendar 2022 の8日目で~す(/・ω・)/
BeeX Advent Calendar 2022
前提条件
下記記事で構築した環境を今回は使用します。
CloudFormationテンプレートのベストプラクティスな書き方について考えてみた
Redhat8の環境にZabbix6.0/Grafana環境を構築してみた
はじめに
今回は、Zabbix6.0とGrafana環境にLDAP認証を用いたログイン機能を追加していきます。
ADに関しては、事前に構築済みの踏み台サーバー(Windows Server 2022)を使用するものとします。
使用する環境は以下の通りです。
- Windows Server 2022(踏み台サーバー兼ADサーバ)
- RedHat8(Zabbix6.0/Grafana)
環境構築
(1)Windows Server 2022でActive Directoryを構築する
今回は、パブリックサブネットにある踏み台サーバーにADを構築するのですが、検証目的なのでセキュリティとかは特に意識してないです。(●´ω`●)
(1.1)Active Directory ドメイン サービスをインストール
①サーバーマネージャーを開き、「役割と機能の追加」を押下する。
③「役割ベースまたは機能ベースのインストール」を選択し、「次へ」を押下する。
⑤「Active Directory ドメイン サービス」にチェックをいれる。
※チェックを入れると、「役割と機能の追加ウィザード」が表示される。
(1.2)サーバーをドメインコントローラーに昇格する
①サーバーマネージャーの右上にある旗マークを選択後、「このサーバーをドメインコントローラーに昇格する」を押下する。
②「新しいフォレストを追加する」を選択後、ルートドメイン名に「qiita-dev.com」を入力し、「次へ」を押下する。
※今回は存在しない適当なドメイン名を使用します。
③「ディレクトリサービス復元モード(DSRM)」のパスワードを入力し、「次へ」を押下する。
※「フォレストの機能レベル」と「ドメインの機能レベル」では、デフォルトの値(Windows Server 2016)を使用します。
⑤NetBIOSの値は変更せずに、そのまま「次へ」を押下する。
⑧「インストール」を押下する。
※インストール後に自動的に再起動が走る。
⑨RDPで繋ぎ直す。
接続する際のユーザ名は、「\Administrator」というように、ローカルユーザーのAdministratorを明示的にの指定する必要がある。
(1.3)LDAP認証用のユーザグループ・ユーザを作成する。
続いて、ZabbixやGrafanaで使用するLDAP用のユーザグループ/ユーザーを作成していきます。
①サーバーマネージャーの右上にある「ツール」を選択後、「Active Directory ユーザーとコンピューター」を押下する。
②「qiita-dev.com」内のUsersを開き、ユーザーグループとユーザーを作成していく。
③以下のユーザグループを作成する。
ユーザグループ名 | 用途 | 備考 |
---|---|---|
qiita-admin | GrafanaでLDAP認証する際の管理者用のユーザグループ | Grafana環境でのみ使用する。 |
qiita-editor | GrafanaでLDAP認証する際の編集者用のユーザグループ | Grafana環境でのみ使用する。 |
qiita-viewer | GrafanaでLDAP認証する際の参照用のユーザグループ | Grafana環境でのみ使用する。 |
④以下のユーザを作成する。
ユーザ名 | 用途 | 所属するユーザグループ | 備考 |
---|---|---|---|
qiita | LDAP認証用ユーザ | ー | Zabbix、Grafana両環境で使用する。 |
qiita-userA | 管理者用のユーザ | qiita-admin | Zabbix、Grafana両環境で使用する。 |
qiita-userB | 編集者用のユーザ | qiita-editor | Zabbix、Grafana両環境で使用する。 |
qiita-userC | 参照用のユーザ | qiita-viewer | Zabbix、Grafana両環境で使用する。 |
(2)Zabbix6.0にLDAP設定を実施
参考URL:https://tech-mmmm.blogspot.com/2019/01/zabbixactive-directory_16.html
(2.1)Zabbix側でLDAP認証の有効化
④下記の入力を行い、「テスト」を押下する。その後、「更新」を押下する。
※テストに合格にすると、「LDAPによるログインが成功しました」と表示される。
項目 | 入力値 | 備考 |
---|---|---|
LDAPホスト | AD server IP | プライマリネームサーバーを指定 |
ポート | 389 | デフォルトのLDAPポート番号 |
Base DN | dc=qiita-dev,dc=com | qiita-dev.comを指定 |
検索の属性 | sAMAccountName | |
Bind DN | qiita | LDAP認証用ユーザのホスト名 |
Bind password | qiita@Password | LDAP認証用ユーザのパスワード |
ログイン | ログインテストで使用するユーザ名 | |
ユーザーのパスワード | ログインテストで使用するパスワード名 |
(2.2)ユーザグループ/ユーザの作成
②LDAP認証を使用し、ログインするユーザを登録する
※ここで登録するユーザ名は、ADのユーザ名と同一である必要がある。
※パスワードは、ADを参照する仕組みの為、ここでは入力しない。
③先ほど作成したユーザでログイン確認
※ここでログインできれば、OK。
(3)GrafanaにLDAP設定を実施
①GrafanaのLDAP認証設定を定義
# vi /etc/grafana/ldap.toml
--
[[servers]]
host = "AD server IP"
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "qiita"
bind_password = "qiita@Password"
search_filter = "(sAMAccountName=%s)"
search_base_dns = ["DC=qiita-dev,DC=com"]
[servers.attributes]
name = "givenName"
surname = "sn"
username = "sAMAccountName"
member_of = "memberOf"
[[servers.group_mappings]]
group_dn = "CN=qiita-admin,CN=Users,DC=qiita-dev,DC=com"
org_role = "Admin"
[[servers.group_mappings]]
group_dn = "CN=qiita-editor,CN=Users,DC=qiita-dev,DC=com"
org_role = "Editor"
[[servers.group_mappings]]
group_dn = "CN=qiita-viewer,CN=Users,DC=qiita-dev,DC=com"
org_role = "Viewer"
②GrafanaのLDAP認証を有効化
# vi /etc/grafana/grafana.ini
--
[auth.ldap]
enabled = false
↓
[auth.ldap]
enabled = true
--
③Grafana再起動
# systemctl restart grafana-server
④GrafanaのLDAPユーザでのログイン確認
※LDAPユーザを使用してログインができればOKとする。
最後に
今回は、ZabbixとGrafanaでLDAP認証を設定いたしました。
次回は、他の設定について書いていこうと思います。
終わりです( `ー´)ノ