1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM iのEIM(Enterprise Identity Mapping)とは? Active Directory連携とSSOの仕組みを整理してみた

1
Last updated at Posted at 2026-10-30

IBM iのシングルサインオン(SSO)について調べる中で、 Enterprise Identity Mapping(EIM) について確認する機会がありました。

EIMは以前からIBM iに実装されている仕組みですが、調べ始めると、次のような点が少し分かりにくく感じます。

  • Active DirectoryとIBM iはどのようにつながるのか
  • KerberosとEIMは何が違うのか
  • LDAPサーバーは何のために必要なのか
  • EIMを設定すればSSOになるのか

そこで、IBM公式ドキュメントを参照しながら調査し、その結果をIBM Bobにも整理してもらいましたので、備忘録として作成してみました。

本記事では、IBM iにおけるEIMの役割と仕組みをできるだけシンプルに整理します。

本記事はIBM i DocumentationおよびIBM Security Verify Directory Documentationを参考に作成しています。

製品バージョンや構成によって、利用可能な機能や設定方法が異なる場合があります。実際のシステム設計・構築時には、使用するIBM iおよびディレクトリー・サーバーのバージョンに対応した公式ドキュメントを確認してください。


1. EIMとは何か

Enterprise Identity Mapping(EIM)は、異なるシステムやアプリケーションで使用されるユーザーID間の対応関係を管理する仕組みです。

企業システムでは、1人の利用者がシステムごとに異なるユーザーIDを持っていることが珍しくありません。

例えば、ある利用者が次のIDを持っているとします。

  • Kerberosプリンシパル:jday@MYCO.COM
  • IBM iユーザープロファイル:JOHND

EIMでは、これらのIDが同じ人物を表しているという関係を定義できます。

Kerberosレジストリー
jday@MYCO.COM
      │
      │ Source association
      ▼
┌─────────────────┐
│ EIM Identifier  │
│    John Day     │
└─────────────────┘
      │
      │ Target association
      ▼
IBM iレジストリー
JOHND

EIM対応アプリケーションは、この関係を利用して、あるユーザーレジストリーの既知のユーザーIDから、別のユーザーレジストリーで使用するユーザーIDを検索できます。

📌 EIMと認証は別の役割

EIMそのものがユーザーを認証するわけではありません。

EIMの中心的な役割は、 「このIDとこのIDは、同じ人物またはエンティティーを表している」 という関係を管理し、必要に応じてIDをマッピングすることです。

IBM iのSSOでは、Kerberosを使用するネットワーク認証サービスとEIMを組み合わせる構成が代表的ですが、EIMそのものにKerberosが必須というわけではありません。


2. EIMを利用するメリット

EIMを利用する代表的な目的は、異なるユーザーレジストリー間のIDマッピングです。

メリット 内容
🔑 SSO構成への活用 Kerberosなどの認証方式と組み合わせ、ユーザーに認証情報を繰り返し入力させない構成に活用できる
🔗 異なるIDの関連付け 異なるシステム上のユーザーIDを、同じ人物またはエンティティーとして関連付けられる
🗂️ IDマッピングの集中管理 システムごとに個別の変換ロジックを持つのではなく、EIMドメインで対応関係を管理できる
🛡️ 既存IDの活用 各システムで既に使用しているユーザーIDを維持しながら、システム間のID連携を設計できる

ポイントは、すべてのシステムでユーザーIDを同じ名前に統一するのではなく、異なるIDの対応関係を管理するという考え方です。


3. EIMを構成する主な要素

EIMを理解するうえでは、次の要素を押さえておくと、より分かりやすくなります。

構成要素 説明
EIMドメイン EIM ID、レジストリー定義、アソシエーションなどを管理する単位
EIMドメインコントローラー 1つ以上のEIMドメインを管理するように構成されたLDAPディレクトリー・サーバー
EIM ID(Identifier) 人物またはエンティティーを表すEIM上の識別子
レジストリー定義 EIMに参加するユーザーレジストリーを表す定義
IDアソシエーション EIM IDと各ユーザーIDとの関係
ポリシー・アソシエーション 複数のユーザーIDに適用するマッピング規則
EIMクライアント EIM APIなどを使用してドメインに接続し、マッピング情報を利用するシステムまたはアプリケーション

EIMでは、EIMドメイン内でユーザーIDとEIM IDの関係を定義し、その情報をIDマッピングに利用します。


4. Kerberosを利用したSSO構成の一例

以下は、Active DirectoryのKerberos認証とEIMを組み合わせた構成の概念図です。

Kerberos認証とEIMを組み合わせたIBM i SSO構成の概略図

役割を単純化すると、次のように整理できます。

Active Directory / Kerberos
          │
          │ Authentication
          ▼
   認証されたIdentity
          │
          ▼
         EIM
          │
          │ Identity Mapping
          ▼
IBM i User Profile
          │
          │ Authorization
          ▼
    IBM i Resource
  • Active Directory / Kerberos:利用者の認証
  • EIM:認証されたIDとIBM i側のユーザーIDのマッピング
  • IBM iユーザープロファイル:権限に基づくIBM iリソースへのアクセス制御

