Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

LDAP 承認

LDAP を使用した認証の実行に加え、InterSystems IRIS では LDAP 承認がサポートされます。ロール、ルーチン、およびネームスペース定義の管理には、LDAP 属性ではなく LDAP グループを使用することをお勧めします。

LDAP 承認の構成の概要

承認に LDAP を使用するようにインターシステムズのサービスまたはアプリケーションを構成する手順は以下のとおりです。

  1. LDAP 認証または OS ベースの認証を使用できるようにインスタンスを構成します。

  2. LDAP 承認について、以下の手順を実行します。

    1. InterSystems IRIS インスタンスにおける LDAP 承認のグループを設計します。

    2. それらのグループを使用するように LDAP サーバを構成します。

LDAP グループを使用した承認の構成

LDAP グループと InterSystems IRIS

LDAP グループを使用すると、LDAP サーバを使用してユーザに特権を割り当てることができます。

  • LDAP サーバのスキーマによって、グループの名前が指定されます。通常は、LDAP 管理者がこれらの名前を定義します。InterSystems IRIS では、後述する、事前定義された 3 つの名前構造のいずれかが使用されます。

  • 各グループには、一意に識別できる識別名 (DN) があります。

  • 各グループでは、InterSystems IRIS のロール、ルーチン、またはネームスペースへのアクセスを指定します。

InterSystems IRIS は、以下のインスタンスを対象として承認を提供する LDAP グループをサポートしています。

  • 1 つのインスタンス

  • 複数のインスタンス

  • すべてのインスタンス

InterSystems IRIS で使用するグループを設定する手順は以下のとおりです。

  1. 1 つのインスタンス、複数のインスタンス、すべてのインスタンスのいずれを対象とするグループを使用するかを決定します。

  2. 適切な命名規則に準拠する名前で 1 つ以上のグループを作成します。各グループでは、ユーザのロール、既定のネームスペース、または既定のルーチンを指定します。ユーザは複数のロールを持つことができるので、ロールを指定する複数のグループに属することもできます。

    Note:

    LDAP サーバ上でこれらのグループを定義する際、ディストリビューション・グループとしてではなく、セキュリティ・グループとして作成する必要があります。

  3. LDAP ユーザを構成して、どのユーザがどのグループに属するかを指定します。そのためには、各ユーザの LDAP アカウントについて、1 つ以上のロール、既定のネームスペース、および既定のルーチンを指定する複数のグループにユーザを割り当てる必要があります。これにより、ログイン後に各ユーザに付与されるロール、ユーザの既定のネームスペース、およびユーザの既定のルーチンが決まります。

  4. LDAP サーバで指定されたすべてのロールの定義が含まれるように、ローカル InterSystems IRIS インスタンスを構成します。

LDAP 承認グループ・モデル

InterSystems IRIS では、LDAP を使用した 3 種類のグループ承認がサポートされています。

1 つのインスタンスを対象とする LDAP 承認グループ (単一インスタンス・グループ) の作成

InterSystems IRIS では、1 つのインスタンスのみを対象として承認を提供する LDAP グループを作成できます。このような各グループは、単一インスタンス・グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。

  1. InterSystems IRIS インスタンスで、LDAP パラメータ [承認インスタンス ID] の値を確認または変更します。既定では、その値は NodeName_InstanceName です。NodeName は InterSystems IRIS インスタンスが実行されているマシン、InstanceName はそのインスタンスの名前です。

    パラメータの値を手動で設定するには、以下の手順を実行します。

    1. 管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。

    2. そのページで、編集する構成の名前をクリックして選択します。

    3. 表示される、構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。

    4. 次に、[承認インスタンス ID] フィールドにパラメータの値を入力し、[保存] をクリックします。

  2. LDAP サーバで、Instance キーワードに続けて [承認インスタンス ID] の値を使用して、必要なインターシステムズの構造に準拠する名前でロール、ネームスペース、およびルーチンのグループを定義します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。

    intersystems-Instance-AuthorizationInstanceIDValue-Role-RoleName

    intersystems-Instance-AuthorizationInstanceIDValue-Routine-RoutineName

    intersystems-Instance-AuthorizationInstanceIDValue-Namespace-NamespaceName

    各要素の内容は以下のとおりです。

    • AuthorizationInstanceIDValue は、[承認インスタンス ID] フィールドに指定された値です。

    • RoleNameRoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。

      Note:

      ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。

    • RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。

  3. 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

Note:

