LDAP 承認
LDAP を使用した認証の実行に加え、InterSystems IRIS では LDAP 承認がサポートされます。ロール、ルーチン、およびネームスペース定義の管理には、LDAP 属性ではなく LDAP グループを使用することをお勧めします。
LDAP 承認の構成の概要
承認に LDAP を使用するようにインターシステムズのサービスまたはアプリケーションを構成する手順は以下のとおりです。
-
LDAP 認証または OS ベースの認証を使用できるようにインスタンスを構成します。
-
LDAP 承認について、以下の手順を実行します。
-
InterSystems IRIS インスタンスにおける LDAP 承認のグループを設計します。
-
それらのグループを使用するように LDAP サーバを構成します。
-
LDAP グループを使用した承認の構成
LDAP グループと InterSystems IRIS
LDAP グループを使用すると、LDAP サーバを使用してユーザに特権を割り当てることができます。
-
LDAP サーバのスキーマによって、グループの名前が指定されます。通常は、LDAP 管理者がこれらの名前を定義します。InterSystems IRIS では、後述する、事前定義された 3 つの名前構造のいずれかが使用されます。
-
各グループには、一意に識別できる識別名 (DN) があります。
-
各グループでは、InterSystems IRIS のロール、ルーチン、またはネームスペースへのアクセスを指定します。
InterSystems IRIS は、以下のインスタンスを対象として承認を提供する LDAP グループをサポートしています。
-
1 つのインスタンス
-
複数のインスタンス
-
すべてのインスタンス
InterSystems IRIS で使用するグループを設定する手順は以下のとおりです。
-
1 つのインスタンス、複数のインスタンス、すべてのインスタンスのいずれを対象とするグループを使用するかを決定します。
-
適切な命名規則に準拠する名前で 1 つ以上のグループを作成します。各グループでは、ユーザのロール、既定のネームスペース、または既定のルーチンを指定します。ユーザは複数のロールを持つことができるので、ロールを指定する複数のグループに属することもできます。
Note:LDAP サーバ上でこれらのグループを定義する際、ディストリビューション・グループとしてではなく、セキュリティ・グループとして作成する必要があります。
-
LDAP ユーザを構成して、どのユーザがどのグループに属するかを指定します。そのためには、各ユーザの LDAP アカウントについて、1 つ以上のロール、既定のネームスペース、および既定のルーチンを指定する複数のグループにユーザを割り当てる必要があります。これにより、ログイン後に各ユーザに付与されるロール、ユーザの既定のネームスペース、およびユーザの既定のルーチンが決まります。
-
LDAP サーバで指定されたすべてのロールの定義が含まれるように、ローカル InterSystems IRIS インスタンスを構成します。
LDAP 承認グループ・モデル
InterSystems IRIS では、LDAP を使用した 3 種類のグループ承認がサポートされています。
1 つのインスタンスを対象とする LDAP 承認グループ (単一インスタンス・グループ) の作成
InterSystems IRIS では、1 つのインスタンスのみを対象として承認を提供する LDAP グループを作成できます。このような各グループは、単一インスタンス・グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。
-
InterSystems IRIS インスタンスで、LDAP パラメータ [承認インスタンス ID] の値を確認または変更します。既定では、その値は NodeName_InstanceName です。NodeName は InterSystems IRIS インスタンスが実行されているマシン、InstanceName はそのインスタンスの名前です。
パラメータの値を手動で設定するには、以下の手順を実行します。
-
管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。
-
そのページで、編集する構成の名前をクリックして選択します。
-
表示される、構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。
-
次に、[承認インスタンス ID] フィールドにパラメータの値を入力し、[保存] をクリックします。
-
-
LDAP サーバで、Instance キーワードに続けて [承認インスタンス ID] の値を使用して、必要なインターシステムズの構造に準拠する名前でロール、ネームスペース、およびルーチンのグループを定義します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。
intersystems-Instance-AuthorizationInstanceIDValue-Role-RoleName
intersystems-Instance-AuthorizationInstanceIDValue-Routine-RoutineName
intersystems-Instance-AuthorizationInstanceIDValue-Namespace-NamespaceName
各要素の内容は以下のとおりです。
-
AuthorizationInstanceIDValue は、[承認インスタンス ID] フィールドに指定された値です。
-
RoleName、RoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。
Note:ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。
-
RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。
-
-
InterSystems IRIS インスタンスで、各グループに関連するロールを構成します。
例えば、Node1 というマシン上にある Test というインスタンスでアプリケーションを実行しているとします。以下の 3 つのユーザ・カテゴリを設定します。
-
アプリケーション・ユーザ — アプリケーションのみを実行できます。
-
管理ユーザ — さまざまな管理ツールとアプリケーションを実行できます。
-
スーパーユーザ — フル・アクセス権を持ちます。
この承認モデルを設定するには、LDAP サーバで以下のグループを作成します。
intersystems-Instance-Node1_Test-Role-Administrator intersystems-Instance-Node1_Test-Role-LocalApplication intersystems-Instance-Node1_Test-Role-%All intersystems-Instance-Node1_Test-Routine-LocalApplication intersystems-Instance-Node1_Test-Routine-%SS intersystems-Instance-Node1_Test-Routine-%pmode intersystems-Instance-Node1_Test-Namespace-%SYS intersystems-Instance-Node1_Test-Namespace-USER
次に、各ユーザ・カテゴリに対応するロールを作成します。
-
管理者
-
LocalApplication
%All ロールは既に存在するため、作成する必要はありません。
最後に、3 つのユーザ・カテゴリを作成します。
-
アプリケーション・ユーザ — アプリケーション LocalApplication のみを実行できます。以下の LDAP グループに割り当てられます。
-
intersystems-Instance-Node1_Test-Role-LocalApplication
-
intersystems-Instance-Node1_Test-Routine-LocalApplication
-
intersystems-Instance-Node1_Test-Namespace-USER
-
-
管理ユーザ — さまざまな管理ツールとアプリケーションを実行できます。以下の LDAP グループに割り当てられます。
-
intersystems-Instance-Node1_Test-Role-LocalApplication
-
intersystems-Instance-Node1_Test1-Role-Administrator
-
intersystems-Instance-Node1_Test-Routine-%SS
-
intersystems-Instance-Node1_Test-Namepace-%SYS
-
-
スーパーユーザ — %All アクセス権を持ちます。以下の LDAP グループに割り当てられます。
-
intersystems-Instance-Node1_Test-Role-%All
-
intersystems-Instance-Node1_Test-Namespace-%SYS
-
intersystems-Instance-Node1_Test-Routine-%pmode
-
複数のインスタンスを対象とする LDAP 承認グループ (複数インスタンス・グループ) の作成
InterSystems IRIS では、複数のインスタンスを対象として承認を提供する LDAP グループを作成できます。このような各グループは、複数インスタンス・グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。
-
個々のインスタンスがグループ間でどのように情報を共有するかを決定します。これにより、各インスタンスのグループとユーザがアクセスできる情報が決まります。
-
グループ内の各インスタンスについて、LDAP パラメータ [承認グループ ID] の値をグループ内の他のインスタンスと同じになるように変更します。
パラメータの値を手動で設定するには、以下の手順を実行します。
-
管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。
-
そのページで、編集する構成の名前をクリックして選択します。
-
表示される、構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。
-
次に、[承認グループ ID] フィールドにパラメータの値を入力し、[保存] をクリックします。
-
-
LDAP サーバで、Group キーワードに続けて [承認グループ ID] の値を使用して、必要なインターシステムズの構造に準拠するロール、ネームスペース、およびルーチンのグループを設定します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。
intersystems-Group-AuthorizationGroupIDValue-Role-RoleName
intersystems-Group-AuthorizationGroupIDValue-Routine-RoutineName
intersystems-Group-AuthorizationGroupIDValue-Namespace-NamespaceName
各要素の内容は以下のとおりです。
-
AuthorizationGroupIDValue は、[承認グループ ID] フィールドに指定された値です。
-
RoleName、RoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。
Note:ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。
-
RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。
-
-
それらを使用するすべてのインスタンスで、必要なロールを構成します。
例えば、5 台のデータベース・サーバに接続された 7 台の ECP アプリケーション・サーバがあるとします。データベース・サーバのうちの 2 台はフェイルオーバー・ペアで、それ以外の 3 台は非同期レポート・メンバです。これらのサーバ (アプリケーション・サーバとデータベース・サーバの両方) はすべて、SALES アプリケーションを実行します。アプリケーションのエンド・ユーザに必要な特権のセットは限定されますが、その管理ユーザはより多くの特権を必要とします。したがって、以下の 3 つのユーザ・カテゴリを設定します。
-
アプリケーション・ユーザ — アプリケーションのみを実行できます。
-
アプリケーション・サーバ管理者 — アプリケーションを実行できます。アプリケーション・サーバへのフル・アクセス権を持ちますが、データベース・サーバにはアクセスできません。
-
データベース管理者 — アプリケーション・サーバへのフル・アクセス権とデータベース・サーバへの管理アクセス権を持ちます。
これらの要件をサポートするように LDAP 承認を構成する手順は以下のとおりです。
-
アプリケーション・サーバの [承認グループ ID] を SALESAPP に設定します。
-
データベース・サーバの [承認グループ ID] を SALESDB に設定します。
LDAP サーバで、グループを以下のように定義します。
intersystems-Group-SALESAPP-Role-%All intersystems-Group-SALESAPP-Role-LocalApplication intersystems-Group-SALESAPP-Routine-LocalApplication intersystems-Group-SALESAPP-Routine-%pmode intersystems-Group-SALESAPP-Namespace-USER intersystems-Group-SALESAPP-Namespace-%SYS intersystems-Group-SALESDB-Role-Administrator intersystems-Group-SALESDB-Routine-INTEGRIT intersystems-Group-SALESDB-Namespace-%SYS
次に、各ユーザ・カテゴリに対応するロールを作成します。
-
管理者
-
LocalApplication
%All ロールは既に存在するため、作成する必要はありません。
最後に、3 つのユーザ・カテゴリを作成します。
-
アプリケーション・ユーザ — アプリケーション LocalApplication のみを実行できます。以下の LDAP グループに割り当てられます。
-
intersystems-Group-SALESAPP-Role-LocalApplication
-
intersystems-Group-SALESAPP-Routine-LocalApplication
-
intersystems-Group-SALESAPP-Namespace-USER
-
-
アプリケーション・サーバ管理者 — アプリケーションを実行できます。アプリケーション・サーバへのフル・アクセス権を持ちますが、データベース・サーバにはアクセスできません。以下の LDAP グループに割り当てられます。
-
intersystems-Group-SALESAPP-Role-LocalApplication
-
intersystems-Group-SALESAPP-Namespace-USER
-
intersystems-Group-SALESAPP-Role-%All
-
intersystems-Group-SALESAPP-Routine-%pmode
-
-
データベース管理者 — アプリケーション・サーバへのフル・アクセス権とデータベース・サーバへの管理アクセス権を持ちます。以下の LDAP グループに割り当てられます。
-
intersystems-Group-SALESAPP-Role-%All
-
intersystems-Group-SALESAPP-Routine-%pmode
-
intersystems-Group-SALESAPP-Namespace-%SYS
-
intersystems-Group-SALESDB-Role-Administrator
-
intersystems-Group-SALESDB-Routine-INTEGRIT
-
intersystems-Group-SALESDB-Namespace-%SYS
-
この時点で、完全に機能する承認モデルが存在しますが、データベース・サーバへの (%All を持つ) スーパーユーザ・アクセスが含まれていません。このようなアクセスを追加するには、ユーザを作成して以下の新しいグループに追加します。
intersystems-Group-SALESDB-Role-%All
ミラーリングを含む LDAP 承認グループの構成
LDAP とミラーリングを使用する場合は、複数インスタンス LDAP グループを使用して承認を構成することをお勧めします。必要な複数インスタンス・グループを作成し、それらのグループを使用するようにすべてのメンバ (非同期メンバを含む) のすべてのユーザを構成します。
前述の例で定義したグループ構造に基づく、以下の例を検討してみましょう。さらに、以下のように仮定します。
-
フェイルオーバー・ペアである SALESDBMIR というミラーと 3 つのレポート非同期メンバがあります。
-
%All を持つユーザを作成しますが、フェイルオーバー・ペアのみでこのアクセス権を持ちます。
このミラーの承認を構成する手順は以下のとおりです。
-
フェイルオーバー・ペアへのフル・アクセス権を提供するために、以下のグループを作成します。
intersystems-Group-SALESDBMIRFAILOVER-Role-%All
-
非同期メンバへのフル・アクセス権を提供するために、以下のグループを作成します。
intersystems-Group-SALESDBMIRASYNC-Role-%All
-
フェイルオーバー・ペアの各メンバの LDAP パラメータ [承認インスタンス ID] を SALESDBMIRFAILOVER に設定します。
Important:災害復旧 (DR) 非同期メンバはフェイルオーバー・メンバに昇格することがあるため、DR 非同期メンバの [承認インスタンス ID] も SALESDBMIRFAILOVER に設定する必要があります。
-
ミラーの非同期メンバの LDAP パラメータ [承認グループ ID] を SALESDBMIRASYNC に設定します。
-
次に、アプリケーション・サーバへの %All アクセス権、ミラーリングされていないデータベース・サーバへの管理アクセス権、およびフェイルオーバー・ペアのみへの %All アクセス権を持つミラー管理者を作成します。これらのユーザは、以下の LDAP グループに割り当てられます。
-
intersystems-Group-SALESAPP-Role-%All
-
intersystems-Group-SALESAPP-Routine-%pmode
-
intersystems-Group-SALESAPP-Namespace-%SYS
-
intersystems-Group-SALESDB-Role-Administrator
-
intersystems-Group-SALESDB-Routine-INTEGRIT
-
intersystems-Group-SALESDB-Namespace-%SYS
-
intersystems-Group-SALESDBMIRFAILOVER-Role-%All
-
-
最後に、すべてのメンバ (アプリケーション・サーバ、データベース・サーバ、フェイルオーバー・ペア、および非同期メンバ) への %All アクセス権を持つフル管理者を作成します。これらのユーザは、以下の LDAP グループに割り当てられます。
-
intersystems-Group-SALESAPP-Role-%All
-
intersystems-Group-SALESDB-Role-%All
-
intersystems-Group-SALESDBMIRFAILOVER-Role-%All
-
intersystems-Group-SALESDBMIRASYNC-Role-%All
-
ユニバーサル LDAP 承認グループの作成
InterSystems IRIS では、1 つの LDAP サーバを使用するすべてのインスタンスを対象として承認を提供する LDAP グループを作成できます。これらは、ユニバーサル承認グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。
-
現在のインスタンスでユニバーサル承認グループの使用を有効にします。
-
管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。
-
そのページで、編集する構成の名前をクリックして選択すると、その構成を編集するためのページが表示されます。
-
構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。
-
[ユニバーサルグループ承認を許可する] を選択します。
-
[保存] をクリックします。
-
-
LDAP サーバで、必要なインターシステムズの構造に準拠するロール、ネームスペース、およびルーチンのグループを設定します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。
intersystems-Role-RoleName
intersystems-Routine-RoutineName
intersystems-Namespace-NamespaceName
RoleName、RoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。
Note:ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。
-
LDAP サーバを使用するすべてのインスタンスで、必要なロールを構成します。
例えば、LocalApplication というアプリケーションがあり、LDAP サーバを使用するすべての InterSystems IRIS インスタンスで、そのアプリケーションに対するさまざまなレベルのアクセス権をユーザに付与するとします。以下の LDAP グループを定義します。
intersystems-Role-%All intersystems-Role-Administrator intersystems-Role-LocalApplication intersystems-Routine-%SS intersystems-Routine-LocalApplication intersystems-Namespace-USER intersystems-Namespace-%SYS
次に、各ユーザ・カテゴリに対応するロールを作成します。
-
Admin
-
LocalApplication
%All ロールは既に存在するため、作成する必要はありません。
最後に、3 つのユーザ・カテゴリを作成します。
-
アプリケーション・ユーザ — すべてのサーバ上のアプリケーションにアクセスできます。以下の LDAP グループに割り当てられます。
-
intersystems-Role-LocalApplication
-
intersystems-Routine-LocalApplication
-
intersystems-Namespace-USER
-
-
管理者 — すべてのサーバへの管理アクセス権を持ちます。以下の LDAP グループに割り当てられます。
-
intersystems-Role-Administrator
-
intersystems-Routine-%SS
-
intersystems-Namespace-%SYS
-
-
スーパーユーザ — すべてのサーバへのフル・アクセス権を持ちます。以下の LDAP グループに割り当てられます。
-
intersystems-Role-%All
-
LDAP グループを使用した LDAP 承認に関するその他のトピック
トピックは以下のとおりです。
LDAP グループ定義の構造
通常、グループ定義の内容は以下のとおりです。
-
グループ名
-
グループの組織単位の宣言 (OU=Groups)
-
ドメイン・コンポーネント (DC) の宣言 (DC=example,DC=com など)
-
必要なその他の情報
例えば、以下のようなグループ定義が考えられます。
CN=intersystems-Role-Administrator,OU=Groups,DC=intersystems,DC=com CN=intersystems-Group-MyGroup-Namespace-USER,OU=Groups,DC=intersystems,DC=com CN=intersystems-Instance-MyNode:MyInstance-Routine-INTEGRIT,OU=Groups,DC=intersystems,DC=com
LDAP グループ名の構成
InterSystems IRIS では、LDAP グループ名をさらに細かく構成できます。以下のセクションでは、既定の構成、構成可能なプロパティ、およびプロパティの変更手順について説明します。
既定のグループ名の構成
既定では、LDAP グループ名では以下の構文を使用します。
intersystems-Role-RoleName
intersystems-Routine-RoutineName
intersystems-Namespace-NamespaceName
intersystems-Group-GroupName-Role-RoleName
intersystems-Group-GroupName-Routine-RoutineName
intersystems-Group-GroupName-Namespace-NamespaceName
intersystems-Instance-InstanceName-Role-RoleName
intersystems-Instance-InstanceName-Routine-RoutineName
intersystems-Instance-InstanceName-Namespace-NamespaceName
グループ名のプロパティ
グループ名は、以下の構成可能なプロパティで構成されます。
-
OrganizationID — 既定値は intersystems です。グループ名の intersystems セグメントをユーザ定義文字列または空文字列に置き換えます。例えば、OrgABC に設定した場合、グループ名は以下のようになります。
OrgABC-Role-RoleName
OrgABC-Group-GroupName-Routine-RoutineName
OrgABC-InstanceInstanceName-Namespace-NamespaceName
空文字列に設定した場合、グループ名は以下のようになります。
Role-RoleName
Group-GroupName-Routine-RoutineName
Instance-InstanceName-Namespace-NamespaceName
-
DelimiterID — 既定値は hyphen (-) です。これは、グループ名に含まれるセグメントを区切る区切り文字です。例えば、アンダースコア (_) に設定した場合、グループ名は以下のようになります。
intersystems_Role_RoleName
intersystems_Group_GroupName_Routine_RoutineName
intersystems_Instance_InstanceName_Namespace_NamespaceName
-
GroupID — 既定値は Group です。例えば、SystemGrouping に設定した場合、グループ名は以下のようになります。
intersystems-SystemGrouping-GroupName-Role-RoleName
intersystems-SystemGrouping-GroupName-Routine-RoutineName
intersystems-SystemGrouping-GroupName-Namespace-NamespaceName
-
InstanceID — 既定値は Instance です。例えば、SystemInstance に設定した場合、グループ名は以下のようになります。
intersystems-SystemInstance-InstanceName-Role-RoleName
intersystems-SystemInstance-InstanceName-Routine-RoutineName
intersystems-SystemInstance-InstanceName-Namespace-NamespaceName
-
RoleID — 既定値は Role です。例えば、SystemRole に設定した場合、グループ名は以下のようになります。
intersystems-SystemRole-RoleName
intersystems-Group-GroupName-SystemRole-RoleName
intersystems-Instance-InstanceName-SystemRole-RoleName
-
NamespaceID — 既定値は Namespace です。例えば、SystemNamespace に設定した場合、グループ名は以下のようになります。
intersystems-SystemNamespace-NamespaceName
intersystems-Group-GroupName-SystemNamespace-NamespaceName
intersystems-Instance-InstanceName-SystemNamespace-NamespaceName
-
RoutineID — 既定値は Routine です。例えば、SystemRoutine に設定した場合、グループ名は以下のようになります。
intersystems-SystemRoutine-RoutineName
intersystems-Group-GroupName-SystemRoutine-RoutineName
intersystems-Instance-InstanceName-SystemRoutine-RoutineName
プロパティの変更手順
これらのプロパティを変更するには、以下の手順を実行します。
-
管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。
-
構成を編集するには、構成の名前をクリックします。
-
このページでは、OrganizationID プロパティを編集できます。[詳細設定] をクリックし、残りのプロパティを表示して編集します。
-
ページの上部の [保存] をクリックして、変更を保存します。
さまざまな種類のグループの混合
単一インスタンス・ロールまたは複数インスタンス・ロールと組み合わせてユニバーサル・グループを使用できます。
例えば、以下のように仮定します。
-
複数のインスタンスに、あるアプリケーションがあります。
-
ユニバーサル・グループを使用しています。
-
すべてのインスタンスでアプリケーションを実行できますが、いずれのマシンでも管理者としてアプリケーションを使用することはできない UserOne というユーザが存在します。
UserOne が以下の操作を行えるようにします。
-
引き続き、すべてのインスタンスでアプリケーションを実行できる
-
さらに、Test という特定のマシン上の APPTEST という特定のインスタンスでアプリケーションを管理できる
これを行うには、以下を実行します。
-
Test マシン上の APPTEST インスタンスの承認インスタンス ID を Test:APPTEST に設定します。
-
LDAP サーバで以下のグループを作成します。
intersystems-Instance-Test_APPTEST-Role-Administrator
-
LDAP サーバでこのグループを UserOne に割り当てます。
-
Test マシン上の APPTEST インスタンスで管理者ロールを作成し、管理アクセス権を付与します。
他の方法で承認グループを組み合わせて使用することもできます。例えば、LDAP サーバに対して認証されるすべてのインスタンスで UserTwo が %All 許可を持っている場合、Server10 というマシン上の SECRET というインスタンスで UserTwo に排他管理許可を付与できます。そのためには、[ユニバーサル・グループ・アクセスを許可] を無効にし、intersystems-Instance-Server10_SECRET-Role-Administrator をそのユーザに割り当てるプロセスを実行します。
入れ子になったグループ
Active Directory LDAP サーバで、LDAP グループは入れ子になったグループと呼ばれるものをサポートします。入れ子になったグループは、親グループのメンバであるグループです。つまり、入れ子になったグループのメンバであるユーザはすべて、暗黙的に親グループのメンバでもあります。例えば、ABC と DEF と呼ばれる 2 つの LDAP グループが定義されているとします。ABC を、DEF 内の入れ子になったグループにすることができます。つまり、ユーザが ABC のメンバである場合、明示的に DEF グループに割り当てなくても、このグループのメンバになります。
ユーザの入れ子になったグループを検索すると、LDAP サーバ上でセキュリティ・グループとして定義されたグループのみが返されます。入れ子になったグループを使用する場合、InterSystems IRIS システムでロールとして使用するグループはセキュリティ・グループとして作成するようにしてください。
入れ子になったグループを使用しないシステムでは、セキュリティ・グループとディストリビューション・グループの両方が返されます。
LDAP グループによって InterSystems IRIS へのアクセスが規制される仕組み
ユーザは、LDAP グループを通じて、既定のネームスペースおよび既定のルーチンと共にロールを受け取ります。ユーザに付与されたロールに、インスタンスの必要なアクセス・ポイントに対する十分な特権がない場合、ユーザはそのインスタンスへのアクセスを拒否されます。例えば、既定のルーチンを使用する十分な特権がユーザにない場合、そのユーザはアクセスを拒否されます。
さらに、以下のルールが適用されます。
-
ユーザがロールのグループに割り当てられていても、ユーザがログインしているインスタンスでそのロールが定義されていない場合、ユーザはそのインスタンスではそのロールを持ちません。
-
ユーザが既定のルーチンのグループに割り当てられていても、ユーザがログインしているインスタンスでそのルーチンが定義されていない場合、ユーザはそのインスタンスには接続できません。
-
ユーザが既定のネームスペースのグループに割り当てられていても、ユーザがログインしているインスタンスでそのネームスペースが定義されていない場合、ユーザはそのインスタンスには接続できません。
オペレーティング・システム・ベースの認証と併用する LDAP 承認の構成
トピックは以下のとおりです。
オペレーティング・システム LDAP 認証
InterSystems IRIS では、オペレーティング・システム・ベースの認証をサポートするように構成することで、LDAP 経由の承認を実行できます。これは、オペレーティング・システム LDAP 承認または OS/LDAP と呼ばれます。これにより、ユーザは、オペレーティング・システム・ログインからの認証情報を使用して InterSystems IRIS に対して認証を行った後、LDAP サーバから承認情報を取得することができます。オペレーティング・システム LDAP 承認は、Windows のコンソールと、UNIX®、Linux、および macOS のターミナルで使用できます。
OS/LDAP を構成する手順は以下のとおりです。
-
標準の LDAP 認証と同様に、インスタンスにログインするために必要なロールを設定します。
-
%Service_Console および %Service_Terminal サービスで OS/LDAP を有効化します。
-
承認を構成します。これは、LDAP 認証に追加する場合と同じ方法で行います。"InterSystems IRIS の LDAP 承認の構成" を参照してください。
-
複数のドメインを使用する場合は、オプションで入力要求を簡略化するように OS/LDAP を構成します。
InterSystems IRIS インスタンスでの OS/LDAP の有効化
OS/LDAP を使用するには、まず、インスタンスで OS/LDAP を有効にします。
-
管理ポータルのホーム・ページで、[認証/Web セッション・オプション] ページ ([システム管理] > [セキュリティ] > [システム・セキュリティ] > [認証/Web セッション・オプション]) に移動します。
-
[認証/Web セッション・オプション] ページで、[オペレーティング・システム LDAP 認証を許可] を選択します。
-
[保存] をクリックすると、変更内容が適用されます。
%Service_Console および %Service_Terminal サービスでの OS/LDAP の有効化
インスタンスの関連サービスまたはアプリケーションで OS/LDAP を有効にする手順は以下のとおりです。
-
インスタンスで LDAP 認証が有効になっている場合、OS/LDAP をサポートするサービスである %Service_Console および %Service_Terminal の [サービス編集] ページに [オペレーティング・システム LDAP 承認] チェック・ボックスが表示されます。
-
必要に応じて、それらのサービスで LDAP 認証を有効にします。
単一ドメインおよび複数ドメインによる OS/LDAP
OS/LDAP では、単一ドメインまたは複数ドメインの使用がサポートされています。
1 つのドメインのみをサポートするように InterSystems IRIS が構成されている場合、以下のように動作します。
-
ユーザは、最初のログイン時にユーザ名とパスワードの入力を求められます。
-
それ以降のログインについては、オペレーティング・システムによってユーザが既に認証されているため、入力を求められることはありません。
複数のドメインをサポートするように InterSystems IRIS が構成されている場合、以下のように動作します。
-
ユーザは、最初のログイン時にユーザ名とパスワードの入力を求められます。
-
それ以降のログインについては、既定では、オペレーティング・システムによってユーザ名とパスワードの入力が求められます。この入力要求が行われないように InterSystems IRIS を構成できます。次のセクションを参照してください。
入力要求を簡略化するための複数ドメインによる OS/LDAP の構成
OS/LDAP と複数のドメインを使用する場合、入力要求を簡略化するようにインスタンスを構成できます。既定では、ユーザはログインのたびにユーザ名とパスワードの入力を求められます。ユーザが最初にログインするときにのみユーザ名/パスワードの入力が求められ、それ以降の接続は入力要求なしで認証されるように InterSystems IRIS を構成できます。
このように動作するように InterSystems IRIS を構成する手順は以下のとおりです。
-
それぞれのユーザについて、ユーザが認証されるドメインの値を持つ環境変数 ISC_LDAP_CONFIGURATION を作成します。
-
ユーザが認証される各ドメインについて、以下の手順を実行します。
-
LDAP 構成があることを確認するか、LDAP 構成を作成します。
-
その LDAP 構成について、[ISC_LDAP_CONFIGURATION 環境変数を許可] チェック・ボックスにチェックを付けます。これにより、この環境変数を使用できるようになります。
-
LDAP 属性を使用した承認の構成
LDAP 承認には、LDAP グループを使用することをお勧めします。ただし、インターシステムズでは、LDAP 属性を使用した承認もサポートしています。承認情報を格納するために LDAP スキーマで使用できる OID が 3 つ登録されています。それぞれには、以下のような固有の目的があります。
-
intersystems-Namespace — ユーザの既定のネームスペースの名前 (OID 1.2.840.113556.1.8000.2448.2.1)。
-
intersystems-Routine — ユーザの既定のルーチンの名前 (OID 1.2.840.113556.1.8000.2448.2.2)。
-
intersystems-Roles — ユーザのログイン・ロールの名前 (OID 1.2.840.113556.1.8000.2448.2.3)。
これらの属性を使用するには、LDAP サーバで以下の手順を実行します。
-
属性を有効にして使用できるようにします。そのためには、LDAP スキーマの objectClass フィールドで、その値のリストに intersystemsAccount の値を付加してこのフィールドの値を変更します(intersystemsAccount には 1.2.840.113556.1.8000.2448.1.1 という LDAP OID が設定されています)。
-
このフィールドを (必要なだけ) スキーマに追加します。
-
LDAP データベースのエントリにそれらの値を生成します。
登録済みの LDAP スキーマ名を使用する必要はありません。実際、使用している LDAP スキーマにある既存の属性を使用できます。
例えば、UNIX® LDAP サーバでは、InterSystems IRIS での LDAP 認証の使用に関するスキーマを定義するために、以下の定義に示されている内容を使用します。
# Attribute Type Definitions
attributetype ( 1.2.840.113556.1.8000.2448.2.1 NAME 'intersystems-Namespace'
DESC 'InterSystems Namespace'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.5 SINGLE-VALUE )
attributetype ( 1.2.840.113556.1.8000.2448.2.2 NAME 'intersystems-Routine'
DESC 'InterSystems Routine'
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} SINGLE-VALUE )
attributetype ( 1.2.840.113556.1.8000.2448.2.3 NAME 'intersystems-Roles'
DESC 'InterSystems Roles'
EQUALITY caseIgnoreMatch
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
# Object Class Definitions
objectclass ( 1.2.840.113556.1.8000.2448.1.1
NAME 'intersystemsAccount'
SUP top
AUXILIARY
DESC 'Abstraction of an account with InterSystems attributes'
MAY (
intersystems-Routine $
intersystems-Namespace $
intersystems-Roles
)
)
このコンテンツは以下の 2 か所に配置します。
-
/etc/openldap/schema/ ディレクトリの intersystems.schema ファイルに配置します。
-
他のコンテンツと共に、/etc/openldap/slapd.conf ファイルに組み込みます。