第15章 LDAP グループの同期


dedicated-admin ロールを持つ管理者は、グループを使用して、ユーザーの管理、権限の変更、連携の強化を行うことができます。組織ではユーザーグループをすでに作成し、それらを LDAP サーバーに保存している場合があります。OpenShift Dedicated は、これらの LDAP レコードを内部 OpenShift Dedicated レコードと同期できるため、管理者はグループを 1 カ所で管理できます。OpenShift Dedicated は現在、グループメンバーシップを定義するための 3 つの共通スキーマ (RFC 2307、Active Directory、拡張された Active Directory) を使用したグループと LDAP サーバーの同期をサポートしています。

LDAP の設定の詳細は、LDAP アイデンティティープロバイダーの設定 を参照してください。

注記

グループを同期するには、dedicated-admin 権限が必要です。

15.1. LDAP 同期の設定について

LDAP 同期を実行するには、同期設定ファイルが必要です。このファイルには、以下の LDAP クライアント設定の詳細が含まれます。

  • LDAP サーバーへの接続の設定。
  • LDAP サーバーで使用されるスキーマに依存する同期設定オプション。
  • OpenShift Dedicated のグループ名を LDAP サーバー内のグループにマッピングする、管理者が定義した名前マッピングのリスト。

設定ファイルの形式は、使用するスキーマ (RFC 2307、Active Directory、または拡張 Active Directory) によって異なります。

LDAP クライアント設定
設定の LDAP クライアント設定セクションでは、LDAP サーバーへの接続を定義します。

設定の LDAP クライアント設定セクションでは、LDAP サーバーへの接続を定義します。

LDAP クライアント設定

url: ldap://10.0.0.0:389 1
bindDN: cn=admin,dc=example,dc=com 2
bindPassword: <password> 3
insecure: false 4
ca: my-ldap-ca-bundle.crt 5