%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 グループを作成できます。このような各グループは、複数インスタンス・グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。

  1. 個々のインスタンスがグループ間でどのように情報を共有するかを決定します。これにより、各インスタンスのグループとユーザがアクセスできる情報が決まります。

  2. グループ内の各インスタンスについて、LDAP パラメータ [承認グループ ID] の値をグループ内の他のインスタンスと同じになるように変更します。

    パラメータの値を手動で設定するには、以下の手順を実行します。

    1. 管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。

    2. そのページで、編集する構成の名前をクリックして選択します。

    3. 表示される、構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。

    4. 次に、[承認グループ ID] フィールドにパラメータの値を入力し、[保存] をクリックします。

  3. LDAP サーバで、Group キーワードに続けて [承認グループ ID] の値を使用して、必要なインターシステムズの構造に準拠するロール、ネームスペース、およびルーチンのグループを設定します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。

    intersystems-Group-AuthorizationGroupIDValue-Role-RoleName

    intersystems-Group-AuthorizationGroupIDValue-Routine-RoutineName

    intersystems-Group-AuthorizationGroupIDValue-Namespace-NamespaceName

    各要素の内容は以下のとおりです。

    • AuthorizationGroupIDValue は、[承認グループ ID] フィールドに指定された値です。

    • RoleNameRoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。

      Note:

      ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。

    • RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。

  4. それらを使用するすべてのインスタンスで、必要なロールを構成します。

例えば、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

Note:

%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 を持つユーザを作成しますが、フェイルオーバー・ペアのみでこのアクセス権を持ちます。

このミラーの承認を構成する手順は以下のとおりです。

  1. フェイルオーバー・ペアへのフル・アクセス権を提供するために、以下のグループを作成します。

    intersystems-Group-SALESDBMIRFAILOVER-Role-%All

  2. 非同期メンバへのフル・アクセス権を提供するために、以下のグループを作成します。

    intersystems-Group-SALESDBMIRASYNC-Role-%All

  3. フェイルオーバー・ペアの各メンバの LDAP パラメータ [承認インスタンス ID] を SALESDBMIRFAILOVER に設定します。

    Important:

    災害復旧 (DR) 非同期メンバはフェイルオーバー・メンバに昇格することがあるため、DR 非同期メンバの [承認インスタンス ID] も SALESDBMIRFAILOVER に設定する必要があります。

  4. ミラーの非同期メンバの LDAP パラメータ [承認グループ ID] を SALESDBMIRASYNC に設定します。

  5. 次に、アプリケーション・サーバへの %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

  6. 最後に、すべてのメンバ (アプリケーション・サーバ、データベース・サーバ、フェイルオーバー・ペア、および非同期メンバ) への %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 グループを作成できます。これらは、ユニバーサル承認グループと呼ばれます。この種類の承認グループを作成する手順は以下のとおりです。

  1. 現在のインスタンスでユニバーサル承認グループの使用を有効にします。

    1. 管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。

    2. そのページで、編集する構成の名前をクリックして選択すると、その構成を編集するためのページが表示されます。

    3. 構成を編集するためのページで、[ロール、ルーチン、ネームスペースで LDAP グループを使用する] を選択します。

    4. [ユニバーサルグループ承認を許可する] を選択します。

    5. [保存] をクリックします。

  2. LDAP サーバで、必要なインターシステムズの構造に準拠するロール、ネームスペース、およびルーチンのグループを設定します。これらの文字列は大文字と小文字を区別しません。これらのグループ名の形式は以下のとおりです。

    intersystems-Role-RoleName

    intersystems-Routine-RoutineName

    intersystems-Namespace-NamespaceName

    RoleNameRoutineName、および NamespaceName はそれぞれ、ロール、既定のルーチン、または既定のネームスペースの名前です。RoleName には、複数のロールを “^” で区切って含めることができます。例えば、“%All^Admin^Application4” には、“%All” ロール、“Admin” ロール、および “Application4” ロールが含まれます。

    Note:

    ユーザは、任意の数のロールを持つことができます。通常、システムへのアクセスには少なくとも 1 つのロールが必要です。ユーザは、1 つの既定のルーチンおよび 1 つの既定のネームスペースのみを持つことができます。ただし、これらは必須ではないため、ユーザが既定のルーチンや既定のネームスペースを持たなくてもかまいません。

  3. 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

Note:

%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

プロパティの変更手順

