Identity Manager (IdM)とは?

ゲストブログ
Red Hat Enterprise Linux に付属するID管理ソフトウェアIdentity Manager (IdM)を紹介します

Identity Manager (IdM)とは?

Red Hat Enterprise Linux に付属するID管理ソフトウェアです。upstreamプロジェクトはfreeipaです。

できること:

  • Red Hat Enterprise Linux上でのユーザ、ホスト、サービスの認証をおこない、シングルサインオン環境を構築できます。

  • Active DirectoryとCross realm trustを構成してWindows – Linuxにまたがるシングルサインオンが構成できます。

  • 一般的なプロトコル(LDAP, Kerberos, DNS)を利用しているので他社製品や古いRHELでの認証にも利用できます

  • sudo, automount, sshの公開鍵なども一緒に管理します

  • RHEL 7.1同梱版からはHOTP、TOTPによる2要素認証にも対応しています
  • サーバへのログインだけでなくアプリケーションの認証にも利用できます。PAMによる認証、mod_auth_mellonによるSAML認証、Kerberosによる認証などへ対応しています。Red Hatの各製品においてもIdMへの対応が徐々に進んでいます。

 

できないこと:

  • 汎用的なLDAPサーバではありません。認証に特化しています。

  • 他社製品のクライアント側についてのサポートはされません。

  • WindowsのID管理を統合するものではありません

Identity Manager 実装上の特徴

  • 標準技術の組み合わせにより実装されています

    • そのため特に「IdMに対応」していない古いRHELやUnix系OSからも利用することができます

  • 非常にセキュア側に機能を制限しています。具体的には:

    • パスワード再発行時には管理者が発行したあと必ずユーザー自身による再設定が強制される

    • パスワードのハッシュ値そのものは管理者であっても通常のクエリでは参照できないし、設定もできない

    • パスワードはハッシュ値のみしか保持しない

  • Active Directoryとの連携も用意しています

    • Active DirectoryからIdMへパスワード更新をレプリケーションすることができます

    • IdMからActive Directoryへはレプリケーションできません。これはIdMではハッシュ値でしかパスワードを保持しないためです。

    • Cross realm trustにより、ADで発行したチケットを利用してIdMで認証、またはその逆が可能です。これによりWindows環境とLinux環境をまたいだシングルサインオンを実現します(RHEL7.0以降に同梱されるIdMから。クライアントはRHEL6.4以降)

  • 既存環境からの移行を想定しています

    • NISやLDAPからの移行をサポートするスクリプトとドキュメントが同梱されています

  • UI

    • WebとコマンドラインでのUIが用意されています

  • 可用性

    • 20マルチマスタまでサポートし、高可用性はマルチマスタ構成と、

    • SSSDのキャッシュ機能により実現します。

  • identity managerはいろいろなOSSを組みあわせて実装されています。

    • NTPd, 389DirectoryServer (LDAPサーバ), MIT Kerberos, bind (DNSサーバ)など既存のもの 

    • freeipa, dogtag, ipa-otpdなど新規に作成されたもの

  • Identity ManagerではActive Directoryに似た「ドメイン」の概念を導入しています。

    • 基本的にIdentity Managerは1ドメインの管理しかおこないません。

    • クライアント側はSSSDにより複数のドメインに参加することができます。クライアント数に制限はありません。

費用に関連する特徴

  • RHEL Serverに同梱されていて追加費用はかかりません

  • アカウント数や接続数が増えても特に追加費用はかかりません

  • 直接ADに問いあわせる場合と比べてCALを減らせます。Cross realm trustによる連携をおこなう場合, ADと連携してシングルサインオンが可能でありつつもIdMで管理されているのでADのCALが不要です。

FAQ

  • IdMをつかわずにActive Directoryに直接といあわせたらいいのでは?

    • はい。そうやって構成することもできます(Direct Integrationと呼ばれています)。この場合はRHELに同梱されるSSSDを利用してActive Directoryに接続すると設定が容易です。

    • 台数が少ない場合(30台くらいまで)ならいいかもしれません。多いとADのCAL費用が気になります。

    • https://msdn.microsoft.com/en-us/library/cc731178.aspx によると、Identity Management for Unix はdeprecatedになりましたのでMSからサポートされる手順がなくなってしましました。この点については自己責任で利用することになります。

  • IdMをRHELでつかうときに注意することは?

    • 管理される側のRHELバージョンによりIdMのどの機能をサポートしているかなどの詳細が変わります。以下はADとのTrustがどの機能で有効かの対応表です。

  • サーバの前提条件は以下にまとまっています

  • IdMに全てを集約して、Windowsクライアントの認証も統合できますか?

    • サポートされませんし推奨もされませんが、WindowsにMIT Kerberosのクライアントを入れればできなくはないとおもわれます。

    • WindowsについてはADで管理し、Linux, UnixについてはIdMでというのが現実的なIdMの利用モデルです。

ドキュメント

(レッドハット ソリューションアーキテクト 森若和雄)