ここで重要なのは、認証、IDマッピング、認可を分けて考えることです。

KerberosとEIMはどちらもSSO構成の中に登場しますが、それぞれ異なる役割を担います。


5. IDマッピングの仕組み

基本的なIDマッピングは、次の関係で考えることができます。

Source → EIM ID → Target

jday@MYCO.COM
      │
      │ Source association
      ▼
   John Day
      │
      │ Target association
      ▼
     JOHND

マッピングの流れ

Kerberosを利用したSSO構成の一例では、次のように処理されます。

  1. 利用者がKerberosで認証される
  2. 認証されたユーザーIDを起点にEIMマッピングを照会する
  3. 対応するEIM IDを特定する
  4. ターゲット側のユーザーIDを取得する
  5. EIM対応のサービスまたはアプリケーションが、取得したユーザーIDを利用する
  6. IBM iユーザープロファイルに設定された権限に基づいて、リソースへのアクセスが制御される

EIMのIDアソシエーションには、次の3種類があります。

種類 役割
Source EIMルックアップの起点として使用するユーザーID
Target マッピング結果として返されるユーザーID
Administrative EIM IDとユーザーIDの関係を管理目的で定義するアソシエーション。マッピング・ルックアップには使用されない

さらにEIMには、個別のEIM IDに基づくIDアソシエーションとは別に、ポリシー・アソシエーションがあります。

そのため、EIMを単純な「SourceからTargetへの変換テーブル」と考えるよりも、企業内に存在する複数のIDの関係やマッピング規則を管理し、必要に応じて適切なIDを解決する仕組みと理解する方が実態に近いと考えられます。


6. IBM iでSSOを構成する場合

IBM iでは、EIMとネットワーク認証サービスを組み合わせて、KerberosベースのSSO環境を構成できます。

構成を検討するときの大まかな流れは、次のとおりです。

  1. SSOとEIMの構成を計画する
  2. EIMドメインコントローラーを用意する
  3. EIMドメインを作成する、または既存ドメインに参加する
  4. ネットワーク認証サービスを構成する
  5. Kerberos KDC側に必要なサービス・プリンシパルを構成する
  6. EIM IDを作成する
  7. Source、Targetなどのアソシエーションを定義する
  8. EIMを利用するIBM iのサービスまたはアプリケーションを構成する
  9. IDマッピングとSSOの動作を確認する

これは構成全体を理解するための概要です。サービス・プリンシパル名、キータブ、レジストリー定義、必要なアソシエーションなどは、SSOを利用するIBM iのインターフェースやアプリケーションによって異なります。

💡 EIMを設定しただけではSSOにはならない

EIMを構成しただけで、すべてのIBM iアクセスが自動的にSSOになるわけではありません。

KerberosベースのSSOでは、ネットワーク認証サービスによる認証、EIMによるIDマッピング、SSOに対応したサービスまたはアプリケーションを組み合わせて構成します。


7. Active DirectoryとEIMの関係

IBM iのSSOを検討するとき、特に混同しやすいのがActive DirectoryとEIMの役割です。

Kerberosを利用した代表的な構成では、次のように整理できます。

  • Active Directory:Kerberos KDCおよびWindows側のユーザー認証基盤
  • EIM:Kerberos側のIDとIBM i側のユーザーIDの対応付け
  • IBM iユーザープロファイル:IBM i上で使用するユーザーIDと権限の保持

つまり、Active DirectoryとEIMは、同じものを置き換える関係ではありません。

Active Directoryで認証されたユーザーを、IBM i上でどのユーザープロファイルとして扱うのかを解決する部分でEIMを利用します。


8. EIMドメインコントローラーとLDAP

EIMドメインコントローラーは、1つ以上のEIMドメインを管理するように構成されたLDAPサーバーです。

EIMドメインコントローラーはIBM i上にも構成できる

EIMドメインコントローラーとして使用するDirectory Serverは、IBM i上に構成できます。そのため、EIMを利用するために、必ず外部のLDAPサーバーを別途用意しなければならないわけではありません。

IBM公式ドキュメントでは、EIMクライアントとEIMドメインコントローラーが同一システムで稼働する場合をローカル、別システムで稼働する場合をリモートと説明しています。

【ローカル構成の例】

┌──────────────────────────────┐
│            IBM i             │
│                              │
│  ┌────────────────────────┐  │
│  │ Directory Server       │  │
│  │ EIM Domain             │  │
│  │ (Domain Controller)    │  │
│  └───────────▲────────────┘  │
│              │ EIM lookup    │
│  ┌───────────┴────────────┐  │
│  │ EIM Client / Service   │  │
│  └───────────┬────────────┘  │
│              ▼               │
│     IBM i User Profile       │
└──────────────────────────────┘

一方、EIMドメインコントローラーは、EIMを利用するIBM iと同じシステム上に置かなければならないわけではありません。EIMをサポートするリモートのDirectory ServerにEIMドメインを配置し、IBM iをEIMクライアントとして参加させる構成も可能です。