これらのプロパティを変更するには、以下の手順を実行します。

  1. 管理ポータルで、[セキュリティ LDAP 構成] ページ ([管理ポータル] > [システム管理] > [セキュリティ] > [システム・セキュリティ] > [LDAP 構成]) に移動します。

  2. 構成を編集するには、構成の名前をクリックします。

  3. このページでは、OrganizationID プロパティを編集できます。[詳細設定] をクリックし、残りのプロパティを表示して編集します。

  4. ページの上部の [保存] をクリックして、変更を保存します。

さまざまな種類のグループの混合

単一インスタンス・ロールまたは複数インスタンス・ロールと組み合わせてユニバーサル・グループを使用できます。

例えば、以下のように仮定します。

  • 複数のインスタンスに、あるアプリケーションがあります。

  • ユニバーサル・グループを使用しています。

  • すべてのインスタンスでアプリケーションを実行できますが、いずれのマシンでも管理者としてアプリケーションを使用することはできない UserOne というユーザが存在します。

UserOne が以下の操作を行えるようにします。

  • 引き続き、すべてのインスタンスでアプリケーションを実行できる

  • さらに、Test という特定のマシン上の APPTEST という特定のインスタンスでアプリケーションを管理できる

これを行うには、以下を実行します。

  1. Test マシン上の APPTEST インスタンスの承認インスタンス ID を Test:APPTEST に設定します。

  2. LDAP サーバで以下のグループを作成します。

    intersystems-Instance-Test_APPTEST-Role-Administrator

  3. LDAP サーバでこのグループを UserOne に割り当てます。

  4. Test マシン上の APPTEST インスタンスで管理者ロールを作成し、管理アクセス権を付与します。

他の方法で承認グループを組み合わせて使用することもできます。例えば、LDAP サーバに対して認証されるすべてのインスタンスで UserTwo が %All 許可を持っている場合、Server10 というマシン上の SECRET というインスタンスで UserTwo に排他管理許可を付与できます。そのためには、[ユニバーサル・グループ・アクセスを許可] を無効にし、intersystems-Instance-Server10_SECRET-Role-Administrator をそのユーザに割り当てるプロセスを実行します。

入れ子になったグループ

Active Directory LDAP サーバで、LDAP グループは入れ子になったグループと呼ばれるものをサポートします。入れ子になったグループは、親グループのメンバであるグループです。つまり、入れ子になったグループのメンバであるユーザはすべて、暗黙的に親グループのメンバでもあります。例えば、ABCDEF と呼ばれる 2 つの LDAP グループが定義されているとします。ABC を、DEF 内の入れ子になったグループにすることができます。つまり、ユーザが ABC のメンバである場合、明示的に DEF グループに割り当てなくても、このグループのメンバになります。

ユーザの入れ子になったグループを検索すると、LDAP サーバ上でセキュリティ・グループとして定義されたグループのみが返されます。入れ子になったグループを使用する場合、InterSystems IRIS システムでロールとして使用するグループはセキュリティ・グループとして作成するようにしてください。

Note:

入れ子になったグループを使用しないシステムでは、セキュリティ・グループとディストリビューション・グループの両方が返されます。

LDAP グループによって InterSystems IRIS へのアクセスが規制される仕組み

ユーザは、LDAP グループを通じて、既定のネームスペースおよび既定のルーチンと共にロールを受け取ります。ユーザに付与されたロールに、インスタンスの必要なアクセス・ポイントに対する十分な特権がない場合、ユーザはそのインスタンスへのアクセスを拒否されます。例えば、既定のルーチンを使用する十分な特権がユーザにない場合、そのユーザはアクセスを拒否されます。

さらに、以下のルールが適用されます。

  • ユーザがロールのグループに割り当てられていても、ユーザがログインしているインスタンスでそのロールが定義されていない場合、ユーザはそのインスタンスではそのロールを持ちません。

  • ユーザが既定のルーチンのグループに割り当てられていても、ユーザがログインしているインスタンスでそのルーチンが定義されていない場合、ユーザはそのインスタンスには接続できません。

  • ユーザが既定のネームスペースのグループに割り当てられていても、ユーザがログインしているインスタンスでそのネームスペースが定義されていない場合、ユーザはそのインスタンスには接続できません。

オペレーティング・システム・ベースの認証と併用する LDAP 承認の構成

トピックは以下のとおりです。

オペレーティング・システム LDAP 認証

