Active Directory & LDAP の統合
Cockpit 内で社員全員のユーザー名やパスワードを個別に管理する代わりに、LDAP または Microsoft Active Directory を利用して、社内ですでに使用している既存のアカウント名簿に Cockpit を接続できます。
LDAP / Active Directory とは? 📇
💡 たとえ話:社内の一元化された社員名簿
数千人の社員が働く大企業をイメージしてください。
- LDAP がない場合: 新入社員が入るたびに、オフィスの総務担当者は「メール用」「サーバー用」「勤怠管理用」など、5つの異なるノート(アカウントリスト)に手書きで名前やパスワードを書き写して回らなければなりません。
- LDAP がある場合: 会社は1つのデジタル社員名簿(LDAPサーバー)だけをメンテナンスします。ユーザーがログインしようとすると、Cockpit はその名簿にアクセスし、該当の人物がいるか、パスワードが正しいかを確認します。
ログイン処理の流れ (ステップ・バイ・ステップ):
- ユーザーがログインを試みる: ユーザーが Cockpit の画面でアカウント名(例:
alice@corp.awan.io)とパスワードを入力します。 - Cockpit が接続する: Cockpit はドメイン名(
@corp.awan.io)を検知し、セキュリティで保護された回線で会社の Active Directory サーバーへ問い合わせに行きます。 - 名簿の検索 (Bind DN): Cockpit はあらかじめ設定された検索用の読み取り専用アカウント(Bind DN)を使用して、名簿の中から「alice」のデータを検索します。
- パスワードの確認: Alice のデータが見つかったら、入力されたパスワードが正しいかどうかを LDAP サーバーに照合させます。
- 権限グループの取得: パスワードが合っていれば、Alice が社内で所属しているグループ(例:
DevOps Administrators)を読み出し、それに対応する Cockpit 内での操作権限を与えてログインを許可します。
Active Directory の設定プロパティ
Cockpit を会社のディレクトリ名簿に接続するには、Cockpit UI の Administration > Identity Sources に移動し、以下の設定値を入力します:
| 設定項目 | 入力例 | 簡単な説明 |
|---|---|---|
| Domain Name | corp.awan.io | ディレクトリへの検索を呼び出す対象となるメールアドレスのドメイン部分。 |
| LDAP URL | ldaps://ad-controller.corp.awan.io:636 | Active Directory サーバーの通信先アドレス。ldaps は安全に暗号化されて通信することを示します。 |
| Base DN | dc=corp,dc=awan,dc=io | 社員名簿の検索を開始する出発点となる階層の指定。 |
| Bind DN | cn=svc-cockpit,ou=ServiceAccounts,dc=corp,dc=awan,dc=io | Cockpit が名簿を検索する際に、ログインして利用するサービスアカウントの識別名。 |
| Bind Password | ******** | 上記サービスアカウントのパスワード。 |
| User Search Filter | (&(objectClass=user)(sAMAccountName={username})) | ユーザーを見つけるための検索ルール。「入力されたアカウント名と一致するユーザーを見つけよ」という指示です。 |
| Group Search Filter | (&(objectClass=group)(member={dn})) | ユーザーがどのグループに所属しているかを突き止めるための検索ルール。 |
社内グループと Cockpit 権限の紐付け
接続が完了したら、Active Directory のグループと Cockpit のグループを紐付けることができます:
- 管理者として Cockpit にログインします。
- Access Control > Group Mappings に移動します。
- Add Mapping をクリックします。
- AD/LDAP Group DN(社内グループのシステム上の正式な名簿名、例:
cn=devops-team,ou=Groups,dc=corp,dc=awan,dc=io)を入力します。 - 対応させる Cockpit Group(例:
Cluster Administrators)を選択します。 - Save をクリックします。
これで、Active Directory 上の devops-team グループに所属するメンバー全員が、Cockpit 用の個別アカウントを作らなくても、ログインするだけで自動的にシステム管理者権限で作業できるようになります!