第13章 アイデンティティー: NIS ドメインおよびネットグループとの統合
ネットワーク情報サービス (NIS) は、Unix ネットワーク上の ID および認証を管理する最も一般的な方法の 1 つです。使いやすくシンプルではありますが、セキュリティーリスクがあり、柔軟性に欠けるため、NIS ドメインの管理しにくくなる可能性があります。
ID 管理では、netgroup およびその他の NIS データを IdM ドメインに統合する方法を提供します。IdM ドメインには、NIS 設定に比べ、IdM の強力なセキュリティー構造が組み込まれています。または、管理者が単に、ユーザーとホストの ID を NIS ドメインから IdM ドメインに移行することもできます。
13.1. NIS および Identity Management の概要
ネットワーク情報サービス (NIS) は、ユーザーおよびパスワード、ホストと IP アドレス、POSIX グループなどの認証およびアイデンティティー情報を一元管理します。これは、ID と認証ルックアップだけに焦点を当てていたため、イエローページ (略称 YP) と呼ばれていました。
NIS にはホスト認証のメカニズムがなく、ネットワークに、パスワードハッシュなど、暗号化されていない情報を流すので、NIS は最新のネットワーク環境の多くで安全性が低いとみなされます。管理者には NIS は人気がありませんが、システムクライアントの多くで活発に使用されています。上記のような安全性の低さを回避する方法があります。その方法として、NIS を他のプロトコルと統合して、セキュリティーを強化します。
Identity Management では、NIS オブジェクトは基礎となる LDAP ディレクトリーを使用して IdM に統合されます。LDAP サービス (RFC 2307 で定義) は、NIS オブジェクトのサポートを提供します。Identity Management はこの NIS オブジェクトをカスタマイズして、他のドメイン ID との統合が改善されるようにします。NIS オブジェクトは LDAP サービス内に作成され、
nss_ldap
や SSSD などのモジュールが、暗号化された LDAP 接続を使用してオブジェクトを取得します。
NIS エンティティーは netgroup に保存されます。netgroup では、標準の UNIX グループでサポートされない、ネスト化 (グループ内のグループ) が可能です。また、netgroup には、Unix グループにないホストをグループ化する方法をあります。
NIS グループは、ユーザーとホストを大規模なドメインのメンバーとして定義することで機能します。netgroup は、3 つの情報 (ホスト、ユーザー、ドメイン) を設定します。これは トリプル と呼ばれます。
host,user,domainnetgroup トリプルは、ユーザーまたはホストをドメインに関連付けますが、ユーザーとホスト間での関連付けはありません。したがって、通常トリプルでは、明確性および管理性を向上するためにホストまたはユーザーを定義します。
host.example.com,,nisdomain.example.com -,jsmith,nisdomain.example.com
NIS は netgroup データを配信するだけではありません。ユーザーとパスワード、グループ、ネットワークデータ、およびホストに関する情報も保管します。Identity Management は NIS リスナーを使用してパスワード、グループ、および netgroups を IdM エントリーにマッピングできます。
IdM LDAP エントリーでは、netgroup のユーザーは単一のユーザーまたはグループで、いずれも
memberUser
パラメーターで識別されます。同様に、ホストは単一ホストまたはホストグループのいずれかになります。これらは memberHost
属性で識別されます。
dn: ipaUniqueID=d4453480-cc53-11dd-ad8b-0800200c9a66,cn=ng,cn=accounts,... objectclass: top objectclass: ipaAssociation objectclass: ipaNISNetgroup ipaUniqueID: d4453480-cc53-11dd-ad8b-0800200c9a66 cn: netgroup1 memberHost: fqdn=host1.example.com,cn=computers,cn=accounts,... memberHost: cn=VirtGuests,cn=hostgroups,cn=accounts,... memberUser: cn=jsmith,cn=users,cn=accounts,... memberUser: cn=bjensen,cn=users,cn=accounts,... memberUser: cn=Engineering,cn=groups,cn=accounts,... nisDomainName: nisdomain.example.com
Identity Management では、これらの netgroup エントリーは netgroup-* コマンドを使用して処理され、基本的な LDAP エントリーが表示されます。
# ipa netgroup-show netgroup1 Netgroup name: netgroup1 Description: my netgroup NIS domain name: nisdomain Member User: jsmith Member User: bjensen Member User: Engineering Member Host: host1.example.com Member Host: VirtGuests
Identity Management は、クライアントが NIS netgroup にアクセスしようとすると、LDAP エントリーを従来の NIS マップに変換して NIS プロトコル経由でクライアントに送信するか (NIS プラグインを使用)、または RFC 2307 または RFC 2307bis に準拠する LDAP 形式に変換します。