管理, ディレクトリ, アクセス
この記事は https://docs.evolveum.com/iam/best-practice/management-directory-access/ の翻訳です。
アイデンティティおよびアクセス管理 (IAM) は単一の技術ではありません。 それは、特定の問題群に対するソリューションを作るために協調して動く複数の技術の組み合わせです。 すべてのアイデンティティ管理問題を魔法のように解決できる "silver bullet" の組み合わせはありません。 しかし、非常に多くのアイデンティティおよびアクセス管理ソリューションで有効な組み合わせが1つあります。 それは、アイデンティティ管理システム、ディレクトリサービス、アクセス管理システムの組み合わせです。
状況
ほぼすべてのアイデンティティ関連ソリューションは、3つの基本機能を実装する必要があります。
- データ保存場所: 大量のアイデンティティデータを、多数の申請に対してストアし取得する能力
- 統合: あるシステムが理解する形式のデータを、別のシステムが理解する形式に変換する能力
- アクセス: ユーザーを認証し、セッションを維持し、認可判断を行う能力など
これら3つのサービスを単一構成要素に実装するのは非常に困難です。重要な トレードオフ があるからです。 統合には複雑ロジックが必要であり、これは高性能環境ではほぼ実装不可能です。 スケーラブルアクセス管理には非常に効率的なセッションストアが必要で、これは少なくとも部分的にメモリに保持され、必要に応じて別ノードにフェイルオーバーされなければなりません。 データストアは大量のデータを効率的にストアし、取得できるよう、非常に単純でなければなりません。 ほかにも同様です。
ソリューション
したがってソリューションには3つの基本構成要素があります。 各構成要素は特定のサービスまたはシステム品質の提供に重点を置きます。 そのため各構成要素は比較的単純で、焦点が絞られており、独立して開発でき、特定ソリューションの必要性に対応するために組み合わせられます。 3つの構成要素は次のとおりです。
- 高性能かつスケーラブルなデータ保存場所のための ディレクトリサービス。
- アイデンティティデータ統合、複雑ロジック、データポリシー、管理のための アイデンティティ管理。
- 認証、認可、セッション管理、アクセス監査のための アクセス管理 システム。
3つの構成要素の構成は次の図に示されています。