InterSystems IRIS では、オペレーティング・システム・ベースの認証をサポートするように構成することで、LDAP 経由の承認を実行できます。これは、オペレーティング・システム LDAP 承認または OS/LDAP と呼ばれます。これにより、ユーザは、オペレーティング・システム・ログインからの認証情報を使用して InterSystems IRIS に対して認証を行った後、LDAP サーバから承認情報を取得することができます。オペレーティング・システム LDAP 承認は、Windows のコンソールと、UNIX®、Linux、および macOS のターミナルで使用できます。

OS/LDAP を構成する手順は以下のとおりです。

  1. InterSystems IRIS インスタンスで OS ベースの認証と LDAP 承認を有効化します。

  2. 標準の LDAP 認証と同様に、インスタンスにログインするために必要なロールを設定します。

  3. %Service_Console および %Service_Terminal サービスで OS/LDAP を有効化します。

  4. 承認を構成します。これは、LDAP 認証に追加する場合と同じ方法で行います。"InterSystems IRIS の LDAP 承認の構成" を参照してください。

  5. 複数のドメインを使用する場合は、オプションで入力要求を簡略化するように OS/LDAP を構成します。

InterSystems IRIS インスタンスでの OS/LDAP の有効化

OS/LDAP を使用するには、まず、インスタンスで OS/LDAP を有効にします。

  1. 管理ポータルのホーム・ページで、[認証/Web セッション・オプション] ページ ([システム管理] > [セキュリティ] > [システム・セキュリティ] > [認証/Web セッション・オプション]) に移動します。

  2. [認証/Web セッション・オプション] ページで、[オペレーティング・システム LDAP 認証を許可] を選択します。

  3. [保存] をクリックすると、変更内容が適用されます。

%Service_Console および %Service_Terminal サービスでの OS/LDAP の有効化

インスタンスの関連サービスまたはアプリケーションで OS/LDAP を有効にする手順は以下のとおりです。

  1. インスタンスで LDAP 認証が有効になっている場合、OS/LDAP をサポートするサービスである %Service_Console および %Service_Terminal[サービス編集] ページに [オペレーティング・システム LDAP 承認] チェック・ボックスが表示されます。

  2. 必要に応じて、それらのサービスで LDAP 認証を有効にします。

単一ドメインおよび複数ドメインによる OS/LDAP

OS/LDAP では、単一ドメインまたは複数ドメインの使用がサポートされています。

1 つのドメインのみをサポートするように InterSystems IRIS が構成されている場合、以下のように動作します。

  1. ユーザは、最初のログイン時にユーザ名とパスワードの入力を求められます。

  2. それ以降のログインについては、オペレーティング・システムによってユーザが既に認証されているため、入力を求められることはありません。

複数のドメインをサポートするように InterSystems IRIS が構成されている場合、以下のように動作します。

  1. ユーザは、最初のログイン時にユーザ名とパスワードの入力を求められます。

  2. それ以降のログインについては、既定では、オペレーティング・システムによってユーザ名とパスワードの入力が求められます。この入力要求が行われないように InterSystems IRIS を構成できます。次のセクションを参照してください。

入力要求を簡略化するための複数ドメインによる OS/LDAP の構成

OS/LDAP と複数のドメインを使用する場合、入力要求を簡略化するようにインスタンスを構成できます。既定では、ユーザはログインのたびにユーザ名とパスワードの入力を求められます。ユーザが最初にログインするときにのみユーザ名/パスワードの入力が求められ、それ以降の接続は入力要求なしで認証されるように InterSystems IRIS を構成できます。

このように動作するように InterSystems IRIS を構成する手順は以下のとおりです。

  1. それぞれのユーザについて、ユーザが認証されるドメインの値を持つ環境変数 ISC_LDAP_CONFIGURATION を作成します。

  2. ユーザが認証される各ドメインについて、以下の手順を実行します。

    1. LDAP 構成があることを確認するか、LDAP 構成を作成します。

    2. その 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 サーバで以下の手順を実行します。

  1. 属性を有効にして使用できるようにします。そのためには、LDAP スキーマの objectClass フィールドで、その値のリストに intersystemsAccount の値を付加してこのフィールドの値を変更します(intersystemsAccount には 1.2.840.113556.1.8000.2448.1.1 という LDAP OID が設定されています)。

  2. このフィールドを (必要なだけ) スキーマに追加します。

  3. LDAP データベースのエントリにそれらの値を生成します。

Note:

登録済みの 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 ファイルに組み込みます。

FeedbackOpens in a new tab