【リモート構成の例】

Directory Server
└─ EIM Domain
       ▲
       │ EIM lookup over LDAP
       │
IBM i
└─ EIM Client / Service

どちらの配置を選ぶ場合も、本番環境では可用性、ネットワーク構成、運用管理、製品のサポート条件を含めて検討します。

LDAPサーバーなら何でも利用できるわけではない

ただし、LDAPサーバーであれば何でもEIMドメインコントローラーとして使用できるわけではありません。

IBM公式ドキュメントでは、EIMドメインコントローラーをホストするディレクトリー・サーバーについて、次の要件が示されています。

  • LDAP Version 3をサポートしていること
  • EIM LDAPスキーマを受け入れられること
  • EIMに必要な属性とオブジェクトクラスを扱えること

EIMでは、ibm-eimDomain、ibm-eimIdentifier、ibm-eimSourceRelationship、ibm-eimTargetRelationshipなどの属性やオブジェクトクラスが使用されます。

既存のディレクトリー・サーバーをEIMドメインコントローラーとして利用したい場合は、次の点を確認する必要があります。

  1. 使用するIBM iのバージョン
  2. 使用するディレクトリー・サーバーの製品とバージョン
  3. EIM LDAPスキーマへの対応
  4. IBMによるサポート条件

⚠️ Active Directoryの役割と混同しない

Active DirectoryがKerberos KDCやWindows側のユーザー認証基盤として使われることと、EIMドメインの情報を保持するディレクトリー・サーバーの役割は、分けて考える必要があります。

「Active Directoryを使っているからEIMは不要」「LDAPに対応しているから、そのままEIMドメインコントローラーとして使える」と単純化せず、構成要素ごとの役割とサポート条件を確認することが重要です。


9. 運用時の注意点

EIMドメインコントローラーの可用性

EIMクライアントは、EIMドメインコントローラーに保持された情報を利用してIDマッピングを解決します。

そのため、本番環境ではEIMドメインコントローラーの可用性と性能を考慮する必要があります。マッピング要求が多い環境では、ディレクトリー・サーバーの配置やレプリカ構成も含めて検討します。

ディレクトリー接続のセキュリティー

EIMドメインコントローラーへの接続では、認証情報やIDマッピング情報を扱います。

実際の構築時には、使用するIBM iおよびディレクトリー・サーバーのバージョンに対応した公式ドキュメントを確認し、通信の保護、接続ユーザーの権限、資格情報の管理方法を検討する必要があります。

マッピング設計

Source、Target、Administrativeの各アソシエーションは、用途を区別して設計する必要があります。

特に、認証に使用するIDと認可に使用するIDの関係、同一人物に複数のターゲットIDが存在する場合の扱い、退職・異動・ID変更時のメンテナンス方法を事前に整理しておくことが重要です。


10. EIMの管理とマッピングテスト

EIMの管理では、例えば次の操作を行います。

  • EIMドメインの管理
  • レジストリー定義の管理
  • EIM IDの管理
  • Source、Target、Administrativeアソシエーションの管理
  • ポリシー・アソシエーションの管理
  • EIMアクセス制御の管理
  • EIMマッピングのテスト

マッピングテストでは、次の変換が期待どおりに行われるかを確認します。

Source user ID
        │
        ▼
       EIM
        │
        ▼
Target user ID

この確認により、問題がKerberos認証にあるのか、EIMのレジストリー定義やアソシエーションにあるのか、アプリケーション側のSSO設定にあるのかを切り分けやすくなります。


11. 結局、EIMは何をしているのか

KerberosベースのIBM i SSO構成では、次のように考えると分かりやすくなります。

Kerberosが利用者を認証し、EIMが認証されたIDに対応するIBM i側のユーザーIDをマッピングする。そして、マッピングされたIBM iユーザープロファイルの権限に基づいて、IBM iリソースへのアクセスが制御される。

Authentication        Identity Mapping        Authorization
      │                       │                      │
      ▼                       ▼                      ▼
  Kerberos       →           EIM          →   IBM i User Profile

この3つを分けて考えることが、IBM iのSSOを理解するうえで重要なポイントです。


12. まとめ

EIMを一言で表すなら、次のようになります。

異なるシステムに存在するユーザーIDを、同じ人物またはエンティティーとして関連付けるIDマッピングの仕組み

EIMは認証機能そのものではなく、SSOを構成する要素の一つです。

特にIBM iとActive Directoryを組み合わせたKerberosベースのSSOを検討する場合は、次の3点を分けて整理すると、構成を理解しやすくなります。

  1. 認証は誰が行うのか
  2. IDマッピングは誰が行うのか
  3. IBM i上では最終的にどのユーザープロファイルを使用するのか

調査前はEIMを「IBM iのSSO機能」と大まかに捉えていました。

しかし、実際にはSSOそのものではなく、異なる認証基盤やシステムのIDをつなぐ仕組みと理解する方が、EIMの役割を正確に捉えられます。


参考資料

1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?