複雑なアイデンティティおよびアクセス管理ソリューションは通常、3つすべての構成要素を必要とします。 実際には 1つの構成要素だけで始める ことも可能で、しばらくはかなりうまく機能するかもしれません。 しかし遅かれ早かれ、ソリューションを完成させるために他の構成要素が必要になります。
ディレクトリサービス
ディレクトリサービスはデータ保存場所構成要素です。 スケーラブルで高性能かつ安価な保存場所です。 最も頻繁に使われるアクセスプロトコルは LDAP です。 LDAP スキーマは部分的に標準化されているため、アプリケーションを LDAP 対応ディレクトリサービスに接続するのは通常簡単です。 これにより、大規模・小規模を問わずアイデンティティ管理導入にとって理想的なソリューションになります。
しかしディレクトリサービスは単なるデータベースです。 統合ロジックは非常に限られています。 したがって 効率よく機能するには他の構成要素が必要です。 おそらく最も重要な問題は、そもそもデータがどのようにディレクトリサービスに入るのか、そしてどのように維持管理されるのかです。
経験則はこうです。アプリケーションを LDAP だけで統合できるなら、そうしてください。 それが最も安く、最も速い方法です。 たとえこの統合が後で置き換えられるとしても、プロトタイプまたは最初の導入手順として行う価値があります。
ただし、LDAP 統合には欠点があり得る ことに注意してください。アプリケーションがプロファイルのローカルコピーを維持する必要があったり、セッションを維持する必要があったり、ほぼ常にデプロビジョニングの問題が残ります。
アイデンティティ管理
アイデンティティ管理 (IDM) システムは、さまざまなデータベースやリモートシステムのアイデンティティデータを同期するロジックを含みます。 IDM システムは通常かなり複雑な存在であり、対応付け、データ変換ルール、ポリシー、さまざまなスクリプトの断片、さらには専用コードを構成することでカスタマイズできます。 アプリケーションデータモデルは非常に "革新的" で "負荷が高い" になり得るため、この種の 柔軟性 は本当に必要です。 IDM システムは、ほぼ何でも別のほぼ何かへ変換 できなければなりません。
ソリューションにおける IDM システムの主な責任は2つあります。
- データソース を扱い、ディレクトリサービスを populate する。 アイデンティティデータの主なソースは通常 HR または CRM システムです。 これらのシステムが、許容できる形式でデータをディレクトリサービスに公開できる形で LDAP 対応であることは非常にまれです。 したがってソース、HR や CRM からデータを取得し、利用可能な形式に変換し、ディレクトリサービスに公開するために IDM システムが必要です。 同期は継続的に行う必要があるため、これは 反復的な作業です。
- LDAP をサポートしないシステム、またはデータのローカルコピーを維持する必要があるシステムにデータを プロビジョニング および デプロビジョニング する。 後者のケースは 驚くほど頻繁 です。 そしてこのケースでプロセスの最も重要な部分はデプロビジョニングです。 LDAP 認証が無効化されていても、有効なアカウントを残すことは常にセキュリティリスクです。 非常に多くのアプリケーションが代替認証スキームを持っており、設定ミスは非常に一般的です。 そのため、システム内に深刻なセキュリティ脆弱性が何年も存在し、それを体系的に検出する方法がないことがあります。
IDM システムは複雑ロジックを扱うように設計されています。 しかしこれは、性能のために作られているわけでは ない ことも意味します。 ただし適切に使われるなら、記録的な性能は必要ありません。 それは本質的に バックエンドシステムであり、何かが変更したときだけ 呼び出されます。 また、それは ミッションクリティカルな システムでもありません。 IDM システムの短い 停止や過負荷は、ユーザー認証やアクセス経路 に直接接続されていないため、通常は無害です。
アクセス管理
アクセス管理システムは、その名のとおりアクセスを管理します。 ユーザー認証を処理します。 ユーザーが認証されると、ユーザーセッションを維持し、それを他のシステムに伝播し、実質的にシングルサインオン (SSO) システムを作ります。 ユーザー申請の認可をプロセスしたり、ユーザープロファイルへのアクセスを仲介したりすることもあります。
アクセス管理システムは 高スループットのために作られています。 1秒あたり多数の認証申請とアクセス申請を処理するよう設計されています。 多くのアクセス管理システムはディレクトリサービスの上に構築されています。これは非常に相性が良いからです。
ディレクトリサービスと異なり、アクセス管理システムは認証と認可の専門家です。 差し替え可能認証システムと柔軟認可ポリシーはほぼ標準です。 これは LDAP が効率的にはできないことです。
導入
ソリューションは通常、手順ごとに導入されます。
-
ディレクトリサービス導入. アイデンティティデータをストアするために、適切なディレクトリサービスを使います。 Active Directory は Microsoft 技術に基づく環境では自然な選択肢 です。 非 Microsoft 派には、優れたオープンソース LDAP サーバーがいくつかあります。 これは安価で効率的な 最初の手順です。 しかし情報システムの複雑性が増すにつれて、驚くほど早く 限界に達し始めます。
-
アイデンティティ管理システム は、本格的な導入では必須です。 通常、アイデンティティの数が数百を超え、システムの数が十数を超えると、それらを手作業で管理するのはもはや効率的ではなく、ディレクトリサービスだけではもう対応できません。 自動化されたプロビジョニングが必要です。 重量級で非常に高価な商用製品 である必要はありません。 クローズドソースの方法では、合理的な投資回収 (ROI) を得ることが難しいことがよくあります。 これにより、IDM 導入の初期には多くの環境で IDM 技術の利用が実質的に妨げられました。 しかし2010年代には優れたオープンソース代替策が開発されました。 これらの製品では ROI 計算 がはるかに良くなり、IDM はほぼどこでも使えるようになりました。
-
アクセス管理 は "あると望ましい" 手順です。 これはシングルサインオン (SSO) をもたらし、認可ポリシーを統一するなどの効果があります。 しかしアクセス管理の導入は高価です。 まず、統合されたユーザーデータベースが必要です。 これは通常ディレクトリサービスにストアしなければならないため、ディレクトリサービスがまず存在する必要があります。 次にデータベースを統合されたにしなければなりません。アクセス管理で使用する前に、すべてのアカウントがディレクトリサービスに存在していなければなりません。 そしてアカウントはアクセス管理システムが理解できる適切な形式を持っている必要があります。 このデータベースを作成し維持するには通常 IDM システムが必要です。 しかし最も高価な部分はアプリケーション統合です。 アクセス管理に参加する各アプリケーションを変更しなければなりません。 標準の認証を無効化 し、アクセス管理エージェントで置き換える必要があります。 これは一部のアプリケーションでは比較的簡単ですが、他のアプリケーションでは極めて高価です。 そのため、通常100% カバレッジ に近づくことは不可能です。 この手順は慎重に計画する必要があります。
注記
この方法は 2006年に Radovan Semančík によって説明されました が、それ以前から存在していたことは疑いありません。 これは実践的な導入によって十分に証明された、頻繁に使われる構成です。