第20章 Ansible を使用して IdM のシステムアカウントを設定し、リセットを必要とせずにユーザーパスワードを変更する
Ansible を使用して Identity Management (IdM) システムアカウントを設定することで、外部の認証情報管理システムが初回ログイン時にパスワードのリセットを強制することなく、ユーザーパスワードを設定できるようにします。外部サービスと連携しながら、IdM のパスワードポリシーの適用を維持できます。
デフォルトでは、IdM 管理者が IdM ユーザーのパスワードをリセットすると、最初のログインが成功した後にパスワードは期限切れになります。ただし、IdM デプロイメントを外部の認証情報管理システムと統合してパスワードの保存を管理する場合、外部システムによって設定されたパスワードが初回使用時に期限切れにならないようにする必要があります。これはエンドユーザーにとって不便になる可能性があるためです。同時に、IdM のパスワードポリシーを回避するとセキュリティーリスクが生じるため、IdM 側でパスワードの強度と履歴のチェックを継続的に実施することが重要です。
このシナリオでは、RHEL 9.8 以降の IdM で システムアカウント 機能が利用可能です。システムアカウントを使用することで、たとえば、高度な権限を持つ IdM アカウント (つまり、管理権限特権を持つアカウント) の管理セキュリティーをこの専用の外部サービスに委任することができ、それによってコンプライアンス要件を満たすことができます。
20.1. Identity Management におけるシステムアカウント リンクのコピーリンクがクリップボードにコピーされました!
システムアカウントが、人間の管理者の認証情報を安全に保ち、監査ログをクリーンに維持しながら、自動化とサードパーティー統合を可能にする方法を学びましょう。
システムアカウント (サービスアカウントとも呼ばれる) は、アプリケーション、サービス、または自動化ツールが Identity Management (IdM) ディレクトリーとやり取りするために使用する、人間以外のアイデンティティーです。それらの主な目的は、人間の管理者の認証情報を使用せずに、ソフトウェアがタスクを実行するための、安全で追跡可能かつ管理しやすい方法を提供することです。
システムアカウントの主な目的
- プログラムによる LDAP アクセス (バインドアカウント)
- 従来の Wiki や人事ポータルなど、多くのアプリケーションは、ユーザーが存在するかどうかを確認したり、ユーザーのグループメンバーシップを取得したりするために、IdM に接続する必要があります。このアプリケーションは、システムアカウントを使用して LDAP バインドを実行します。これにより、アプリケーションは人間が最初にログインする必要なくディレクトリーを検索できるようになります。セキュリティーを向上させるため、アプリケーションがディレクトリーの特定の部分のみを読み取り専用でしかアクセスできないように制限してください。
- パスワード同期 (Active Directory との連携)
-
システムアカウントは、同期ワークフローにおける橋渡し役として機能します。WinSync を介して Active Directory (AD) と統合する場合、Windows 側のサービスは、たとえば
cn=ad_sync,cn=sysaccounts,cn=etc のようなシステムアカウントを使用して IdM に認証し、パスワードの更新をプッシュします。この統合により、外部サービスは、初回ログイン時にパスワードを変更する必要があるといった、標準的なユーザーパスワードポリシーを回避できるようになります。 - 自動化と DevOps (CI/CD)
- Ansible などの最新のインフラストラクチャーアズコード (IaC) ツールは、多くの場合、IdM 環境を変更する必要があります。たとえば、これらのツールは、ドメインに新しい仮想マシンを自動的に追加したり、DNS レコードを作成したりすることができます。管理者のパスワードをスクリプトに直接記述する代わりに、特権を制限したシステムアカウントを作成できます。スクリプトが侵害された場合、攻撃者は完全なドメイン管理者権限ではなく、その特定のシステムアカウントに割り当てられた限定的な権限のみを取得します。
| 機能 | 標準ユーザーアカウント | システムアカウント (sysaccount) |
|---|---|---|
| 場所 |
|
|
| 対話型ログイン | はい (SSH、Web UI、デスクトップ) | いいえ (LDAP バインドのみ) |
| パスワードの有効期限 | グローバルポリシーに従う | 通常は期限切れにならないように設定されている |
| Kerberos サポート | フルサポート | なし |
| デフォルトのオブジェクトクラス |
|
|