1
データベースをホストする LDAP サーバーの接続プロトコル、IP アドレス、および scheme://host:port としてフォーマットされる接続先のポートです。
2
バインド DN として使用する任意の識別名 (DN) です。これは、同期操作のエントリーを取得するために昇格された特権が必要な場合、OpenShift Dedicated で使用されます。
3
バインドに使用する任意のパスワードです。これは、同期操作のエントリーを取得するために昇格された特権が必要な場合、OpenShift Dedicated で使用されます。この値は環境変数、外部ファイル、または暗号化されたファイルでも指定できます。
4
false の場合は、セキュアな LDAP (ldaps://) URL は TLS を使用して接続し、非セキュアな LDAP (ldap://) URL は TLS にアップグレードされます。true の場合、サーバーへの TLS 接続は行われません。ldaps:// URL スキームは使用できません。
5
設定された URL のサーバー証明書を検証するために使用する証明書バンドルです。空の場合、OpenShift Dedicated はシステムで信頼されたルートを使用します。insecurefalse に設定されている場合にのみ、これが適用されます。
LDAP クエリー定義
同期設定は、同期に必要となるエントリーの LDAP クエリー定義で構成されています。LDAP クエリーの特定の定義は、LDAP サーバーにメンバーシップ情報を保存するために使用されるスキーマに依存します。

LDAP クエリー定義

baseDN: ou=users,dc=example,dc=com 1
scope: sub 2
derefAliases: never 3
timeout: 0 4
filter: (objectClass=person) 5
pageSize: 0 6

1
すべての検索が開始されるディレクトリーのブランチの識別名 (DN) です。ディレクトリーツリーの上部を指定する必要がありますが、ディレクトリーのサブツリーを指定することもできます。
2
検索の範囲です。有効な値は baseone、または sub です。これを定義しない場合、sub の範囲が使用されます。範囲オプションは、以下の表で説明されています。
3
LDAP ツリーのエイリアスに関連する検索の動作です。有効な値は neversearchbase、または always です。これを定義しない場合、デフォルトは always となり、エイリアスを逆参照します。逆参照の動作は以下の表で説明されています。
4
クライアントによって検索に許可される時間制限です。0 の値はクライアント側の制限がないことを意味します。
5
有効な LDAP 検索フィルターです。これを定義しない場合、デフォルトは (objectClass=*) になります。
6
LDAP エントリーで測定される、サーバーからの応答ページの任意の最大サイズです。0 に設定すると、応答ページのサイズ制限はなくなります。クライアントまたはサーバーがデフォルトで許可しているエントリー数より多いエントリーをクエリーが返す場合、ページングサイズの設定が必要となります。
表15.1 LDAP 検索範囲オプション
LDAP 検索範囲説明

base

クエリーに対して指定されるベース DN で指定するオブジェクトのみを考慮します。

one

クエリーについてベース DN とツリー内の同じレベルにあるすべてのオブジェクトを考慮します。

sub

クエリーに指定されるベース DN のサブツリー全体を考慮します。

表15.2 LDAP 逆参照動作
逆参照動作説明

never

LDAP ツリーにあるエイリアスを逆参照しません。

search

検索中に見つかったエイリアスのみを逆参照します。

base

ベースオブジェクトを検索中にエイリアスのみを逆参照します。

always

LDAP ツリーにあるすべてのエイリアスを常に逆参照します。

ユーザー定義の名前マッピング
ユーザー定義の名前マッピングは、OpenShift Dedicated グループの名前を、LDAP サーバーでグループを検索する一意の識別子に明示的にマップします。マッピングは通常の YAML 構文を使用します。ユーザー定義のマッピングには LDAP サーバーのすべてのグループのエントリーを含めることも、それらのグループのサブセットのみを含めることもできます。ユーザー定義の名前マッピングを持たないグループが LDAP サーバーにある場合、同期時のデフォルトの動作では、OpenShift Dedicated グループの名前として指定された属性が使用されます。

ユーザー定義の名前マッピング

groupUIDNameMapping:
  "cn=group1,ou=groups,dc=example,dc=com": firstgroup
  "cn=group2,ou=groups,dc=example,dc=com": secondgroup
  "cn=group3,ou=groups,dc=example,dc=com": thirdgroup

15.1.1. RFC 2307 設定ファイルについて

RFC 2307 スキーマでは、ユーザーエントリーとグループエントリーの両方の LDAP クエリー定義と、内部 OpenShift Dedicated レコードでそれらのエントリーを表すのに使用する属性を指定する必要があります。

明確にするために、OpenShift Dedicated で作成するグループでは、ユーザーまたは管理者側のフィールドに識別名以外の属性を可能な限り使用する必要があります。たとえば、OpenShift Dedicated のユーザーをメールアドレスで識別し、グループの名前を一般名として使用します。以下の設定ファイルでは、このような関係を作成しています。

注記

ユーザー定義名のマッピングを使用する場合は、設定ファイルが異なります。

RFC 2307 スキーマを使用する LDAP 同期設定: rfc2307_config.yaml

kind: LDAPSyncConfig
apiVersion: v1
url: ldap://LDAP_SERVICE_IP:389 1
insecure: false 2
bindDN: cn=admin,dc=example,dc=com
bindPassword:
  file: "/etc/secrets/bindPassword"
rfc2307:
    groupsQuery:
        baseDN: "ou=groups,dc=example,dc=com"
        scope: sub
        derefAliases: never
        pageSize: 0
    groupUIDAttribute: dn 3
    groupNameAttributes: [ cn ] 4
    groupMembershipAttributes: [ member ] 5
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
        pageSize: 0
    userUIDAttribute: dn 6
    userNameAttributes: [ mail ] 7
    tolerateMemberNotFoundErrors: false
    tolerateMemberOutOfScopeErrors: false

1
このグループのレコードが保存される LDAP サーバーの IP アドレスとホストです。
2
false の場合は、セキュアな LDAP (ldaps://) URL は TLS を使用して接続し、非セキュアな LDAP (ldap://) URL は TLS にアップグレードされます。true の場合、サーバーへの TLS 接続は行われません。ldaps:// URL スキームは使用できません。
3
LDAP サーバーのグループを一意に識別する属性です。groupUIDAttribute に DN を使用している場合は、groupsQuery フィルターを指定できません。詳細なフィルターを実行するには、ホワイトリスト/ブラックリストの方法を使用します。
4
グループの名前として使用する属性。
5
メンバーシップ情報を保存するグループの属性です。
6
LDAP サーバーでユーザーを一意に識別する属性です。userUIDAttribute に DN を使用している場合は、usersQuery フィルターを指定できません。詳細なフィルターを実行するには、ホワイトリスト/ブラックリストの方法を使用します。
7
OpenShift Dedicated グループレコードでユーザーの名前として使用する属性。

15.1.2. Active Directory 設定ファイルについて

Active Directory スキーマでは、ユーザーエントリーの LDAP クエリー定義と、内部 OpenShift Dedicated グループレコードでそれらのエントリーを表すのに使用する属性を指定する必要があります。

明確にするために、OpenShift Dedicated で作成するグループでは、ユーザーまたは管理者側のフィールドに識別名以外の属性を可能な限り使用する必要があります。たとえば、OpenShift Dedicated グループのユーザーをメールアドレスで識別し、グループ名を LDAP サーバーのグループ名で定義します。以下の設定ファイルでは、このような関係を作成しています。

Active Directory スキーマを使用する LDAP 同期設定: active_directory_config.yaml

kind: LDAPSyncConfig
apiVersion: v1
url: ldap://LDAP_SERVICE_IP:389
activeDirectory:
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
        filter: (objectclass=person)
        pageSize: 0
    userNameAttributes: [ mail ] 1
    groupMembershipAttributes: [ memberOf ] 2

1
OpenShift Dedicated グループレコードでユーザーの名前として使用する属性。
2
メンバーシップ情報を保存するユーザーの属性です。

15.1.3. 拡張された Active Directory 設定ファイルについて

拡張された Active Directory スキーマでは、ユーザーエントリーとグループエントリーの両方の LDAP クエリー定義と、内部 OpenShift Dedicated グループレコードでそれらのエントリーを表すのに使用する属性を指定する必要があります。

明確にするために、OpenShift Dedicated で作成するグループでは、ユーザーまたは管理者側のフィールドに識別名以外の属性を可能な限り使用する必要があります。たとえば、OpenShift Dedicated のユーザーをメールアドレスで識別し、グループの名前を一般名として使用します。以下の設定ファイルではこのような関係を作成しています。

拡張された Active Directory スキーマを使用する LDAP 同期設定: augmented_active_directory_config.yaml

kind: LDAPSyncConfig
apiVersion: v1
url: ldap://LDAP_SERVICE_IP:389
augmentedActiveDirectory:
    groupsQuery:
        baseDN: "ou=groups,dc=example,dc=com"
        scope: sub
        derefAliases: never
        pageSize: 0
    groupUIDAttribute: dn 1
    groupNameAttributes: [ cn ] 2
    usersQuery:
        baseDN: "ou=users,dc=example,dc=com"
        scope: sub
        derefAliases: never
        filter: (objectclass=person)
        pageSize: 0
    userNameAttributes: [ mail ] 3
    groupMembershipAttributes: [ memberOf ] 4

1
LDAP サーバーのグループを一意に識別する属性です。groupUIDAttribute に DN を使用している場合は groupsQuery フィルターを指定できません。詳細なフィルターを実行するには、ホワイトリスト/ブラックリストの方法を使用します。
2
グループの名前として使用する属性。
3
OpenShift Dedicated グループレコードでユーザーの名前として使用する属性。
4
メンバーシップ情報を保存するユーザーの属性です。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.