私は OpenLDAP サーバーの構造を計画しており、複数のアプリケーション (10 個のアプリケーションとします) と統合します。これには 8 つの内部アプリケーション (Web およびモバイル アプリケーション) と、GitLab などの外部サービスが 2 つあります。
このシナリオは、1000 人のユーザーが 10 個のアプリケーションすべてを使用するようなものです。1000 人のユーザーの中には、管理者、マネージャー、開発者などのさまざまな役割が存在します。
1000 人のユーザー全員に、アプリケーションにログインする権限/アクセス権が与えられます (図に示すように、cn=application3、cn=application4、cn=application5 など)。
cn=application1 および cn=application2 (GitLab のような外部サービスであり、外部アプリケーションごとに個別のロールが含まれます) の場合、アクセス/使用の権限を持つユーザーは少数です。
要件に従って、cn=group1 に 1000 人のユーザーを挿入しました。また、それらのアプリケーションへのアクセスが必要な少数のユーザーを cn=application1 と cn=application2 に移動しました。将来的には、組織の規模が拡大し、アプリケーションの数も増えるでしょう。今のところ、図に示す構造を継続しています。これは従うべきベスト プラクティスでしょうか?
どなたか、これをどう解決すればよいか教えていただけませんか? 私は OpenLDAP の初心者なので、何か間違ったことを言っていたら教えてください。
答え1
レイアウトが変ですね。
- 通常、ユーザーは
ou=users,dc=example,dc=com
、ou=accounts,dc=example,dc=com
またはに保持されますou=people,dc=example,dc=com
。 - 役割は一般に、ある種のグループ (
groupOfNames
、groupOfUniqueNames
またはorganizationalRole
) によって担われると考えられており、 のようなもので保持されますou=groups,dc=example,dc=com
。groupOfNames
が最も一般的です。 - ロールに のような名前を付けることを検討してください
cn=admins+ou=app1,ou=groups,dc=example,dc=com
。こうすることで、 を検索して app1 のすべてのロールを取得できるようになりますou=app1
。