Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
Windows 統合ガイド
Active Directory 環境との Linux システムの統合
概要
『Linux ドメイン ID、認証、およびポリシーガイド』 には、Linux ベースのドメインで ID ストアと認証および承認ポリシーを管理する集中化され統一された方法を提供するソリューションである Red Hat Identity Management が記載されています。
『システムレベルの認証ガイド』 では、authconfig
ユーティリティー、System Security Services Daemon (SSSD) サービス、Pluggable Authentication Module(PAM) フレームワーク、Kerberos、certmonger
ユーティリティー、およびアプリケーションのシングルサインオン (SSO) など、ローカルシステムにおける認証の設定に使用できるアプリケーションおよびサービスについて説明します。
第1章 Active Directory と Linux 環境を統合する方法
1.1. Windows 統合の定義
ユーザー ID および認証
- ユーザーアカウントの場所: Windows (AD ドメイン) で実行している中央認証システムまたは Linux で実行している中央 ID および認証サーバー
- Linux システムで認証する方法: ローカルの Linux 認証システムまたは Windows で実行している中央認証システム経由
- グループメンバーシップはユーザーに対してどのように設定されていますか。そのグループメンバーシップはどのように決定されますか。
- ユーザーは、ユーザー名/パスワードのペア、Kerberos チケット、証明書、またはメソッドの組み合わせを使用して認証しますか。
- Linux マシンのサービスにアクセスするには、POSIX 属性が必要です。これらの属性の保存方法: Windows ドメインに設定、Linux システムにローカルに設定、または動的にマップされますか (UID/GID 番号および Windows SID の場合)。
- どのユーザーにどのリソースにアクセスしますか。Windows が定義するユーザーは Linux リソースにアクセスしますか。Linux 定義のユーザーは Windows リソースにアクセスしますか。
ホストおよびサービスプリンシパル
- アクセスするリソース
- 必要な認証プロトコル
- Kerberos チケットの取得方法SSL 証明書をリクエストまたは検証する方法
- ユーザーは 1 つのドメイン、または Linux ドメインと Windows ドメインの両方にアクセスする必要があるか
DNS ドメイン、クエリー、および名前解決
- DNS 設定の対象
- DNS ドメインが 1 つ必要ですか。サブドメインは存在しますか。
- システムのホスト名が解決される方法
- サービス検出の設定方法
セキュリティーポリシー
- アクセス制御命令はどこに設定されているか
- 各ドメインにどの管理者が設定されているか
管理の変更
- システムがドメインに追加される頻度
- たとえば、Windows 統合に関連する基礎となる設定が変更された (DNS サービスなど) 場合に、これらの変更が伝播される方法
- ドメイン関連のツールやプロビジョニングシステムで維持される設定
- 統合パスには Windows サーバーで追加のアプリケーションまたは設定が必要か
1.2. 直接的な統合
- ネイティブ LDAP、Kerberos PAM、および NSS モジュール
- これらのモジュールには、
nss_ldap
、pam_ldap
、およびpam_krb5
があります。PAM モジュールおよび NSS モジュールはすべてのアプリケーションプロセスに読み込まれるため、実行環境に直接影響を及ぼします。キャッシュやオフラインサポート、またはアクセス認証情報の保護が十分でない場合、NSS および PAM に基本的な LDAP モジュールおよび Kerberos モジュールの使用は、一部の機能により推奨されません。 - Samba Winbind
- Samba Winbind は、Linux システムを AD に接続する従来の方法でした。winbind は、Linux システムで Windows クライアントをエミュレートし、AD サーバーと通信できます。以下の点に留意してください。
- Samba をドメインメンバーとして設定する場合は、Winbind サービスが実行している必要があります。
- マルチフォレストの AD 設定における Winbind との直接統合は、双方向の信頼が必要になります。
idmap_ad
プラグインがリモートフォレストユーザーを正常に処理するには、リモートフォレストがローカルフォレストを信頼する必要があります。
- System Security Services Daemon (SSSD)
- SSSD の主な機能は、システムにキャッシュおよびオフラインサポートを提供する共通のフレームワークを介してリモートアイデンティティーおよび認証リソースにアクセスすることです。SSSD は高度な設定が可能で、ローカルユーザーを保存する PAM および NSS 統合およびデータベースと、中央サーバーから取得したコアユーザーおよび拡張ユーザーのデータを提供します。SSSD は、Linux システムを任意の ID サーバーに接続するのに推奨されるコンポーネントです。Red Hat Enterprise Linux の Active Directory、Identity Management (IdM)、または汎用の LDAP または Kerberos サーバーです。以下の点に留意してください。
- SSSD との直接統合は、デフォルトで 1 つの AD フォレスト内でのみ機能します。
idmap_ad
プラグインがリモートフォレストユーザーを正常に処理するには、リモートフォレストがローカルフォレストを信頼する必要があります。
realmd
サービスを使用することです。これにより、呼び出し元はネットワーク認証およびドメインメンバーシップを標準的な方法で設定できます。realmd
サービスは、アクセス可能なドメインおよびレルムに関する情報を自動的に検出し、ドメインまたはレルムに参加するのに高度な設定を必要としません。
1.2.1. 直接統合でサポートされる Windows プラットフォーム
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
1.3. 間接的な統合
- 信頼ベースのソリューション
- 推奨のアプローチとして、Red Hat Enterprise Linux で Identity Management (IdM) を中央サーバーとして利用して Linux システムを制御し、AD でレルム間の Kerberos 信頼を確立し、AD からユーザーがログオンしてシングルサインオンを使用して、Linux システムおよびリソースにアクセスするのが推奨される方法です。このソリューションでは、Kerberos 機能を使用して、異なる ID ソース間で信頼関係を確立します。IdM は、それ自体を別のフォレストとして AD に提示し、AD で対応しているフォレストレベルの信頼を利用します。複雑な環境では、1 つの IdM フォレストを、複数の AD フォレストに接続できます。この設定により、組織のさまざまな機能の作業を、より適切に分離できます。Linux 管理者は Linux インフラストラクチャーを完全に制御できますが、AD 管理者はユーザーと、ユーザーに関連するポリシーに集中できます。このような場合、IdM が制御する Linux レルムは、AD リソースドメインまたはレルムに似ていますが、Linux システムが含まれています。注記Windows では、すべてのドメインが Kerberos レルムと DNS ドメインを同時に設定します。ドメインコントローラーが管理するすべてのドメインには、独自の専用 DNS ゾーンが必要です。IdM がフォレストとして AD に信頼される場合も同様です。AD は、IdM に独自の DNS ドメインがあることを想定します。信頼の設定を機能させるには、DNS ドメインを Linux 環境専用にする必要があります。信頼環境では、IdM は ID ビュー を使用して、IdM サーバーの AD ユーザーの POSIX 属性を設定できることに注意してください。詳細は、次を参照してください。
- 『システムレベルの認証ガイド』 の SSSD クライアント側のビュー
- 同期ベースのソリューション
- 信頼ベースのソリューションの代わりとして、IdM または Red Hat Directory Server (RHDS) で使用可能なユーザー同期機能を利用することです。これにより、ユーザーアカウント (および RHDS ではグループアカウントも) を AD から IdM または RHDS と同期できますが、逆方向にはなりません。ユーザー同期には、以下を含む特定の制限があります。
- ユーザーの重複
- AD ドメインのすべてのドメインコントローラーに特別なコンポーネントが必要なパスワードを同期する必要があります。
- パスワードを取得できるようにするには、まずユーザーを手動で変更する必要があります。
- 同期が 1 つのドメインのみに対応
- IdM 、または RHDS の 1 つのインスタンスへのデータ同期には、AD のドメインコントローラーを 1 つだけ使用できます。
パート I. Active Directory ドメインへの Linux システムを 1 つ追加
SSSD
) が Active Directory (AD
) ドメインと連携する方法、realmd
システムを使用して直接ドメイン統合を実現する方法、最後に AD
統合に Samba
を使用する方法について説明します。
第2章 Active Directory を SSSD のアイデンティティープロバイダーとして使用
2.1. AD プロバイダーが信頼されるドメインを処理する方法
/etc/sssd/sssd.conf
ファイルで id_provider = ad を設定すると、SSSD が信頼されるドメインを処理する方法を説明します。
- SSSD は、1 つの Active Directory フォレストのドメインのみをサポートします。SSSD が複数のフォレストから複数のドメインにアクセスする必要がある場合は、SSSD の代わりに信頼 (推奨) または
winbindd
サービスで IdM を使用することを検討してください。 - デフォルトでは、SSSD はフォレスト内のすべてのドメインを検出し、信頼されるドメイン内のオブジェクトの要求が到達すると、SSSD はこれを解決しようとします。信頼できるドメインに到達できない、または地理的に離れているために遅くなる場合は、
/etc/sssd/sssd.conf
にad_enabled_domains
パラメーターを設定して、どの信頼ドメインから SSSD がオブジェクトを解決するかを制限できます。 - デフォルトでは、完全修飾ユーザー名を使用して信頼されるドメインのユーザーを解決する必要があります。
2.2. SSSD 向けの AD プロバイダーの設定
2.2.1. 統合オプションの概要
- Linux では、ユーザー ID (UID) と グループ ID (GID) が使用されます。『システム管理者ガイド』 の ユーザーおよびグループの管理 を参照してください。Linux の UID および GID は、POSIX 標準に準拠します。
- Windows は、セキュリティー ID (SID) を使用します。
- AD ユーザー用に新規 UID および GID を自動的に生成
- SSSD は、AD ユーザーの SID を使用して、ID マッピング と呼ばれるプロセスにおいてアルゴリズムで POSIX ID を生成できます。ID マッピングは、AD の SID と Linux の ID との間にマップを作成します。
- SSSD が新しい AD ドメインを検出すると、利用可能な ID の範囲を新しいドメインに割り当てます。したがって、各 AD ドメインは、すべての SSSD クライアントマシンで同じ ID 範囲を持ちます。
- AD ユーザーが SSSD クライアントマシンに初めてログインすると、SSSD は、ユーザーの SID およびそのドメインの ID 範囲を基にした UID など、SSSD キャッシュにユーザーのエントリーを作成します。
- AD ユーザーの ID は、同じ SID から一貫した方法で生成されるため、Red Hat Enterprise Linux システムにログインする場合は、そのユーザーに同じ UID と GID が使用されます。
「SSSD のプロバイダーとして ID マッピングを使用した AD ドメインの設定」 を参照してください。注記全クライアントシステムが SSSD を使用して SID を Linux ID にマッピングすると、マッピングは一貫性を維持します。一部のクライアントが別のソフトウェアを使用する場合は、以下のいずれかを選択します。- すべてのクライアントで同じマッピングアルゴリズムが使用されていることを確認します。
- AD で定義されている POSIX 属性の使用 で説明されているように、明示的な POSIX 属性を使用します。
- AD で定義されている POSIX 属性の使用
- AD は、
uidNumber
、gidNumber
、unixHomeDirectory
、loginShell
などの POSIX 属性を作成して保存できます。AD ユーザー用に新規 UID および GID を自動的に生成 で説明した ID マッピングを使用すると、SSSD は新しい UID と GID を作成し、AD で定義された値を上書きします。AD 定義の値を維持するには、SSSD で ID マッピングを無効にする必要があります。「AD で定義された POSIX 属性を定義するように SSSD の設定」 を参照してください。
2.2.2. SSSD のプロバイダーとして ID マッピングを使用した AD ドメインの設定
前提条件
- 名前解決の設定を確認します。特に、DNS SRV レコードを確認します。たとえば、
ad.example.com
ドメインの場合は、次のコマンドを実行します。- DNS SRV LDAP レコードを確認するには、次のコマンドを実行します。
# dig -t SRV _ldap._tcp.ad.example.com
- AD レコードを確認するには、次のコマンドを実行します。
# dig -t SRV _ldap._tcp.dc._msdcs.ad.example.com
後で SSSD を特定の AD ドメインコントローラーに接続する場合は、DNS SRV レコードを検証する必要はありません。 - 両方のシステムのシステム時刻が同期していることを確認します。これにより、Kerberos が正常に機能できるようになります。
- AD ドメインコントローラーの以下のポートが開いており、RHEL ホストからアクセス可能であることを確認します。
表2.1 SSSD を使用した Linux システムの AD への直接統合に必要なポート
サービス ポート プロトコル 備考 DNS 53 UDP および TCP LDAP 389 UDP および TCP Kerberos 88 UDP および TCP Kerberos 464 UDP および TCP パスワードを設定または変更するために、kadmin により使用されます。 LDAP グローバルカタログ 3268 TCP id_provider = ad
オプションが使用されている場合NTP 123 UDP オプション Samba 445 UDP および TCP AD グループポリシーオブジェクト (GPO) の場合
ローカルシステムの設定
realmd
を使用した Active Directory ドメインへの接続 を参照してください。realmd
スイートは、必要な設定ファイルをすべて自動的に編集します。以下に例を示します。
# realm join ad.example.com
realmd
を使用しない場合は、システムを手動で設定できます。Red Hat ナレッジベースのManually Connecting an SSSD Client to an Active Directory Domainを参照してください。
オプション: ユーザーホームディレクトリーおよびシェルの設定
pam_oddjob_mkhomedir.so
ライブラリーは、ユーザーが Linux システムを最初にログインする際にホームディレクトリーを自動的に作成します。デフォルトでは、SSSD は AD アイデンティティープロバイダーからホームディレクトリーの形式を取得します。Linux クライアントのディレクトリー形式をカスタマイズするには、以下を実行します。
/etc/sssd/sssd.conf
ファイルを開きます。[domain]
セクションで、以下のいずれかのオプションを使用します。fallback_homedir
は、ホームディレクトリーが AD で定義されていない場合のみ使用されるフォールバックホームディレクトリー形式を設定します。override_homedir
は、AD で定義されたホームディレクトリーを常に上書きするホームディレクトリーテンプレートを設定します。
たとえば、常に/home/domain_name/user_name
の形式を使用する場合は、次を使用します。[domain/EXAMPLE] [... file truncated ...]
override_homedir = /home/%d/%u
詳細は sssd.conf(5) の man ページを参照してください。
loginShell
パラメーターからユーザーシェルの情報を取得します。Linux クライアントでユーザーシェル設定をカスタマイズするには、以下を実行します。
/etc/sssd/sssd.conf
ファイルを開きます。- 次のオプションを使用して、必要なユーザーシェル設定を定義します。
shell_fallback
はフォールバック値を設定します。これは、AD でシェルが定義されていない場合にのみ使用されます。override_shell
は、AD で定義されたシェルを常にオーバーライドする値を設定しますdefault_shell
はデフォルトのシェル値を設定しますallowed_shells
およびvetoed_shells
は、許可されたシェルまたはブラックリストに登録されたシェルのリストを設定します
詳細は sssd.conf(5) の man ページを参照してください。
新しい設定を読み込みします。
- 設定ファイルの変更後に SSSD を再起動します。
# systemctl restart sssd.service
関連情報
- LDAP および Kerberos プロバイダーのその他の設定オプションについては、sssd-ldap(5) および sssd-krb5(5) の man ページを参照してください。
- AD プロバイダーのその他の設定オプションは、sssd-ad(5) の man ページを参照してください。
2.2.3. AD で定義された POSIX 属性を定義するように SSSD の設定
推奨事項
Linux システムの AD ドメインへの参加
SSSD で ID マッピングを無効化
/etc/sssd/sssd.conf
ファイルを開きます。- AD ドメインセクションで、
ldap_id_mapping = false
設定を追加します。注記realm
ユーティリティーを使用してドメインに参加し、--automatic-id-mapping=no
スイッチを追加すると、realm
ユーティリティーがldap_id_mapping = false
で SSSD を設定しています。 - デフォルト ID マッピング設定を持つユーザーを要求する場合は、SSSD キャッシュを削除します。
rm -f /var/lib/sss/db/*
関連情報
ldap_id_mapping
パラメーターの詳細は、sssd-ldap(8)man ページを参照してください。
2.3. Kerberos ホストの自動キータブの更新
- 以下のパラメーターを
/etc/sssd/sssd.conf
ファイルの AD プロバイダーに追加します。ad_maximum_machine_account_password_age = value_in_days
- SSSD を再起動します。
# systemctl restart sssd
ad_maximum_machine_account_password_age = 0
を設定します。
2.4. ダイナミック DNS 更新の有効化
- アイデンティティープロバイダーがオンラインになる (常に)
- Linux システムの再起動時 (常に)
- 指定した間隔 (任意の設定) では、デフォルトで、AD プロバイダーは 24 時間ごとに DNS レコードを更新します。この動作は、DHCP リースと同じ間隔に設定できます。この場合、Linux クライアントはリースの更新後に更新されます。
[domain/ad.example.com] id_provider = ad auth_provider = ad chpass_provider = ad access_provider = ad ldap_schema = addyndns_update = true
dyndns_refresh_interval = 43200
dyndns_update_ptr = true
dyndns_ttl = 3600
2.5. SSSD での Range Retrieval Search の使用
2.6. グループポリシーオブジェクトアクセス制御
2.6.1. GPO アクセス制御を使用した SSSD の仕組み
2.6.2. SSSD がサポートする GPO 設定
表2.2 SSSD が取得した GPO アクセス制御オプション
GPO オプション [a] | 対応する sssd.conf オプション [b] |
---|---|
ローカルでのログオンの許可
ローカルでのログオン拒否
| ad_gpo_map_interactive |
リモートデスクトップサービスを介したログオンの許可
リモートデスクトップサービスを介したログオンの拒否
| ad_gpo_map_remote_interactive |
ネットワークからこのコンピューターへのアクセス
ネットワークからこのコンピューターへのアクセスを拒否
| ad_gpo_map_network |
バッチジョブとしてのログオンの許可
バッチジョブとしてのログオンの拒否
| ad_gpo_map_batch |
サービスとしてのログオンの許可
サービスとしてのログオンの拒否
| ad_gpo_map_service |
[a]
Windows の Group Policy Management Editor に指定されているとおりです。
[b]
このオプションの詳細と、GPO オプションがデフォルトでマッピングされるプラグ可能な認証モジュール (PAM) サービスの一覧は、sssd-ad(5) の man ページを参照してください。
|
2.6.3. SSSD の GPO ベースのアクセス制御の設定
/etc/sssd/sssd.conf
ファイルで設定できます。ad_gpo_access_control
オプションは、GPO ベースのアクセス制御を実行するモードを指定します。以下の値を使用できます。
ad_gpo_access_control = permissive
permissive
の場合は、GPO ベースのアクセス制御は評価されますが、強制されません。syslog
メッセージは、アクセスが拒否される度に復元されます。これはデフォルト設定です。ad_gpo_access_control = enforcing
enforcing
の場合は、GPO ベースのアクセス制御は評価され、強制されます。ad_gpo_access_control = disabled
disabled
の場合は、GPO ベースのアクセス制御は評価も強制もされません。
ad_gpo_access_control
を強制モードに設定する前に、ad_gpo_access_control
が許可モードに設定されていることを確認し、ログを調べることをお勧めします。syslog
メッセージを見直すことで現行の GPO 設定をテスト、調節してからその後で enforcing モードに設定することができます。
sssd.conf
ファイルで指定することができます。
ad_gpo_map_*
オプションとad_gpo_default_right
オプションは、どの PAM サービスが特定の Windows ログオン権限にマップされるかを設定します。PAM サービスを、特定の GPO 設定にマッピングされた PAM サービスのデフォルトリストに追加するか、一覧からサービスを削除するには、ad_gpo_map_*
オプションを使用します。たとえば、インタラクティブなログインにマッピングされた PAM サービスの一覧からsu
サービスを削除する (GPO 設定のローカルでのログオンの許可、およびローカルでのログオンの拒否) には、以下を行います。ad_gpo_map_interactive = -su
ad_gpo_cache_timeout
オプションは、後続のアクセス制御要求が DC から新たにファイルを取得するのではなく、キャッシュに保存されたファイルを再利用できる間隔を指定します。
2.6.4. 関連情報
- GPO と連携する SSSD の設定に関する詳細は、Red Hat ナレッジベースのConfigure SSSD to respect Active Directory SSH or Console/GUI GPOsを参照してください。
2.7. SSSD を使用したユーザープライベートグループの自動作成
2.7.1. AD ユーザー用のユーザープライベートグループの自動作成のアクティブ化
/etc/sssd/sssd.conf
ファイルを編集し、[domain/LDAP]
セクションに追加します。auto_private_groups = true
- sssd サービスを再起動して、sssd データベースを削除します。
# service sssd stop ; rm -rf /var/lib/sss/db/* ; service sssd start
# id ad_user1 uid=121298(ad_user1) gid=121298(ad_user1) groups=121298(ad_user1),10000(Group1) # id ad_user2 uid=121299(ad_user2) gid=121299(ad_user2) groups=121299(ad_user2),10000(Group1)
2.7.2. AD ユーザー用のユーザープライベートグループの自動作成の無効化
/etc/sssd/sssd.conf
ファイルを編集し、[domain/LDAP]
セクションに追加します。auto_private_groups = false
- sssd サービスを再起動して、sssd データベースを削除します。
# service sssd stop ; rm -rf /var/lib/sss/db/* ; service sssd start
# id ad_user1 uid=121298(ad_user1) gid=10000(group1) groups=10000(Group1) # id ad_user2 uid=121299(ad_user2) gid=10000(group1) groups=10000(Group1)
2.8. SSSD クライアントおよび Active Directory DNS サイトの自動検出
- SSSD は、AD フォレストの DNS サーバーから SRV レコードをクエリーします。返されたレコードには、フォレストに DC の名前が含まれます。
- SSSD は、これらの各 DC に LDAP ping を送信します。DC が設定された間隔内に応答しない場合、要求はタイムアウトになり、SSSD は LDAP ping を次の要求に送信します。接続に成功すると、応答には SSSD クライアントが属する AD サイトに関する情報が含まれます。
- SSSD は DNS サーバーから SRV レコードをクエリーし、所属するサイト内の DC を見つけ、それらのいずれかに接続します。
/etc/ssd/ssd.conf
ファイルの domain セクションで ad_site
オプションを使用して、クライアントの接続先である AD サイトを指定します。
関連情報
ad_site の
詳細は、sssd-ad(5) man ページを参照してください。- Identity Management と Active Directory との間の信頼がある環境では、「Identity Management または SSSD を、信頼された Active Directory ドメインの中から選択された Active Directory サーバーやサイトに制限する手順」 を参照してください。
2.9. SSSD のトラブルシューティング
第3章 realmd
を使用した Active Directory ドメインへの接続
realmd
システムは、直接ドメインを統合するために ID ドメインを検出および参加するための明確で簡単な方法を提供します。SSSD や Winbind などの基礎となる Linux システムサービスを設定し、ドメインに接続します。
realmd
システムは、その設定を簡素化します。検出検索を実行して、利用可能な AD ドメインおよび Identity Management ドメインを特定し、システムをドメインに参加させ、指定のアイデンティティードメインへの接続およびユーザーアクセスを管理するのに使用するクライアントサービスを設定できます。また、基礎となるサービスの SSSD が複数のドメインをサポートするため、realmd
は複数のドメインを検出およびサポートすることもできます。
3.1. サポートされるドメインタイプおよびクライアント
realmd
システムは、以下のドメインタイプをサポートします。
- Microsoft Active Directory
- Red Hat Enterprise Linux Identity Management
realmd
では、以下のドメインクライアントがサポートされます。
- Red Hat Enterprise Linux Identity Management および Microsoft Active Directory の両方の SSSD
- Microsoft Active Directory の場合は winbind
3.2. realmd
を使用するための前提条件
realmd
システムを使用するには、realmd パッケージをインストールします。
# yum install realmd
realmd
を使用してシステムを管理するために必要です。
realmd
を使用してインストールするパッケージを探すことができます。
3.3. realmd
コマンド
realmd
システムの主要なタスク領域は、以下の 2 つになります。
- ドメインでのシステム登録の管理
- ローカルシステムリソースへのアクセスが許可されるドメインユーザーの設定
realmd
において中心となるユーティリティーは realm
と呼ばれます。ほとんどの realm
コマンドでは、ユーティリティーが実行するアクションと、アクションを実行するドメインやユーザーアカウントなどのエンティティーを指定する必要があります。
realm command arguments
realm join ad.example.com realm permit user_name
表3.1 realmd コマンド
コマンド | 説明 |
---|---|
レルムコマンド | |
discover | ネットワーク上にあるドメインの検出スキャンを実行します。 |
join | 指定したドメインにシステムを追加します。 |
leave | 指定したドメインからシステムを削除します。 |
list | システムに設定したすべてのドメイン、または検出され設定されているすべてのドメインを表示します。 |
ログインコマンド | |
permit | 設定されているドメイン内の特定のユーザーまたはすべてのユーザーによるローカルシステムへのアクセスを有効にします。 |
deny | 設定されているドメイン内の特定のユーザーまたはすべてのユーザーがローカルシステムにアクセスするのを制限します。 |
3.4. Identity ドメインの検出および参加
- 指定されたドメインの検出スキャンの実行
- システムをドメインに参加させるのに必要なパッケージの自動インストールこれには、SSSD および PAM ホームディレクトリーのジョブパッケージが含まれます。パッケージの自動インストールには、
PackageKit
スイートを実行する必要があることに注意してください。注記PackageKit
が無効になっていると、システムは足りないパッケージの入力を求められます。また、yum
ユーティリティーを使用して手動でインストールする必要があります。 - ディレクトリーにシステムのアカウントエントリーを作成してドメインに参加させる。
- ホストキータブファイル
/etc/krb5.keytab
の作成 - SSSD でドメインを設定して、サービスを再起動します。
- PAM 設定および
/etc/nsswitch.conf
ファイルで、システムサービスのドメインユーザーの有効化
ドメインの検出
# realm discover ad.example.com type: kerberos realm-name: AD.EXAMPLE.COM domain-name: ad.example.com configured: no server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common
# realm discover ad.example.com
realmd
システムは DNS SRV ルックアップを使用して、このドメイン内のドメインコントローラーを自動的に検索します。
realmd
システムは、Active Directory ドメインと Identity Management ドメインの両方を検出できます。両方のドメインが環境に存在する場合は、特定タイプのサーバーに検出結果を絞り込むには --server-software
オプションを使用します。以下に例を示します。
# realm discover --server-software=active-directory
login-policy
で、参加が完了するとすぐにドメインユーザーがログインできるかどうかを示します。ログインがデフォルトで許可されていない場合は、realm permit コマンドを使用すると手動で許可できます。詳細は 「ドメインユーザーのログインパーミッションの管理」 を参照してください。
ドメインの参加
# realm join ad.example.com realm: Joined ad.example.com domain
Administrator
と呼ばれ、IdM の場合は admin
と呼ばれます。別のユーザーとして接続するには、-U
オプションを使用します。
# realm join ad.example.com -U user
-U
オプションを使用します。
# kinit user # realm join ad.example.com -U user
例3.1 システムをドメインに登録する手順の例
- realm discover コマンドを実行して、ドメインに関する情報を表示します。
# realm discover ad.example.com ad.example.com type: kerberos realm-name: AD.EXAMPLE.COM domain-name: ad.example.com configured: no server-software: active-directory client-software: sssd
- realm join コマンドを実行し、ドメイン名をコマンドに渡します。システムから要求された場合は、管理者パスワードを入力します。
# realm join ad.example.com Password for Administrator: password
realmd
は DNS SRV レコードを確認します。
- Identity Management レコードの場合は
_ldap._tcp.domain.example.com.
- Active Directory レコードの場合は
_LDAP._tcp.dc._msdcs.domain.example.com.
ドメイン参加後のシステム設定のテスト
- id user@domain_name コマンドを実行して、ドメインのユーザーに関する情報を表示します。
# id user@ad.example.com uid=1348601103(user@ad.example.com) gid=1348600513(domain group@ad.example.com) groups=1348600513(domain group@ad.example.com)
ssh
ユーティリティーを使用して、同じユーザーとしてログインします。# ssh -l user@ad.example.com linux-client.ad.example.com user@ad.example.com@linux-client.ad.example.com's password: Creating home directory for user@ad.example.com.
pwd
ユーティリティーがユーザーのホームディレクトリーを出力することを確認します。$ pwd /home/ad.example.com/user
id
ユーティリティーが最初の手順の id user@domain_name コマンドと同じ情報を出力することを確認します。$ id uid=1348601103(user@ad.example.com) gid=1348600513(domain group@ad.example.com) groups=1348600513(domain group@ad.example.com) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
kinit
ユーティリティーは、ドメインの参加が成功したかどうかをテストする場合にも役に立ちます。ユーティリティーを使用するには、krb5-workstation パッケージをインストールする必要があることに注意してください。
3.5. Identity ドメインからのシステムの削除
# realm leave ad.example.com
Administrator
と呼ばれ、IdM の場合は admin
と呼ばれます。ドメインに参加するために別のユーザーを使用していた場合は、そのユーザーとして削除を実行しないといけない場合があります。別のユーザーを指定するには、-U
オプションを使用します。
# realm leave ad.example.com -U 'AD.EXAMPLE.COM\user'
3.6. ドメインの一覧表示
# realm list --all --name-only ad.example.com
--all
--all
オプションは、すべての検出されたドメイン (設定済みおよび未設定の両方) を一覧表示します。--name-only
--name-only
オプションは、結果をドメイン名に制限し、ドメイン設定の詳細を表示しません。
3.7. ドメインユーザーのログインパーミッションの管理
realmd
システムを使用して、そのドメインのユーザーの基本的なアクセスルールである allow または deny を設定できます。このアクセスルールは、システム上の全サービスへのアクセスを許可または拒否することに注意してください。特定のシステムリソースまたはドメインに、より具体的なアクセスルールを設定する必要があります。
- realm deny
- realm deny コマンドは、単にドメイン内のすべてのユーザーへのアクセスを拒否します。
--all
オプションを指定して、このコマンドを使用します。 - realm permit
- realm permit コマンドは以下を実行するために使用できます。
- 以下のように
--all
オプションを使用して、すべてのユーザーへのアクセスを付与します。$ realm permit --all
- 指定したユーザーにアクセス権を付与します。以下に例を示します。
$ realm permit user@example.com $ realm permit 'AD.EXAMPLE.COM\user'
-x
オプションを使用して、指定したユーザーへのアクセスを拒否します。以下に例を示します。$ realm permit -x 'AD.EXAMPLE.COM\user'
realmd
に利用可能な子ドメインに関する情報を提供できないためです。
3.8. デフォルトのユーザー設定の変更
realmd
システムは、デフォルトのユーザーホームディレクトリーおよびシェル POSIX 属性の変更に対応します。たとえば、これは、一部の POSIX 属性が Windows ユーザーアカウントに設定されていない場合や、これらの属性がローカルシステムの他のユーザーの POSIX 属性と異なる場合に必要となる場合があります。
/etc/sssd/sssd.conf
ファイルで、デフォルトのホームディレクトリーとシェルを変更します。
/etc/realmd.conf
ファイルの [users]
セクションに以下のオプションを指定します。
default-home
default-home
オプションは、ホームディレクトリーを明示的に設定していないアカウントのホームディレクトリーを作成するためのテンプレートを設定します。一般的な形式は /home/%d/%u です。ここで、%d
はドメイン名で、%u
はユーザー名です。default-shell
default-shell
オプションは、デフォルトのユーザーシェルを定義します。対応しているシステムシェルを受け付けます。
[users] default-home = /home/%u default-shell = /bin/bash
3.9. Active Directory ドメインエントリーの追加設定
/etc/realmd.conf
ファイルで定義できます。各ドメインには独自の設定セクションを指定できます。セクションの名前はドメイン名と一致する必要があります。以下に例を示します。
[ad.example.com] attribute = value attribute = value
/etc/realmd.conf
の該当するセクションを編集します。以下の例では、ad.example.com
ドメインの ID マッピングを無効にし、ホストプリンシパルを設定して、システムを指定のサブツリーに追加します。
[ad.example.com] computer-ou = ou=Linux Computers,DC=domain,DC=example,DC=com user-principal = host/linux-client@AD.EXAMPLE.COM automatic-id-mapping = no
# realm join --computer-ou="ou=Linux Computers,dc=domain,dc=com" --automatic-id-mapping=no --user-principal=host/linux-client@AD.EXAMPLE.COM
/etc/realmd.conf
のドメイン default セクションで設定できる最も注目すべきオプションを一覧表示します。利用可能な設定オプションの詳細は、realmd.conf(5) の man ページを参照してください。
表3.2 レルム設定オプション
オプション | 説明 |
---|---|
computer-ou | コンピューターアカウントをドメインに追加するディレクトリーの場所を設定します。これは、ルートエントリーに対する完全な DN または RDN です。サブツリーがすでに存在している必要があります。 |
user-principal | コンピューターアカウントの userPrincipalName 属性の値を、指定した Kerberos プリンシパルに設定します。 |
automatic-id-mapping | 動的 ID マッピングを有効にするか、マッピングを無効にし、Active Directory で設定された POSIX 属性を使用するかどうかを設定します。 |
第4章 Active Directory 統合での Samba の使用
4.1. winbindd
を使用したドメインユーザーへの認証
winbindd
サービスは、Name Service Switch (NSS) のインターフェイスを提供し、ローカルシステムにログインする際にドメインユーザーが AD に対して認証できるようにします。
winbindd
を使用すると、追加のソフトウェアをインストールしなくてもディレクトリーとプリンターを共有する設定が強化されます。詳細は、Red Hat システム管理者のガイドの Samba を参照してください。
4.1.1. AD ドメインの参加
Winbind
サービスを使用する場合は、realm join --client-software=winbind domain_name コマンドを使用します。realm
ユーティリティーは、Samba、Kerberos、PAM などの設定ファイルを自動的に更新します。
4.2. SSSD および Winbind での SMB 共有の使用
4.2.1. SMB での SSSD の仕組み
4.2.2. SMB 共有アクセスでの SSSD と Winbind 間の切り替え
$ rpm -q cifs-utils
- オプション。現在 SSSD または Winbind を使用して SSSD クライアントから SMB 共有にアクセスするかどうかを確認してください。
# alternatives --display cifs-idmap-plugin cifs-idmap-plugin - status is auto. link currently points to /usr/lib64/cifs-utils/cifs_idmap_sss.so /usr/lib64/cifs-utils/cifs_idmap_sss.so - priority 20 /usr/lib64/cifs-utils/idmapwb.so - priority 10 Current `best' version is /usr/lib64/cifs-utils/cifs_idmap_sss.so.
SSSD プラグイン (cifs_idmap_sss.so
) がインストールされている場合は、デフォルトで Winbind プラグイン (idmapwb.so
) よりも優先度が高くなります。 - Winbind プラグインに切り替える前に、Winbind がシステムで実行していることを確認してください。
# systemctl is-active winbind.service active
SSSD プラグインに切り替える前に、SSSD がシステムで実行していることを確認してください。# systemctl is-active sssd.service active
- 別のプラグインに切り替えるには、
alternatives --set cifs-idmap-plugin
コマンドを使用して、必要なプラグインへのパスを指定します。たとえば Winbind に切り替えるには、以下を実行します。# alternatives --set cifs-idmap-plugin /usr/lib64/cifs-utils/idmapwb.so
/usr/lib64/cifs-utils/
の代わりに usr/lib/cifs-utils/
ディレクトリーを使用します。
4.3. 関連情報
パート II. Linux ドメインと Active Directory ドメインの統合: フォレスト間の信頼
Linux ドメイン
を Active Directory
ドメインと統合するための推奨される方法について説明します。
第5章 Active Directory および Identity Management を使用したフォレスト間の信頼作成
5.1. フォレスト間の信頼の概要
5.1.1. 信頼関係のアーキテクチャー
Active Directory 信頼、フォレスト、およびフォレスト間信頼
信頼フローおよび一方向信頼
図5.1 一方向信頼

推移的および非推移的な信頼
図5.2 推移的な信頼

Active Directory および Identity Management のフォレスト間の信頼
図5.3 信頼の方向

5.1.2. Active Directory セキュリティーオブジェクトおよび信頼
Active Directory グローバルカタログ
グローバルカタログおよび POSIX 属性
5.1.3. IdM の信頼アーキテクチャー
- SSSD: Active Directory でアイデンティティールックアップを実行し、承認のためにユーザーおよびグループのセキュリティー識別子 (SID) を取得します。SSSD は、ユーザー、グループ、およびユーザーのチケット情報をキャッシュし、Kerberos ドメインと DNS ドメインをマップします。
- Identity Management (Linux ドメイン管理) は、Active Directory ユーザーを IdM ポリシーおよびアクセス用の IdM グループに関連付けます。注記SELinux、sudo、ホストベースのアクセス制御など、Linux ドメイン管理用のアクセス制御ルールおよびポリシーは、Identity Management で定義され、適用されます。Active Directory 側で設定されたアクセス制御ルールは、IdM によって評価または使用されません。関連する唯一の Active Directory 設定は、グループメンバーシップです。
さまざまな Active Directory フォレストとの信頼
5.1.3.1. Active Directory PAC および IdM チケット
- サービスの要求には、ユーザーの PAC が含まれます。IdM Kerberos Distribution Centre (KDC) は、Active Directory グループの一覧と IdM グループのメンバーシップを比較して、PAC を分析します。
- MS-PAC で定義された Kerberos プリンシパルの SID の場合、IdM KDC は、IdM LDAP で定義された外部グループメンバーシップを評価します。SID で追加のマッピングが利用可能な場合、MS-PAC レコードは、SID が属する IdM グループの他の SID で拡張されます。結果として得られる MS-PAC は、IdM KDC によって署名されます。
- サービスチケットは、IdM KDC が署名した更新された PAC のユーザーに戻ります。IdM ドメイン認識されている AD グループに属するユーザーは、サービスチケットの MS-PAC コンテンツに基づいて、IdM クライアントで実行している SSSD が認識できるようになりました。これにより、IdM クライアントがグループメンバーシップを検出するために ID トラフィックを減らすことができます。
- 評価プロセスで使用される Kerberos クライアントライブラリーは、PAC データを SSSD PAC レスポンダーに送信します。
- PAC レスポンダーは、PAC のグループ SID を検証し、そのユーザーを SSSD キャッシュ内の対応するグループに追加します。SSSD は、新規サービスにアクセスするために、各ユーザーの複数の TGT およびチケットを保存します。
- 検証済みグループに属するユーザーは、IdM 側で必要なサービスにアクセスできるようになりました。
5.1.3.2. Active Directory ユーザーおよび Identity Management グループ
非 POSIX の外部グループおよび SID マッピング
ID 範囲
- ipa-ad-trust
- この範囲オプションは、SID に基づいて IdM が生成した ID アルゴリズムに使用されます。IdM が SID-to-POSIX ID マッピングを使用して SID を生成する場合は、AD および IdM のユーザーおよびグループの ID 範囲が一意で、オーバーライピングしていない ID 範囲が利用可能である必要があります。
- ipa-ad-trust-posix
- この範囲オプションは、AD エントリーの POSIX 属性で定義される ID に使用されます。IdM は、AD のグローバルカタログまたはディレクトリーコントローラーから、
uidNumber
およびgidNumber
を含む POSIX 属性を取得します。AD ドメインが正しく管理され、ID の競合なしに管理されている場合は、この方法で生成された ID 番号は一意です。この場合、ID の検証や ID 範囲は必要ありません。
[root@ipaserver ~]# ipa trust-add name_of_the_trust --range-type=ipa-ad-trust-posix
他の ID 範囲での信頼の再作成
--range-type
オプションを使用して信頼を再作成できます。
- 現在使用中のすべての ID 範囲を表示します。
[root@ipaserver ~]# ipa idrange-find
一覧で、ipa trust-add コマンドで作成された ID 範囲の名前を特定します。ID 範囲の名前の最初の部分は信頼の名前 name_of_the_trust_id_range (例: ad.example.com) です。 - (任意手順) 信頼の作成時に使用する
--range-type
オプション、ipa-ad-trust
またはipa-ad-trust-posix
が分からない場合は、オプションを特定します。[root@ipaserver ~]# ipa idrange-show name_of_the_trust_id_range
ステップ 5 の新しい信頼の逆タイプを選択できるように、そのタイプを書き留めます。 - ipa trust-add コマンドで作成された範囲を削除します。
[root@ipaserver ~]# ipa idrange-del name_of_the_trust_id_range
- 信頼を削除します。
[root@ipaserver ~]# ipa trust-del name_of_the_trust
- 正しい
--range-type
オプションを使用して、新たな信頼を作成します。以下に例を示します。[root@ipaserver ~]# ipa trust-add name_of_the_trust --range-type=ipa-ad-trust
5.1.3.3. Active Directory ユーザーおよび IdM ポリシーおよび設定
図5.4 Active Directory ユーザーおよび IdM グループおよびポリシー

5.1.4. 一方向および双方向の信頼
- 一方向の信頼
- 一方向の信頼により、AD ユーザーおよびグループは IdM のリソースにアクセスできますが、その逆はできません。IdM ドメインは AD フォレストを信頼しますが、AD フォレストは IdM ドメインを信頼しません。一方向の信頼は、信頼を作成するデフォルトのモードです。
- 双方向の信頼
- 双方向の信頼により、AD ユーザーおよびグループは IdM のリソースにアクセスできるようになります。信頼境界を使用して Kerberos プロトコルに S4U2Self および S4U2Proxy の Microsoft 拡張を必要とする、Microsoft SQL Server などのソリューションに、双方向の信頼を設定する必要があります。RHEL IdM ホスト上にあるアプリケーションは、AD ユーザーに関する S4U2Self または S4U2Proxy の情報を Active Directory ドメインコントローラーから要求する場合があり、双方向の信頼でこの機能が提供されます。この双方向の信頼機能では、IdM ユーザーは Windows システムにログインできないだけでなく、IdM の双方向信頼では、AD の一方向信頼ソリューションと比較して、権限が追加でユーザーに付与されるわけではありません。
5.1.5. Active Directory への外部信頼
5.1.6. 信頼コントローラーおよび信頼エージェント
- 信頼コントローラー
- 信頼を制御し、Active Directory ドメインコントローラー (DC) に対して ID 検索を実行できる IdM サーバー。Active Directory ドメインコントローラーは、Active Directory への信頼を確立して検証する際に信頼コントローラーに問い合わせます。信頼を設定すると、最初の信頼コントローラーが作成されます。IdM サーバーを信頼コントローラーとして設定する方法は、「信頼の作成」 を参照してください。信頼コントローラーは、信頼エージェントと比較して、ネットワークに直接接続するサービスの実行量が多いため、潜在的な侵入者に対してより大きな攻撃対象領域を提示します。
- 信頼エージェント
- Active Directory ドメインコントローラーで ID 検索が実行可能な IdM サーバー。IdM サーバーを信頼エージェントとして設定する方法は、「信頼用の IdM サーバーの準備」 を参照してください。
表5.1 信頼コントローラーおよび信頼エージェントが提供する機能の比較
機能 | 信頼コントローラー | 信頼エージェント |
---|---|---|
Active Directory のユーザーおよびグループの解決 | はい | はい |
信頼された Active Directory フォレストのユーザーがアクセスできるサービスを実行する IdM クライアントを登録 | はい | はい |
信頼の管理 (たとえば、信頼関係の追加) | はい | いいえ |
- Identity Management のデプロイメントごとに、信頼コントローラーを少なくとも 2 台は設定してください。
- 各データセンターごとに、信頼コントローラーを少なくとも 2 台設定する。
ipa-adtrust-install
ユーティリティーを使用します。
5.2. フォレスト間の信頼の作成
5.2.1. 環境およびマシンの要件
5.2.1.1. サポート対象の Windows プラットフォーム
- フォレスト機能レベルの範囲 - Windows Server 2008 ~ Windows Server 2016
- ドメイン機能レベルの範囲 - Windows Server 2008 ~ Windows Server 2016
- Windows Server 2012 R2
- Windows Server 2016
5.2.1.2. DNS およびレルムの設定
- 一意のプライマリー DNS ドメイン
- 各システムには、独自の固有プライマリー DNS ドメインが設定されている必要があります。以下に例を示します。
ad.example.com
(AD の場合) およびidm.example.com
(IdM の場合)example.com
(AD の場合) およびidm.example.com
(IdM の場合)ad.example.com
(AD の場合) およびexample.com
(IdM の場合)重要IdM ドメインが AD ドメインの親ドメインである場合、IdM サーバーは Red Hat Enterprise Linux 7.5 以降で実行する必要があります。
最も便利な管理ソリューションは、各 DNS ドメインが統合 DNS サーバーで管理されている環境ですが、規格に準拠した DNS サーバーも使用できます。AD または IdM が、ID 管理用の別のシステムとプライマリー DNS ドメインを共有することはできません。詳細は、 Linux ドメイン ID、認証、およびポリシーガイドのホスト名および DNS 設定要件を参照してください。 - Kerberos レルム名は、プライマリー DNS ドメイン名を大文字にしたもの
- Kerberos レルム名は、プライマリー DNS ドメイン名と同じで、すべて大文字にする必要があります。たとえば、AD のドメイン名が
ad.example.com
で、IdM のドメイン名がidm.example.com
の場合、Kerberos レルム名はAD.EXAMPLE.COM
およびIDM.EXAMPLE.COM
になります。 - DNS レコードが信頼内の全 DNS ドメインから解決可能である
- すべてのマシンが、信頼関係内で関連するすべての DNS ドメインの DNS レコードを解決できるようにする必要があります。
- IdM DNS を設定する場合は、『Linux ドメイン ID、認証、およびポリシーガイド』 で、 IdM ドメイン内の DNS サービスの設定に関するセクション および DNS 転送の管理に関するセクション で説明されている手順に従ってください。
- 統合 DNS なしで IdM を使用している場合は、『Linux ドメイン ID、認証、およびポリシーガイド』 の 統合 DNS なしでサーバーインストールを説明しているセクション で説明されている手順に従います。
- IdM ドメインと AD DNS ドメインとの間に重複がない
- IdM に参加しているシステムは、複数の DNS ドメインに分散できます。IdM クライアントを含む DNS ドメインは、AD に参加しているマシンを含む DNS ドメインと重複できません。プライマリー IdM DNS ドメインには、AD 信頼に対応するのに適切な SRV レコードが必要です。注記IdM と Active Directory との間の信頼がある一部の環境では、Active Directory DNS ドメインの一部であるホストに IdM クライアントをインストールできます。ホストは、これにより、Linux に焦点を合わせた IdM の機能の恩恵を受けることができます。これは推奨される設定ではなく、いくつかの制限があります。Red Hat は、Active Directory が所有する DNS ゾーンとは異なる DNS ゾーンに常に IdM クライアントを展開し、IdM ホスト名を介して IdM クライアントにアクセスすることをお勧めします。$ ipa dns-update-system-records --dry-run コマンドを実行して、システム設定に必要な固有の SRV レコードの一覧を取得できます。生成される一覧は、たとえば以下のようになります。
$ ipa dns-update-system-records --dry-run IPA DNS records: _kerberos-master._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos-master._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._tcp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos._udp.example.com. 86400 IN SRV 0 100 88 server.example.com. _kerberos.example.com. 86400 IN TXT "EXAMPLE.COM" _kpasswd._tcp.example.com. 86400 IN SRV 0 100 464 server.example.com. _kpasswd._udp.example.com. 86400 IN SRV 0 100 464 server.example.com. _ldap._tcp.example.com. 86400 IN SRV 0 100 389 server.example.com. _ntp._udp.example.com. 86400 IN SRV 0 100 123 server.example.com.
同じ IdM レルムにあるその他の DNS ドメインでは、AD への信頼を設定する際に SRV レコードを設定する必要はありません。これは、AD ドメインコントローラーが、KDC の検索に SRV レコードではなく、信頼の名前接尾辞のルーティング情報を使用するためです。
DNS 設定の確認
ipconfig /flushdns
コマンドを実行して削除できます。
- IdM がホストするサービスが信頼を確立するために使用される IdM ドメインサーバーから解決可能であることを確認します
- UDP サービスレコードの Kerberos、および TCP サービスレコード上の LDAP に、DNS クエリーを実行します。
[root@ipaserver ~]# dig +short -t SRV _kerberos._udp.ipa.example.com. 0 100 88 ipamaster1.ipa.example.com. [root@ipaserver ~]# dig +short -t SRV _ldap._tcp.ipa.example.com. 0 100 389 ipamaster1.ipa.example.com.
コマンドは、すべての IdM サーバーを一覧で表示する必要があります。 - IdM Kerberos レルム名を使用して、TXT レコードに DNS クエリーを実行します。取得した値は、IdM のインストール時に指定した Kerberos レルムと一致することが予想されます。
[root@ipaserver ~]# dig +short -t TXT _kerberos.ipa.example.com. IPA.EXAMPLE.COM
- 「信頼用の IdM サーバーの準備」 で説明されているように、
ipa-adtrust-install
ユーティリティーの実行後に、UDP サービスレコード上の MS DC Kerberos、および TCP サービスレコード上の LDAP に DNS クエリーを実行します。[root@ipaserver ~]# dig +short -t SRV _kerberos._udp.dc._msdcs.ipa.example.com. 0 100 88 ipamaster1.ipa.example.com. [root@ipaserver ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ipa.example.com. 0 100 389 ipamaster1.ipa.example.com.
コマンドは、ipa-adtrust-install
が実行している IdM サーバーの一覧を表示することが期待されます。ipa-adtrust-install
が IdM サーバーで実行していない場合、通常は最初の信頼関係を確立する前に出力が空になることに注意してください。
- IdM が AD のサービスレコードを解決できることを確認します。
- UDP サービスレコードの Kerberos、および TCP サービスレコード上の LDAP に、DNS クエリーを実行します。
[root@ipaserver ~]# dig +short -t SRV _kerberos._udp.dc._msdcs.ad.example.com. 0 100 88 addc1.ad.example.com. [root@ipaserver ~]# dig +short -t SRV _ldap._tcp.dc._msdcs.ad.example.com. 0 100 389 addc1.ad.example.com.
これらのコマンドは、AD ドメインコントローラーの名前を返す必要があります。 - IdM がホストするサービスが AD サーバーで解決可能であることを確認します
- AD サーバーに、サービスレコードを検索する
nslookup.exe
ユーティリティーを設定します。C:\>nslookup.exe > set type=SRV
- UDP サービスレコード上の Kerberos、および TCP サービスレコード上の LDAP に、ドメイン名を入力します。
> _kerberos._udp.ipa.example.com. _kerberos._udp.ipa.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = ipamaster1.ipa.example.com > _ldap._tcp.ipa.example.com _ldap._tcp.ipa.example.com SRV service location: priority = 0 weight = 100 port = 389 svr hostname = ipamaster1.ipa.example.com
予期される出力には、IdM がホストするサービスが信頼を確立するために使用される IdM ドメインサーバーから解決可能であることを確認します で表示される IdM サーバーと同じセットが表示されます。 - サービスの種類を TXT に変更し、IdM Kerberos レルム名で TXT レコードに DNS クエリーを実行します。
C:\>nslookup.exe > set type=TXT > _kerberos.ipa.example.com. _kerberos.ipa.example.com. text = "IPA.EXAMPLE.COM"
出力には、IdM がホストするサービスが信頼を確立するために使用される IdM ドメインサーバーから解決可能であることを確認します に表示される値と同じ値が含まれることが予想されます。 - 「信頼用の IdM サーバーの準備」 で説明されているように、
ipa-adtrust-install
ユーティリティーの実行後に、UDP サービスレコード上の MS DC Kerberos、および TCP サービスレコード上の LDAP に DNS クエリーを実行します。C:\>nslookup.exe > set type=SRV > _kerberos._udp.dc._msdcs.ipa.example.com. _kerberos._udp.dc._msdcs.ipa.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = ipamaster1.ipa.example.com > _ldap._tcp.dc._msdcs.ipa.example.com. _ldap._tcp.dc._msdcs.ipa.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = ipamaster1.ipa.example.com
このコマンドは、ipa-adtrust-install
ユーティリティーが実行した IdM サーバーの一覧を表示することが期待されます。ipa-adtrust-install
が IdM サーバーで実行していない場合、通常は最初の信頼関係を確立する前に出力が空になることに注意してください。
- AD サービスが AD サーバーで解決可能であることを検証します。
- AD サーバーに、サービスレコードを検索する
nslookup.exe
ユーティリティーを設定します。C:\>nslookup.exe > set type=SRV
- UDP サービスレコード上の Kerberos、および TCP サービスレコード上の LDAP に、ドメイン名を入力します。
> _kerberos._udp.dc._msdcs.ad.example.com. _kerberos._udp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 88 svr hostname = addc1.ad.example.com > _ldap._tcp.dc._msdcs.ad.example.com. _ldap._tcp.dc._msdcs.ad.example.com. SRV service location: priority = 0 weight = 100 port = 389 svr hostname = addc1.ad.example.com
予期される出力には、IdM が AD のサービスレコードを解決できることを確認します。 で表示されるのと同じ AD サーバーのセットが含まれます。
5.2.1.3. NetBIOS 名
ad.example.com
の場合、NetBIOS 名は通常 AD
になります。
5.2.1.4. ファイアウォールおよびポート
- AD トラストに必要なポート と、AD トラスト内の IdM サーバーが必要とするポート を、IdM サーバーとすべての AD ドメインコントローラーで、IdM サーバーから AD ドメインコントローラーへと、AD ドメインコントローラーから IdM サーバーへの両方向で開きます。
- 信頼された AD フォレストのすべての AD ドメインコントローラーで、AD の信頼で IdM クライアントで必要なポート を開きます。IdM クライアントで、ポートが送信方向に開いていることを確認します (『Linux ドメイン ID、認証、およびポリシーガイド』 に クライアントをインストールするための前提条件を参照)。
表5.2 AD 信頼に必要なポート
表5.3 信頼の IdM サーバーで必要なポート
Service | ポート | プロトコル |
---|---|---|
Kerberos | 『Linux ドメイン ID、認証、およびポリシーガイド』 の ポート要件 を参照してください。 | |
LDAP | ||
DNS |
表5.4 AD 信頼で IdM クライアントに必要なポート
Service | ポート | プロトコル | 備考 |
---|---|---|---|
Kerberos | 88 | UDP および TCP | libkrb5 ライブラリーは UDP を使用し、KDC (Kerberos Distribution Center) から送信されるデータが大きすぎると、TCP プロトコルにフォールバックします。Active Directory は、PAC (Privilege Attribute Certificate) を Kerberos チケットに割り当てます。これによりサイズが増加し、TCP プロトコルを使用する必要があります。要求のフォールバックと再送信を回避するため、デフォルトでは、Red Hat Enterprise Linux 7.4 以降の SSSD ではユーザー認証に TCP が使用されます。libkrb5 が TCP を使用する前のサイズを設定するには、/etc/krb.5.conf ファイルに udp_preference_limit を設定してください。詳細は krb5.conf(5) の man ページを参照してください。
|
関連情報
- 必要なポートを開く方法は、『Linux ドメイン ID、認証、およびポリシーガイド』 の ポート要件 を参照してください。
5.2.1.5. IPv6 設定
5.2.1.6. クロック設定
5.2.1.7. AD での IdM ドメインへの条件付きフォワーダーの作成
- Windows AD ドメインコントローラーで、Active Directory (AD)
DNS
コンソールを開きます。 - Conditional Forwarders を右クリックし、New Conditional Forwarder を選択します。
- IdM DNS ドメイン名および IdM DNS サーバーの IP アドレスを入力します。
- Store this conditional forwarder in Active Directory, and replicate it as follows を選択し、環境に一致するレプリケーション設定を選択します。
- OK をクリックします。
- AD ドメインコントローラー (DC) が IdM ドメインの DNS エントリーを解決できるようにするには、コマンドプロンプトを開いて以下を入力します。
C:\> nslookup server.idm.example.com
コマンドが IdM サーバーの IP アドレスを返すと、条件フォワーダーが正しく機能しています。
5.2.1.8. IdM での AD ドメインの正引きゾーンの作成
- IdM サーバーで、AD DNS ドメインの正引きゾーンエントリーを作成します。IdM で DNS 正引きゾーンを作成する方法の詳細については、『Linux ドメイン ID、認証、およびポリシーガイド』 の 『正引きゾーンの設定』 セクションを参照してください。
- AD DNS サーバーが DNSSEC をサポートしていない場合は、IdM サーバーで DNSSEC 検証を無効にします。
/etc/named.conf
ファイルを編集し、dnssec-validation
パラメーターを no に設定します。dnssec-validation no;
named-pkcs11
サービスを再起動します。# systemctl restart named-pkcs11
- IdM サーバーが AD ドメインの DNS エントリーを解決できるようにするには、次のコマンドを実行します。
# host server.ad.example.com
コマンドが AD DC の IP アドレスを返すと、正引きゾーンは正しく機能します。
5.2.1.9. サポートされるユーザー名の形式
user_name@domain
です。Active Directory は、user_name
、user_name@DOMAIN_NAME
、および DOMAIN_NAME\user_name
のさまざまな名前形式をサポートします。
user_name
) または完全修飾ユーザー名 (user_name@domain_name
) のいずれかを使用してシステムに対して認証することもできます。
/etc/sssd/sssd.conf
ファイルで設定されたすべてのドメインと信頼されたドメインでアカウントを検索します。「IdM クライアントでのドメイン解決順の設定」 で説明されているように、ドメインの解決順序を設定すると、SSSD は定義された順序でユーザーを検索します。いずれの場合も、SSSD は、見つかった最初のエントリーを使用します。同じユーザー名が複数のドメインに存在し、最初に見つかったエントリーが予期されたものではない場合、これは問題や混乱を引き起こす可能性があります。
re_expression
オプションで定義された正規表現を使用します。IdM バックエンドまたは AD バックエンドには正規表現を使用し、上記のすべての形式をサポートします。
re_expression = (((?P<domain>[^\\]+)\\(?P<name>.+$))|((?P<name>[^@]+)@(?P<domain>.+$))|(^(?P<name>[^@\\]+)$))
5.2.2. 信頼の作成
5.2.2.1. コマンドラインからの信頼の作成
- 信頼用の IdM サーバーの準備 (「信頼用の IdM サーバーの準備」 を参照)
- 信頼関係の作成 (「信頼関係の作成」 を参照)
- Kerberos 設定の確認 (「Kerberos 設定の確認」 を参照)
5.2.2.1.1. 信頼用の IdM サーバーの準備
- 必要な IdM、信頼、Samba パッケージをインストールします。
[root@ipaserver ]# yum install ipa-server ipa-server-trust-ad samba-client
- 信頼サービスを有効にするように IdM サーバーを設定します。ipa-replica-install --setup-adtrust コマンドを使用してサーバーをインストールした場合は、この手順を省略できます。
ipa-adtrust-install
ユーティリティーを実行します。[root@ipaserver ]# ipa-adtrust-install
このユーティリティーは、AD 信頼に必要な DNS サービスレコードを追加します。統合 DNS サーバーとともに IdM がインストールされていると、サービスレコードが自動的に作成されます。IdM が統合 DNS サーバーなしでインストールされると、ipa-adtrust-install
は、続行する前に DNS に手動で追加する必要があるサービスレコードのリストを出力します。重要Red Hat は、特に IdM または AD が統合 DNS サーバーを使用しない場合に、ipa-adtrust-install
を実行するたびに 「DNS 設定の確認」 で説明されている DNS 設定を確認することを強く推奨します。- このスクリプトは、従来の Linux クライアントが信頼できるユーザーと連携できるようにする互換性プラグインである
slapi-nis
プラグインを設定するように求めるプロンプトを表示します。Do you want to enable support for trusted domains in Schema Compatibility plugin? This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users. Enable trusted domains support in slapi-nis? [no]: y
- ディレクトリーを最初にインストールする際に、少なくとも 1 人のユーザー (IdM 管理者) が存在します。SID 生成タスクは、信頼環境をサポートするように既存ユーザーの SID を作成できます。これはリソース集約型タスクであり、多くのユーザーの場合、これは個別に実行できます。
Do you want to run the ipa-sidgen task? [no]: yes
- 「DNS およびレルムの設定」 の説明に従って、DNS が適切に設定されていることを確認します。
smb
サービスを起動します。[root@ipaserver ~]# systemctl start smb
- 必要に応じて、システムの起動時に
smb
サービスが自動的に起動するようにします。[root@ipaserver ~]# systemctl enable smb
smbclient
ユーティリティーを使用して、Samba が IdM からの Kerberos 認証に応答することを確認します。[root@ipaserver ~]# smbclient -L ipaserver.ipa.example.com -k lp_load_ex: changing to config backend registry Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba 4.9.1) Reconnecting with SMB1 for workgroup listing. Server Comment --------- ------- Workgroup Master --------- -------
5.2.2.1.2. 信頼関係の作成
# ipa trust-add --type=type ad_domain_name --admin ad_admin_username --password
--two-way=true
オプションを使用して双方向の信頼を確立します。
[root@ipaserver ~]# ipa trust-add --type=ad ad.example.com --admin Administrator --password --two-way=true Active Directory domain administrator's password: ------------------------------------------------------- Added Active Directory trust for realm "ad.example.com" ------------------------------------------------------- Realm-Name: ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-796215754-1239681026-23416912 SID blacklist incoming: S-1-5-20, S-1-5-3, S-1-5-2, S-1-5-1, S-1-5-7, S-1-5-6, S-1-5-5, S-1-5-4, S-1-5-9, S-1-5-8, S-1-5-17, S-1-5-16, S-1-5-15, S-1-5-14, S-1-5-13, S-1-5-12, S-1-5-11, S-1-5-10, S-1-3, S-1-2, S-1-1, S-1-0, S-1-5-19, S-1-5-18 SID blacklist outgoing: S-1-5-20, S-1-5-3, S-1-5-2, S-1-5-1, S-1-5-7, S-1-5-6, S-1-5-5, S-1-5-4, S-1-5-9, S-1-5-8, S-1-5-17, S-1-5-16, S-1-5-15, S-1-5-14, S-1-5-13, S-1-5-12, S-1-5-11, S-1-5-10, S-1-3, S-1-2, S-1-1, S-1-0, S-1-5-19, S-1-5-18 Trust direction: Two-way trust Trust type: Active Directory domain Trust status: Established and verified
5.2.2.1.3. Kerberos 設定の確認
- IdM ユーザーのチケットを要求します。
[root@ipaserver ~]# kinit user
- IdM ドメイン内のサービスのサービスチケットを要求します。
[root@ipaserver ~]# kvno -S host ipaserver.example.com
- AD ドメイン内のサービスのサービスチケットを要求します。
[root@ipaserver ~]# kvno -S cifs adserver.example.com
AD サービスチケットが正常に許可されると、その他の要求されたすべてのチケットと共に記載されたレルム間の TGT (Ticket-Granting Ticket) があります。TGT の名前は、krbtgt/AD.DOMAIN@IPA.DOMAIN
です。[root@ipaserver ]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: user@IPA.DOMAIN Valid starting Expires Service principal 06/15/12 12:13:04 06/16/12 12:12:55 krbtgt/IPA.DOMAIN@IPA.DOMAIN 06/15/12 12:13:13 06/16/12 12:12:55 host/ipaserver.ipa.example.com@IPA.DOMAIN 06/15/12 12:13:23 06/16/12 12:12:55 krbtgt/AD.DOMAIN@IPA.DOMAIN 06/15/12 12:14:58 06/15/12 22:14:58 cifs/adserver.ad.example.com@AD.DOMAIN
- Active Directory ユーザーのチケットを要求します。
[root@ipaserver ~]# kinit user@AD.DOMAIN
- IdM ドメイン内のサービスのサービスチケットを要求します。
[root@ipaserver ~]# kvno -S host ipaserver.example.com
AD サービスチケットが正常に許可されると、その他の要求されたすべてのチケットと共に記載されたレルム間の TGT (Ticket-Granting Ticket) があります。TGT の名前は、krbtgt/IPA.DOMAIN@AD.DOMAIN
です。[root@ipaserver ]# klist Ticket cache: KEYRING:persistent:0:krb_ccache_hRtox00 Default principal: user@AD.DOMAIN Valid starting Expires Service principal 03.05.2016 18:31:06 04.05.2016 04:31:01 host/ipaserver.ipa.example.com@IPA.DOMAIN renew until 04.05.2016 18:31:00 03.05.2016 18:31:06 04.05.2016 04:31:01 krbtgt/IPA.DOMAIN@AD.DOMAIN renew until 04.05.2016 18:31:00 03.05.2016 18:31:01 04.05.2016 04:31:01 krbtgt/AD.DOMAIN@AD.DOMAIN renew until 04.05.2016 18:31:00
localauth
プラグインは、Kerberos プリンシパルをローカルの SSSD ユーザー名にマッピングします。これにより、AD ユーザーは Kerberos 認証を使用し、GSSAPI 認証に対応する Linux サービスに直接アクセスできます。
5.2.2.2. 共有シークレットを使用した信頼の作成
5.2.2.2.1. 共有シークレットを使用した 2 つの信頼の作成
- 「信頼用の IdM サーバーの準備」 の説明に従って、信頼用に IdM サーバーを準備します。
- IdM ホストおよび AD ホストが、両方のドメインを解決できない DNS サーバーを使用する場合は、DNS ゾーンの転送を設定します。
- AD DNS サーバーを準備して、IdM ドメインのクエリーを IdM DNS サーバーに転送します。詳細は 「AD での IdM ドメインへの条件付きフォワーダーの作成」 を参照してください。
- AD ドメインのクエリーを AD DNS サーバーに転送するため、IdM DNS サーバーを準備します。詳細は 「IdM での AD ドメインの正引きゾーンの作成」 を参照してください。
- Active Directory ドメインおよび信頼 コンソールで信頼を設定します。特に以下が含まれます。
- 新しい信頼を作成します。
- IdM ドメイン名 (例:
idm.example.com
) に信頼を付与します。 - これは、信頼の フォレスト タイプであることを指定します。
- これは 2 方向 の信頼タイプであることを指定します。
- これは、フォレスト全体 の認証であることを指定します。
- 信頼パスワード を設定します。注記IdM で信頼を設定する場合は、同じパスワードを使用する必要があります。
受信トラストを確認するように求められたら、No を選択します。 - 「信頼関係の作成」 で説明されているように、信頼関係を作成します。ipa trust-add コマンドの実行時に、
--type
オプション、--trust-secret
オプション、および--two-way=True
オプションを使用し、--admin
オプションを省略します。以下に例を示します。[root@ipaserver ~]# ipa trust-add --type=ad ad.example.com --trust-secret --two-way=True Shared secret for the trust: ------------------------------------------------------- Added Active Directory trust for realm "ad.example.com" ------------------------------------------------------- Realm-Name: ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-796215754-1239681026-23416912 SID blacklist incoming: S-1-5-20, S-1-5-3, S-1-5-2, S-1-5-1, S-1-5-7, S-1-5-6, S-1-5-5, S-1-5-4, S-1-5-9, S-1-5-8, S-1-5-17, S-1-5-16, S-1-5-15, S-1-5-14, S-1-5-13, S-1-5-12, S-1-5-11, S-1-5-10, S-1-3, S-1-2, S-1-1, S-1-0, S-1-5-19, S-1-5-18 SID blacklist outgoing: S-1-5-20, S-1-5-3, S-1-5-2, S-1-5-1, S-1-5-7, S-1-5-6, S-1-5-5, S-1-5-4, S-1-5-9, S-1-5-8, S-1-5-17, S-1-5-16, S-1-5-15, S-1-5-14, S-1-5-13, S-1-5-12, S-1-5-11, S-1-5-10, S-1-3, S-1-2, S-1-1, S-1-0, S-1-5-19, S-1-5-18 Trust direction: Trusting forest Trust type: Active Directory domain Trust status: Waiting for confirmation by remote side
- ドメインの一覧を取得します。
[root@ipaserver ~]# ipa trust-fetch-domains ad_domain
- IdM サーバーで、ipa trust-show コマンドを使用して信頼関係が確立されていることを確認します。
[root@ipaserver ~]# ipa trust-show ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-796215754-1239681026-23416912 Trust direction: Trusting forest Trust type: Active Directory domain
- 必要に応じて、信頼されたドメインを検索します。
[root@ipaserver ~]# ipa trustdomain-find ad.example.com Domain name: ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-796215754-1239681026-23416912 Domain enabled: True
- 「Kerberos 設定の確認」 の説明に従って、Kerberos 設定を確認します。
5.2.2.2.2. 共有シークレットを使用した一方向信頼の作成
- 「信頼用の IdM サーバーの準備」 の説明に従って、信頼用に IdM サーバーを準備します。
- IdM ホストおよび AD ホストが、両方のドメインを解決できない DNS サーバーを使用する場合は、DNS ゾーンの転送を設定します。
- AD DNS サーバーを準備して、IdM ドメインのクエリーを IdM DNS サーバーに転送します。詳細は 「AD での IdM ドメインへの条件付きフォワーダーの作成」 を参照してください。
- AD ドメインのクエリーを AD DNS サーバーに転送するため、IdM DNS サーバーを準備します。詳細は 「IdM での AD ドメインの正引きゾーンの作成」 を参照してください。
- Active Directory ドメインおよび信頼 コンソールで信頼を設定します。
- ドメイン名を右クリックし、Properties を選択します。
- Trusts タブで、New Trust をクリックします。
- IdM ドメイン名を入力し、Next をクリックします。
- Forest trust を選択し、Next をクリックします。
- One-way: incoming を選択し、Next をクリックします。
- This domain only を選択し、Next をクリックします。
- 共有シークレット (信頼パスワード) を入力し、Next をクリックします。
- 設定を確認し、Next をクリックします。
- 受信信頼を確認するかどうかをシステムが尋ねる場合には、No, do not confirm the incoming trust を選択し、Next をクリックします。
- Finish をクリックします。
- 信頼関係を作成します。
[root@ipaserver ~]# ipa trust-add --type=ad --trust-secret ad.example.com Shared secret for the trust: password ------------------------------------------------------- Added Active Directory trust for realm "ad.example.com" ------------------------------------------------------- Realm name: ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-1762709870-351891212-3141221786 Trust direction: Trusting forest Trust type: Active Directory domain Trust status: Waiting for confirmation by remote side
AD ドメインおよび信頼コンソールに設定した共有シークレットを入力します。 - Active Directory Domains and Trusts コンソールで信頼を検証します。
- ドメイン名を右クリックし、Properties を選択します。
- Trusts タブで、Domains that trust this domain (incoming trusts) pane のドメインを選択し Properties をクリックします。
- Validate ボタンをクリックします。
- Yes, validate the incoming trust を選択し、IdM admin ユーザーの認証情報を入力します。
- 信頼済みドメインの一覧を更新します。
[root@ipaserver ~]# ipa trust-fetch-domains ad.example.com ---------------------------------------------------------------------------------------- List of trust domains successfully refreshed. Use trustdomain-find command to list them. ---------------------------------------------------------------------------------------- ---------------------------- Number of entries returned 0 ----------------------------
- 信頼済みドメインを一覧表示します。
[root@ipaserver ~]# ipa trustdomain-find ad.example.com Domain name: ad.example.com Domain NetBIOS name: AD Domain Security Identifier: S-1-5-21-1762709870-351891212-3141221786 Domain enabled: True ---------------------------- Number of entries returned 1 ----------------------------
- 必要に応じて、IdM サーバーが AD ドメインからユーザー情報を取得できることを確認します。
[root@ipaserver ~]# getent passwd administrator@ad.example.com administrator@ad.example.com:*:610600500:610600500:Administrator:/home/ad.example.com/administrator:
5.2.2.3. ID マッピングの確認
- Windows Active Directory ドメインコントローラー (DC) で以下のコマンドを実行して、最高の ID を一覧表示します。
C:\> dcdiag /v /test:ridmanager /s:ad.example.com ... Available RID Pool for the Domain is 1600 to 1073741823 ...
- IdM サーバーの ID 範囲を一覧表示します。
[root@ipaserver ~]# ipa idrange-find ---------------- 1 range matched ---------------- Range name: AD.EXAMPLE.COM_id_range First Posix ID of the range: 610600000 Number of IDs in the range: 200000 First RID of the corresponding RID range: 0 Domain SID of the trusted domain: S-1-5-21-796215754-1239681026-23416912 Range type: Active Directory domain range ---------------------------- Number of entries returned 1 ----------------------------
後の手順で最初の POSIX ID 値が必要です。 - Active Directory DC で、セキュリティー識別子 (SID) またはユーザーを表示します。たとえば、
管理者
の SID を表示するには、次のコマンドを実行します。C:\> wmic useraccount where name="administrator" get sid S-1-5-21-796215754-1239681026-23416912-500
SID の最後の部分は、相対識別子 (RID) です。次の手順では、ユーザーの RID が必要です。注記RID がデフォルトの ID 範囲 (200000) より大きい場合は、ipa idrange-mod コマンドを使用して範囲を拡張します。以下に例を示します。# ipa idrange-mod --range-size=1000000 AD.EXAMPLE.COM_id_range
- IdM サーバーで同じユーザーのユーザー ID を表示します。
[root@ipaserver ~]# id ad\\administrator uid=610600500(administrator@ad.example.com)...
- 最初の POSIX ID 値 (610600000) を RID (500) に追加する場合、IdM サーバー (610600500) で表示されるユーザー ID と一致する必要があります。
5.2.2.4. 既存の IdM インスタンスへの信頼の作成
- 「信頼用の IdM サーバーの準備」 の説明に従って、信頼用に IdM サーバーを準備します。
- 「信頼関係の作成」 で説明されているように、信頼関係を作成します。
- IdM ユーザーごとに SID を生成します。注記信頼を確立するために
ipa-adtrust-install
ユーティリティーを使用したときに SID が生成されている場合は、この手順を実行しないでください。- バックエンド LDAP ディレクトリーで
ipa-sidgen-task
操作を実行することにより、SID を含む新しいipaNTSecurityIdentifier
属性を各エントリーに自動的に追加します。[root@ipaserver ]# ldapmodify -x -H ldap://ipaserver.ipa.example.com:389 -D "cn=directory manager" -w password dn: cn=sidgen,cn=ipa-sidgen-task,cn=tasks,cn=config changetype: add objectClass: top objectClass: extensibleObject cn: sidgen nsslapd-basedn: dc=ipadomain,dc=com delay: 0 adding new entry "cn=sidgen,cn=ipa-sidgen-task,cn=tasks,cn=config"
- タスクが正常に完了したら、SID 生成タスク (
Sidgen タスク
) がゼロ (0) のステータスで終了したエラーログにメッセージが記録されます。[root@ipaserver ]# grep "sidgen_task_thread" /var/log/dirsrv/slapd-IDM-EXAMPLE-COM/errors [20/Jul/2012:18:17:16 +051800] sidgen_task_thread - [file ipa_sidgen_task.c, line 191]: Sidgen task starts ... [20/Jul/2012:18:17:16 +051800] sidgen_task_thread - [file ipa_sidgen_task.c, line 196]: Sidgen task finished [0].
- 「Kerberos 設定の確認」 の説明に従って、Kerberos 設定を確認します。
5.2.2.5. 2 番目の信頼の追加
- 「DNS およびレルムの設定」 の説明に従って、DNS が適切に設定されていることを確認します。
- 「信頼関係の作成」 で説明されているように、信頼関係を作成します。
5.2.2.6. Web UI で信頼の作成
- IdM Web UI を開きます。
https://ipaserver.example.com
- IPA Server メインタブを開き、Trusts サブタブを選択します。
- Trusts サブタブの Add をクリックして、新しい信頼設定ウィンドウを開きます。
- 信頼に必要な情報を入力します。
- Domain フィールドに AD ドメイン名を指定します。
- 信頼を双方向に設定するには、Two-way trust チェックボックスを選択します。信頼を一方向として設定する場合は、Two-way trust は選択されていません。一方向および双方向の信頼に関する詳細情報は、「一方向および双方向の信頼」 を参照してください。
- 別のフォレストでドメインへの外部の信頼を確立するには、External Trust チェックボックスを選択します。詳細は、「Active Directory への外部信頼」 を参照してください。
- Establish using セクションは、信頼の確立方法を定義します。
- AD 管理者のユーザー名およびパスワードを使用して信頼を確立するには、Administrative account を選択して必要な認証情報を指定します。
- 共有パスワードで信頼を確立するには、Pre-shared password を選択して、信頼パスワードを指定します。
- 信頼の ID 設定を定義します。
- Range type オプションでは、ID 範囲タイプを選択できます。IdM が、使用する ID 範囲の種類を自動的に検出させるには、Detect を選択します。
- ID 範囲の開始 ID を定義するには、Base ID フィールドを使用します。ID 範囲のサイズを定義するには、Range size フィールドを使用します。IdM で ID 範囲のデフォルト値を使用する場合は、このオプションを指定しないでください。
ID 範囲の詳細は、「ID 範囲」 を参照してください。
図5.5 Web UI で信頼の追加
- Add をクリックして、新しい信頼を保存します。
5.2.3. フォレスト間の信頼に関するインストール後の考慮事項
5.2.3.1. Active Directory 信頼で潜在的な動作の問題
5.2.3.1.1. Active Directory ユーザーおよび IdM の管理
5.2.3.1.2. 削除された Active Directory ユーザーの認証
5.2.3.1.3. 認証情報キャッシュコレクションおよび Active Directory プリンシパルの選択
- サービス名
- ホスト名
- レルム名
kinit
ユーティリティーを使用してチケットを取得し、SSH を使用して IdM リソースに接続すると、リソースチケットにプリンシパルが選択されません。IdM プリンシパルはリソースのレルム名と一致するため、IdM プリンシパルが使用されます。
Administrator
で、ドメインが ADEXAMPLE.ADREALM
の場合、プリンシパルは Administrator@ADEXAMPLE.ADREALM
になります。
[root@server ~]# kinit Administrator@ADEXAMPLE.ADREALM Password for Administrator@ADEXAMPLE.ADREALM: [root@server ~]# klist Ticket cache: KEYRING:persistent:0:0 Default principal: Administrator@ADEXAMPLE.ADREALM Valid starting Expires Service principal 27.11.2015 11:25:23 27.11.2015 21:25:23 krbtgt/ADEXAMPLE.ADREALM@ADEXAMPLE.ADREALM renew until 28.11.2015 11:25:16
admin
など) がある場合は、IdM のデフォルトプリンシパルに別の IdM 認証情報キャッシュがあります。Active Directory ユーザーが SSH を使用してリソースに接続する場合は、その IdM デフォルトプリンシパルがホストチケットに対して選択されます。
[root@vm-197 ~]# ssh -l Administrator@adexample.adrealm ipaclient.example.com Administrator@adexample.adrealm@ipaclient.example.com's password: [root@vm-197 ~]# klist -A Ticket cache: KEYRING:persistent:0:0 Default principal: Administrator@ADEXAMPLE.ADREALM Valid starting Expires Service principal 27.11.2015 11:25:23 27.11.2015 21:25:23 krbtgt/ADEXAMPLE.ADREALM@ADEXAMPLE.ADREALM renew until 28.11.2015 11:25:16 Ticket cache: KEYRING:persistent:0:0Default principal: admin@EXAMPLE.COM
>>>>> IdM user Valid starting Expires Service principal 27.11.2015 11:25:18 28.11.2015 11:25:16 krbtgt/EXAMPLE.COM@EXAMPLE.COM27.11.2015 11:25:48 28.11.2015 11:25:16 host/ipaclient.example.com@EXAMPLE.COM
>>>>> host principal
5.2.3.1.4. グループ SID の解決
Kerberos チケットの損失
ユーザーのグループメンバーシップを確認できない
Active Directory ユーザー用に、リモート Active Directory グループメンバーを表示できません。
id
ユーティリティーを使用すると、Linux システムユーザーのローカルグループの関連付けを表示できます。ただし、Samba ツールが表示されていても、id
は Active Directory ユーザーの Active Directory グループのメンバーシップは表示されません。
ssh
ユーティリティーを使用して、指定の AD ユーザーとして IdM クライアントマシンにログインできます。AD ユーザーが初めてログインすると、id
検索は AD グループメンバーシップを検出し、表示します。
[root@ipaserver ~]# id ADDOMAIN\user uid=1921801107(user@ad.example.com) gid=1921801107(user@ad.example.com) groups=1921801107(user@ad.example.com),129600004(ad_users),1921800513(domain users@ad.example.com)
5.2.3.2. 信頼エージェントの設定
- 既存の信頼コントローラーで、ipa-adtrust-install --add-agents コマンドを実行します。
[root@existing_trust_controller]# ipa-adtrust-install --add-agents
このコマンドは、対話型設定セッションを開始し、エージェントの設定に必要な情報の入力を求めます。--add-agents
オプションの詳細は、ipa-adtrust-install(1) の man ページを参照してください。 - 新しいレプリカでは、次を実行します。
- IdM サービスを再起動します。
[root@new_trust_controller]# ipactl restart
- SSSD キャッシュからエントリーをすべて削除します。
[root@new_trust_controller]# sssctl cache-remove
注記sssctl コマンドを使用するには、sssd-tools パッケージをインストールする必要があります。 - 必要に応じて、レプリカに AD 信頼エージェント ロールがインストールされていることを確認します。
[root@new_trust_controller]# ipa server-show new_replica.idm.example.com ... Enabled server roles: CA server, NTP server, AD trust agent
5.3. フォレスト間の信頼環境の管理および設定
5.3.1. 信頼されているドメイン環境でのユーザープリンシパル名
username@KERBEROS-REALM
です。Active Directory フォレストでは、追加の UPN 接尾辞を設定できます。これらのエンタープライズプリンシパル名は、別のログインをデフォルトの UPN に提供するために使用されます。
AD.EXAMPLE.COM
Kerberos レルムを使用する場合に、ユーザーのデフォルトの UPN は user@ad.example.com
です。ただし、多くの場合、ユーザーが user@example.com
などのメールアドレスを使用してログインできるようにする必要があります。この場合、管理者は追加の UPN 接尾辞 example.com
を Active Directory フォレストに追加し、ユーザーのアカウントプロパティーに新しい接尾辞を設定します。
userPrincipalName
属性を設定するなど、低レベルの変更で UPN を設定することを推奨します。
[root@ipaserver ~]# ipa trust-fetch-domains Realm-Name: ad.example.com ------------------------------- No new trust domains were found ------------------------------- ---------------------------- Number of entries returned 0 ----------------------------
[root@ipaserver ~]# ipa trust-show
Realm-Name: ad.example.com
Realm-Name: ad.example.com
Domain NetBIOS name: AD
Domain Security Identifier: S-1-5-21-796215754-1239681026-23416912
Trust direction: Two-way trust
Trust type: Active Directory domain
UPN suffixes: example.com
cn=trusted_domain_name,cn=ad,cn=trusts,dc=idm,dc=example,dc=com
サブツリーの複数値の ipaNTAdditionalSuffixes
属性に保存されます。
5.3.2. Active Directory DNS ドメインの IdM クライアント
5.3.2.1. IdM クライアントへの Kerberos シングルサインオンは必要ない
- クライアントの System Security Service Daemon (SSSD) が IdM サーバーと通信できるようにするには、IdM クライアントを
--domain=IPA_DNS_Domain
オプションを使用してインストールします。[root@idm-client.ad.example.com ~]# ipa-client-install --domain=idm.example.com
このオプションは、Active Directory DNS ドメインの SRV レコードの自動検出を無効にします。 /etc/krb5.conf
設定ファイルの[domain_realm]
セクションで、Active Directory ドメインの既存のマッピングを見つけます。.ad.example.com = IDM.EXAMPLE.COM ad.example.com = IDM.EXAMPLE.COM
両方の行を、Active Directory DNS ゾーンの Linux クライアントの完全修飾ドメイン名 (FQDN) の IdM レルムへのマッピングエントリーに置き換えます。idm-client.ad.example.com = IDM.EXAMPLE.COM
デフォルトのマッピングを置き換えても、Kerberos が Active Directory ドメインの要求を IdM Kerberos Distribution Center (KDC) に送信しないようにします。Kerberos は、SRV DNS レコードを介して自動検出を使用して KDC を見つけます。追加されたホストidm-client.ad.example.com
に対してのみ、IdM KDC が設定されます。
SSL 証明書の処理
certmonger
はこの名前の証明書を要求できます。
[root@idm-client.ad.example.com ~]# ipa-getcert request -r \ -f /etc/httpd/alias/server.crt \ -k /etc/httpd/alias/server.key \ -N CN=ipa-client.ad.example.com \ -D ipa-client.ad.example.com \ -K host/idm-client.ad.example.com@IDM.EXAMPLE.COM \ -U id-kp-serverAuth
certmonger
サービスは、/etc/krb5.keytab
ファイルに保存されているデフォルトのホストキーを使用して、IdM 認証局 (CA) に対して認証を行います。
5.3.2.2. IdM クライアントへの Kerberos シングルサインオンが必要です。
idm-client.idm.example.com
などの IdM DNS ドメイン内になければなりません。IdM クライアントの A/AAAA レコードを参照する Active Directory DNS ドメインで CNAME レコード idm-client.ad.example.com
を作成する必要があります。
/etc/krb5.conf
設定ファイルの [libdefaults]
セクションに以下のオプションを設定します。
ignore_acceptor_hostname = true
SSL 証明書の処理
certmonger
はこの名前の証明書を要求できます。
- 新規ホストオブジェクトを作成します。
[root@idm-server.idm.example.com ~]# ipa host-add idm-client.ad.example.com --force
ホスト名は CNAME であり、A/AAAA レコードではないため、--force
オプションを使用します。 - IdM DNS ホスト名が、IdM データベースの Active Directory ホストエントリーを管理できるようにします。
[root@idm-server.idm.example.com ~]# ipa host-add-managedby idm-client.ad.example.com \ --hosts=idm-client.idm.example.com
[root@idm-client.idm.example.com ~]# ipa-getcert request -r \ -f /etc/httpd/alias/server.crt \ -k /etc/httpd/alias/server.key \ -N CN=`hostname --fqdn` \ -D `hostname --fqdn` \ -D idm-client.ad.example.com \ -K host/idm-client.idm.example.com@IDM.EXAMPLE.COM \ -U id-kp-serverAuth
5.3.3. Active Directory ユーザーの IdM グループの作成
- 任意。IdM レルムで AD ユーザーを管理するのに使用する AD ドメインでグループを作成するか、または選択します。IdM 側で複数のグループを使用でき、別のグループに追加できます。
--external
オプションを ipa group-add コマンドに追加して、Active Directory ユーザーの IdM ドメインに外部グループを作成します。--external
オプションは、このグループに IdM ドメイン外からのメンバーが含まれるように指定します。以下に例を示します。[root@ipaserver ~]# ipa group-add --desc='AD users external map' ad_users_external --external ------------------------------- Added group "ad_users_external" ------------------------------- Group name: ad_users_external Description: AD users external map
注記外部グループは、ユーザーのプライマリーグループではなく、ユーザーの追加のグループにリンクする必要があります。Active Directory はグループのmember
属性にグループメンバーを保存し、IdM はこの属性を使用してメンバーを解決します。ただし、Active Directory はユーザーのプライマリーグループをユーザーのエントリーのprimaryGroupID
属性に保存しますが、これは解決されません。- 新しい IdM POSIX グループを作成するか、IdM ポリシーを管理する既存のものを選択します。たとえば、新規グループを作成するには、次のコマンドを実行します。
[root@ipaserver ~]# ipa group-add --desc='AD users' ad_users ---------------------- Added group "ad_users" ---------------------- Group name: ad_users Description: AD users GID: 129600004
- AD ユーザーまたはグループを外部メンバーとして IdM 外部グループに追加します。AD メンバーは、
DOMAIN\group_name
、DOMAIN\username
などの完全修飾名で識別されます。AD アイデンティティーは、ユーザーまたはグループの Active Directory SID にマッピングされます。たとえば、AD グループの場合は、以下のようになります。[root@ipaserver ~]# ipa group-add-member ad_users_external --external "AD\Domain Users" [member user]: [member group]: Group name: ad_users_external Description: AD users external map External member: S-1-5-21-3655990580-1375374850-1633065477-513 SID_DOM_GROUP (2) ------------------------- Number of members added 1 -------------------------
- 外部 IdM グループをメンバーとして POSIX IdM グループに追加します。以下に例を示します。
[root@ipaserver ~]# ipa group-add-member ad_users --groups ad_users_external Group name: ad_users Description: AD users GID: 129600004 Member groups: ad_users_external ------------------------- Number of members added 1 -------------------------
5.3.4. 信頼の維持
5.3.4.1. グローバル信頼設定の編集
ipa-adtrust-install
ユーティリティーは、Active Directory ドメインへの信頼の作成に必要な IdM ドメインのバックグラウンド情報を自動的に設定します。
- Windows スタイルのセキュリティー ID (SID)。この属性は自動生成され、修正できません。
- ドメイン GUID。この属性は自動生成され、変更できません。
- Kerberos ドメイン名。この属性は IdM 設定から取得され、変更できません。
- IdM ユーザーを追加するデフォルトのグループ。この属性は変更できます。
- NetBIOS 名。この属性を変更することは推奨されません。
cn=domain,cn=ad,cn=etc,dc=example,dc=com
サブツリーに保存されます。
5.3.4.1.1. NetBIOS 名の変更
ipa-adtrust-install
ユーティリティーを実行するときに、Active Directory トポロジーと互換性がある NetBIOS 名は、IdM サーバーに対して設定されます。後で変更するには、ipa-adtrust-install
を再度実行し、--netbios-name
オプションを使用して新しい NetBIOS 名を指定します。
[root@ipaserver ]# ipa-adtrust-install --netbios-name=NEWBIOSNAME
5.3.4.1.2. Windows ユーザーのデフォルトグループの変更
ipa-adtrust-install
ユーティリティーが自動作成されるフォールバックグループです。デフォルトのグループは削除できませんが、グローバル信頼設定を使用して、IdM ユーザーのプライマリーグループのフォールバックとして使用する別の IdM グループを指定できます。
[root@server ~]# kinit admin [root@server ~]# ipa trustconfig-mod --fallback-primary-group="Example Windows Group"
- IdM Web UI を開きます。
https://ipaserver.example.com
- IPA Server メインタブで Trusts サブタブを選択し、Global Configuration セクションを開きます。
- Fallback primary group ドロップダウンリストのすべての IdM グループから、新しいグループを選択します。
図5.6 Windows ユーザーのデフォルトグループの設定
- Save をクリックして、新しい設定を保存します。
5.3.4.2. 信頼ドメインの検出、有効化、および無効化
cn=subdomain,cn=trust_name,cn=ad,cn=trusts,dc=example,dc=com
の独自のエントリーに保存されます。
[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa trust-fetch-domains ad.example.com -------------------------------------------- List of trust domains successfully refreshed -------------------------------------------- Realm name: test.ad.example.com Domain NetBIOS name: TEST Domain Security Identifier: S-1-5-21-87535643-5658642561-5780864324 Realm name: users.ad.example.com Domain NetBIOS name: USERS Domain Security Identifier: S-1-5-21-91314187-2404433721-1858927112 Realm name: prod.ad.example.com Domain NetBIOS name: PROD Domain Security Identifier: S-1-5-21-46580863-3346886432-4578854233 ---------------------------- Number of entries returned 3 ----------------------------
[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa trustdomain-disable test.ad.example.com ------------------------------------------ Disabled trust domain "test.ad.example.com" ------------------------------------------
[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa trustdomain-del prod.ad.example.com ------------------------------------------------------------------- Removed information about the trusted domain " "prod.ad.example.com" -------------------------------------------------------------------
5.3.4.3. IdM Kerberos レルムに関連付けられたドメインの表示および管理
[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa realmdomains-show Domain: ipa.example.org, ipa.example.com, example.com
- ipa dnszone-add コマンドを使用して新規 DNS ゾーンが IdM に追加されると、ドメイン一覧にドメイン一覧が自動的に追加されます。ipa realmdomains-show を実行すると、IdM KDC が管理するドメインの一覧で新しいドメインが表示されます。
# kinit admin # ipa dnszone-add ipa2.example.com # ipa realmdomains-show Domain: ipa.example.org, ipa.example.com, example.com, ipa2.example.com
IdM Kerberos レルムに関連付けられたドメインの削除や、その他の修正も自動的に行われます。
- IdM Kerberos レルムの一部となっている DNS ゾーンが追加される場合は、IdM KDC の制御下にあるドメインの IdM 一覧に新規ドメインを手動で追加する必要があります。
--add-domain
オプションを指定した ipa realmdomains-mod コマンドを使用して、新しいドメインを追加します。[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa realmdomains-mod --add-domain=ipa2.example.com Domain: ipa.example.org, ipa.example.com, example.com, ipa2.example.com
DNS ゾーンが削除された場合は、IdM Kerberos レルムに関連付けられたドメインも手動で削除する必要があります。[root@ipaserver ~]# kinit admin [root@ipaserver ~]# ipa realmdomains-mod --del-domain=ipa2.example.com Domain: ipa.example.org, ipa.example.com, example.com
ドメインのリストに複数の変更を加える必要がある場合は、--domain
オプションを使用して、リスト自体を変更および置換できます。[root@ipaserver ~]# ipa realmdomains-mod --domain={ipa.example.org,ipa2.example.com}
5.3.4.4. 推移的な信頼における UID および GID 番号範囲の追加
--base-id
オプションは、開始番号である POSIX 範囲のベース ID を設定します--range-size
オプションは、IdM が使用する POSIX ID 範囲のサイズを設定します。IdM は、信頼できる AD ドメイン内のユーザーとグループの RID を POSIX ID にマップします。--range-size
オプションは、IdM が作成する ID の最大数を定義します。AD は、作成するユーザーとグループごとに新しい RID を使用します。ユーザーまたはグループを削除した場合、AD は今後の AD エントリーに RID を再利用しません。したがって、範囲は、IdM が既存の各 AD ユーザーとグループ、および将来作成するものに ID を割り当てるのに十分な大きさである必要があります。たとえば、管理者が 50000 人の AD ユーザーのうち 20000 人を削除し、その間に 10000 人の新しいアカウントを作成する場合、範囲は少なくとも 60000 に設定する必要があります。ただし、範囲にも十分な予約があることが重要になります。大規模な環境では、デフォルト (200000) 範囲のサイズが十分ではないことが予想されます。--range-size
を高い値に設定します。--rid-base
オプションは、SID の右端の番号である RID の開始番号を設定します。この値は、競合を防ぐためにベース ID に追加する範囲を表します- 信頼用に複数のドメインを設定できるため、
--dom-sid
オプションはドメイン SID を設定します。
[root@server ~]$ kinit admin [root@server ~]$ ipa idrange-add --base-id=1200000 --range-size=200000 --rid-base=0 --dom-sid=S-1-5-21-123-456-789 trusted_dom_range
5.3.4.5. DNA ID 範囲の手動調整
# ipa-replica-manage dnarange-set masterA.example.com 1250-1499
# ipa-replica-manage dnanextrange-set masterB.example.com 1500-5000
5.3.4.6. サービスおよびホスト向けの Kerberos フラグ
OK_AS_DELEGATE
が必要です。
5.3.5. サービスの PAC タイプの設定
5.3.5.1. デフォルト PAC タイプの設定
- IPA Server タブを開きます。
- Configuration サブタブを選択します。
- Service Options 領域にスクロールします。
図5.7 Service Options 領域
- PAC を使用するには、MS-PAC チェックボックスを選択します。これで AD サービスで使用可能な証明書が追加されます。チェックボックスが選択されないと、PAC は Kerberos チケットに追加されません。nfs:NONE チェックボックスを選択すると、MS-PAC レコードは NFS サーバーに対して発行されたサービスチケットに追加されません。注記PAD チェックボックスは無視できます。この機能は、IdM ではまだ利用できません。
- 変更を保存するには、ページの上部にある Update リンクをクリックします。
5.3.5.2. サービスの PAC タイプの設定
--pac-type
オプションを指定して ipa service-mod コマンドを使用します。コマンドの使用方法については、--help
オプションを追加して実行してください。
$ ipa service-mod --help Usage: ipa [global-options] service-mod PRINCIPAL [options] Modify an existing IPA service. Options: -h, --help show this help message and exit ...
- Identity タブを開き、Services サブタブを選択します。
- 編集するサービスの名前をクリックします。
- Service Settings 領域で Override inherited settings オプションを選択し、MS-PAC チェックボックスを選択して AD サービスが使用可能な証明書を追加します。
図5.8 Service Settings 領域
チェックボックスが選択されない場合、PAC は Kerberos チケットに追加されません。注記PAD チェックボックスは無視できます。この機能は、IdM ではまだ利用できません。 - 変更を保存するには、ページの上部にある Update リンクをクリックします。
5.3.6. Active Directory で定義された POSIX 属性の使用
5.3.6.1. Active Directory ユーザーの UID 属性および GID 属性の定義
5.3.6.2. ログインシェルとホームディレクトリー属性の送信
loginShell
属性。これは AD ユーザーのシェルを指定します。unixHomeDirectory
属性。これは AD ユーザーのホームディレクトリーを指定します。
/etc/ssd/ssd.conf
ファイルの domain
セクションの subdomain_homedir
オプションに %o
を設定する必要があります。%o
値は、アイデンティティープロバイダーから取得したホームディレクトリーを表します。以下に例を示します。
[domain/example.com] subdomain_homedir = %o
loginShell
や unixHomeDirectory
を変更した場合、この変更は IdM 側で自動的に反映されます。属性が AD サーバーで定義されていない場合、SSSD はテンプレートのデフォルト値を使用します。このデフォルト値は IdM クライアントにも表示されます。
5.3.7. IdM リソースの Active Directory マシンからの SSH の使用
5.3.7.1. キャッシュに関する考慮事項
- エントリーは自動的に期限切れになりました。
sss_cache
ユーティリティーを使用して、キャッシュ内のユーザーのエントリーを手動で失効させます。# sss_cache --user user_name
kinit
ユーティリティーまたは Web UI を使用して IdM サーバーへのユーザー認証を行います。
5.3.7.2. パスワードなしでの SSH の使用
localauth
Kerberos プラグインは、Kerberos プリンシパルが自動的にローカルの SSSD ユーザー名にマッピングされるようにします。この localauth
を使うことで、信頼される AD ドメインの Windows ユーザーは Kerberos を使用したログイン時にパスワードが求められず、パスワードなしで SSH を使用できるようになります。
sssd
が Kerberos ライブラリーに接続してプリンシパルを POSIX ID にマッピングする際には、SSSD プラグインは IdM で定義された信頼合意に従ってこれらをマッピングします。
# ipa host-mod bastion_host.idm.example.com --ok-as-delegate=true
Red Hat Enterprise Linux 7.1 以降のシステムでの AD ユーザーの Kerberos 認証
localauth
Kerberos プラグインを自動設定します。
user@AD.DOMAIN
、ad.domain\user
、および AD\user
形式でのユーザー名を許可します。
localauth
を使用するシステムでは、/etc/krb5.conf
ファイルで auth_to_local
オプションを設定したり、.k5login
ファイルで Kerberos プリンシパルをリストアップする必要はありません。localauth
プラグインにより、パスワードなしのログインに使用されていたこの設定は不要になります。
AD ユーザーの Kerberos 認証の手動設定
localauth
プラグインがない場合は、ユーザーが適切な Kerberos チケットを取得した場合でも、SSH は Active Directory ドメインユーザーのユーザーパスワードを要求します。
/etc/krb5.conf
ファイルに auth_to_local
オプションを設定するか、ユーザーのホームディレクトリーの .k5login
ファイルにユーザーの Kerberos プリンシパルをリストアップします。
/etc/krb5.conf
の設定- 以下の手順では、Kerberos 設定ファイルにレルムマッピングを設定する方法を説明しています。
/etc/krb5.conf
ファイルを開きます。realms
セクションで IdM レルムを名前で特定し、Kerberos プリンシパル名のマッピングを定義するためにauth_to_local
行を 2 行追加します。- 1 つ目のルールでは、異なる Active Directory ユーザー名形式と特定の Active Directory ドメインをマッピングするルールを定義します。
- 他のルールで、標準の Unix ユーザー名に
DEFAULT
の値を設定します。
以下に例を示します。[realms] IDM = { .... auth_to_local = RULE:[1:$1@$0](^.*@ADDOMAIN$)s/@ADDOMAIN/@addomain/ auth_to_local = DEFAULT }
- KDC サービスを再起動します。
[root@server ~]# systemctl restart krb5kdc.service
auth_to_local
オプションを使用して Kerberos 認証を設定する場合、SSH アクセスに使用するユーザー名は次の条件を満たす必要があることに注意してください。- ユーザー名が
ad_user@ad_domain
形式になっていること。 - ドメイン名が小文字であること。
- ユーザー名の大文字/小文字が Active Directory 内のユーザー名と一致していること。たとえば、
user
とUser
は、大文字と小文字で異なるので、別のユーザー名とみなされます。
auth_to_local
の設定は、krb5.conf(5) man ページを参照してください。 .k5login
の設定- 以下の手順では、システムがローカルユーザー名の Kerberos プリンシパル名を見つける設定を行います。
- ユーザーのホームディレクトリーに
.k5login
ファイルを作成します。 - 作成したファイルにユーザーが使用する Kerberos プリンシパルを記載します。
認証しているユーザーが既存の Kerberos チケットのプリンシパルと一致する場合、ユーザーはパスワードを求められることなく、そのチケットを使用してログインできます。.k5login
設定を使用して Kerberos 認証を設定する場合は、SSH アクセスに使用するユーザー名はad_user@ad_domain
の形式を取る必要があります。.k5login
ファイルの設定に関する詳細は、.k5login(5) の man ページを参照してください。
5.3.8. Kerberos 対応 Web アプリケーションでの信頼の使用
[root@ipaserver ~]# systemctl restart httpd.service
KrbAuthRealms
KrbAuthRealms
オプションは、アプリケーションの場所を IdM ドメインの名前に指定します。これは必須です。Krb5Keytab
Krb5Keytab
オプションは、IdM サーバーのキータブの場所を提供します。これは必須です。KrbServiceName
KrbServiceName
オプションは、キータブ (HTTP) に使用される Kerberos サービス名を設定します。これは推奨されるオプションです。KrbMethodK5Passwd
およびKrbMethodNegotiate
KrbMethodK5Passwd
Kerberos メソッドオプションは、有効なユーザーに対してパスワードベースの認証を有効にします。KrbMethodNegotiate
オプションは、有効な Kerberos チケットが利用可能な場合に Single Sign-On (SSO) を有効にします。ユーザーが多い場合は、これらのオプションの使用が推奨されます。KrbLocalUserMapping
KrbLocalUserMapping
オプションは、通常の Web ログイン (通常はアカウントの UID またはコモンネーム) を完全修飾ユーザー名 (フォーマットは user@REALM.COM) にマッピングすることを可能にします。このオプションの使用は強く推奨されます。ドメイン名/ログイン名マッピングがないと、Web ログインはドメインユーザーとは別のユーザーアカウントになるよう見えます。つまり、ユーザーは予想されるデータを表示できません。サポートされるユーザー名形式の詳細については、「サポートされるユーザー名の形式」 を参照してください。
例5.1 Apache Web アプリケーションの Kerberos 設定
<Location "/mywebapp"> AuthType Kerberos AuthName "IPA Kerberos authentication" KrbMethodNegotiate on KrbMethodK5Passwd on KrbServiceName HTTPKrbAuthRealms IDM_DOMAIN
Krb5Keytab /etc/httpd/conf/ipa.keytab
KrbLocalUserMapping on
KrbSaveCredentials off Require valid-user </Location>
5.3.9. Active Directory Kerberos 通信用の Kerberos Distribution Center プロキシーとしての IdM サーバーの設定
- IdM クライアントで、Active Directory レルムを
/etc/krb5.conf
ファイルの [realms] セクションに追加します。kdc
パラメーターおよびkpasswd_server
パラメーターを、IdM サーバーの完全修飾ドメイン名 (その後に続く/KdcProxy
) を参照するように設定します。AD.EXAMPLE.COM = { kdc = https://server.idm.example.com/KdcProxy kpasswd_server = https://server.idm.example.com/KdcProxy }
- IdM クライアントで、前の手順の
/etc/krb5.conf
指定を上書きする可能性のある/var/lib/sss/pubconf/kdcinfo.*
ファイルの作成を無効にします。/etc/sssd/sssd.conf
ファイルを編集し、krb5_use_kdcinfo
をFalse
に設定します。[domain/example.com] krb5_use_kdcinfo = False
- IdM サーバーで、
/etc/ipa/kdcproxy/kdcproxy.conf
ファイルでuse_dns
オプションをtrue
に設定し、DNS サービス (SRV) レコードを使用して以下と通信するための AD サーバーを検索します。use_dns = true
また、DNS SRV レコードを使用しない場合は、明示的な AD サーバーを/etc/krb5.conf
ファイルの [realms] セクションに追加します。AD.EXAMPLE.COM = { kdc = ad-server.ad.example.com kpasswd_server = ad-server.ad.example.com }
注記この手順の 2 と 3 を実行するには、Ansible スクリプトなどのスクリプトを実行します。これは、複数のシステムで変更を行う場合などに特に便利です。 - IdM サーバーで IPA サービスを再起動します。
# ipactl restart
- この手順が成功したことを確認するには、IdM クライアントで以下のコマンドを実行します。
# rm /var/lib/sss/pubconf/kdcinfo* # kinit ad_user@AD.EXAMPLE.COM Password for ad_user@AD.EXAMPLE.COM: # klist Ticket cache: KEYRING:persistent:0:0 Default principal: ad_user@AD.EXAMPLE.COM Valid starting Expires Service principal [... output truncated ...]
5.4. 信頼された Active Directory ドメインのユーザーおよびグループの LDAP 検索ベースを変更する手順
5.4.1. 前提条件
- ユーザーが所属する全グループを SSSD が解決しないように、Active Directory 側の
tokenGroups
属性のサポートを無効にすることを検討してください。tokenGroups
が有効な場合には、属性に、SID のフラットリストが含まれるため、SSSD はユーザーが所属する全グループを解決します。この属性に関する詳細は、Microsoft Developer Network の Token-Groups attribute を参照してください。
5.4.2. 検索を制限する LDAP 検索ベースの設定
/etc/sssd/sssd.conf
ファイルを編集して、固有のサブツリーに、SSSD の検索を制限する方法を説明します。
留意事項
- SSSD クライアントが Active Directory ドメインに直接参加している場合は、すべてのクライアントでこの手順を実行します。
- SSSD クライアントが Active Directory を使用する信頼にある Identity Management ドメインにある場合は、Identity Management サーバーでこの手順のみを実行します。
手順
- 信頼できるドメインには、
sssd.conf
に別の[domain]
セクションがあることを確認します。信頼されるドメインセクションの見出しは、以下のテンプレートに従います。[domain/main_domain/trusted_domain]
以下に例を示します。[domain/idm.example.com/ad.example.com]
sssd.conf
ファイルを編集して、特定の組織単位 (OU) に検索ベースを制限します。たとえば、ldap_search_base
オプションは、すべてのタイプのオブジェクトの検索ベースを変更します。[domain/idm.example.com/ad.example.com]
ldap_search_base = ou=finance,dc=ad,dc=example,dc=com
ldap_user_search_base
、ldap_group_search_base
、ldap_netgroup_search_base
、およびldap_service_search_base
オプションも使用できます。これらのオプションの詳細は、sssd-ldap(5) の man ページを参照してください。- SSSD を再起動します。
# systemctl restart sssd.service
- 確認するには、SSSD クライアント上の複数の Active Directory ユーザーを解決します。たとえば、ユーザーの検索ベースとグループの検索ベースへの変更をテストするには、以下を実行します。
# getent passwd ad_user@ad.example.com # getent group ad_group@ad.example.com
SSSD が正しく設定されている場合は、設定した検索ベースからのオブジェクトだけを解決できます。
- SSSD キャッシュを失効させます。
# sss_cache --everything
sssd.conf
の一般的な[domain]
セクションで、debug_level
オプションを9
に設定します。- ユーザーを解決するためのコマンドを繰り返します。
/var/log/sssd/
の SSSD ログで、sdap_get_generic_*
関数からのメッセージを探します。この関数は、ユーザー検索に使用したフィルターおよび検索ベースをログに記録します。
関連情報
sssd.conf
の信頼できるドメインセクションで使用できるオプションの一覧は、sssd.conf(5) の man ページのTRUSTED DOMAIN SECTION
を参照してください。
5.5. SSSD が表示するユーザー名の形式の変更
user_name@domain_name
形式を使用します。この形式を変更する前に、「サポートされるユーザー名の形式」 でデフォルト値の理由を確認してください。
- 次のエントリーを
/etc/sssd/sssd.conf
ファイルのドメインのセクションに追加します。full_name_format = %1$s
- SSSD を再起動します。
# systemctl restart sssd
5.6. Identity Management または SSSD を、信頼された Active Directory ドメインの中から選択された Active Directory サーバーやサイトに制限する手順
5.6.1. SSSD が特定の Active Directory サーバーに問い合わせするための設定
/etc/sssd/sssd.conf
ファイルを編集して、SSSD が接続する Active Directory サーバーを手動で設定する方法を説明します。
留意事項
- SSSD クライアントが Active Directory ドメインに直接参加している場合は、すべてのクライアントでこの手順を実行します。この設定では、Active Directory ドメインコントローラー (DC) またはサイトを制限することで、SSSD が特定のサーバーまたはサイトに接続して認証されるように設定します。
- SSSD クライアントが Active Directory を使用する信頼にある Identity Management ドメインにある場合は、Identity Management サーバーでこの手順のみを実行します。この設定では、Active Directory DC またはサイトを制限しても、Identity Management クライアントが特定のサーバーまたはサイトに接続して認証されるようには設定されません。信頼された Active Directory ユーザーおよびグループは、Identity Management サーバーを使用して解決されますが、認証は、直接 Active Directory DC に対して行われます。Red Hat Enterprise Linux 7.6 および sssd-1.16.2-5.el7 以降 では、
ad_server
およびad_site
オプションを使用して、IdM クライアントで SSSD を特定の AD サーバーまたはサイトを使用するように設定できます。Red Hat Enterprise Linux 7 の以前のバージョンでは、クライアント上の/etc/krb5.conf
ファイルで、必要とされる Active Directory DC を定義して、認証を制限することができます。
手順
- 信頼できるドメインには、
sssd.conf
に別の[domain]
セクションがあることを確認します。信頼されるドメインセクションの見出しは、以下のテンプレートに従います。[domain/main_domain/trusted_domain]
以下に例を示します。[domain/idm.example.com/ad.example.com]
sssd.conf
ファイルを編集して、SSSD を接続する Active Directory サーバーまたはサイトのホスト名を一覧表示します。Active Directory Server のad_server
オプションと、必要に応じてad_server_backup
オプションを使用します。Active Directory サイトにはad_site
オプションを使用します。これらのオプションの詳細は、sssd-ad(5) の man ページを参照してください。以下に例を示します。[domain/idm.example.com/ad.example.com]
ad_server = dc1.ad.example.com
- SSSD を再起動します。
# systemctl restart sssd.service
- 確認するには、SSSD クライアントで、設定したサーバーまたはサイトの Active Directory ユーザーとして解決または認証を行います。以下に例を示します。
# id ad_user@ad.example.com
sssd.conf
の一般的な[domain]
セクションで、debug_level
オプションを9
に設定します。/var/log/sssd/
で SSSD ログを調査して、どのサーバーに SSSD が問い合わせたかを確認します。
関連情報
sssd.conf
の信頼できるドメインセクションで使用できるオプションの一覧は、sssd.conf(5) の man ページのTRUSTED DOMAIN SECTION
を参照してください。
5.7. レガシー Linux クライアントでの Active Directory 信頼
nss_ldap
、nss-pam-ldapd
、またはバージョン 1.8 以前の SSSD などの他のユーティリティーを使用します。以下のバージョンの Red Hat Enterprise Linux を稼働しているクライアントは SSSD 1.9 を使用しないため、レガシークライアントとみなされます。
- Red Hat Enterprise Linux 5.7 以降
- Red Hat Enterprise Linux 6.0 ~ 6.3
- Kerberos 認証
- ホストベースのアクセス制御 (HBAC)
- SELinux ユーザーマッピング
sudo
ルール
- 情報検索
- パスワード認証
5.7.1. レガシークライアントでの AD 信頼向けのサーバー側設定
- IdM の ipa-server パッケージと IdM 信頼アドオンの ipa-server-trust-ad パッケージがインストールされています。
ipa-server-install
ユーティリティーを実行して IdM サーバーが設定されていること。- ipa-adtrust-install --enable-compat コマンドが実行済みで、IdM サーバーが AD ドメインとの信頼をサポートしており、compat LDAP ツリーが利用可能であること。過去に
--enable-compat
オプションを指定せずにipa-adtrust-install
をすでに実行している場合は、再度--enable-compat
を追加します。 - ipa trust-add ad.example.org コマンドを実行して AD 信頼が確立されていること。
allow_all
ルールが無効になっている場合は、IdM サーバー上で system-auth
サーバーを有効にして AD ユーザーの認証を許可します。
allow_all
の現行ステータスを直接決定できます。ルールが無効化されると、Enabled: FALSE
が出力に表示されます。
[user@server ~]$ kinit admin
[user@server ~]$ ipa hbacrule-show allow_all
Rule name: allow_all
User category: all
Host category: all
Service category: all
Description: Allow all users to access any host from any host
Enabled: FALSE
system-auth
を有効にするには、system-auth
という名前の HBAC サービスを作成し、このサービスを使用して HBAC ルールを追加して IdM マスターへのアクセスを付与します。HBAC サービスとルールの追加については、『Linux Domain Identity、Authentication、and Policy Guide』 の Configuring Host-Based Access Control セクションで説明されています。HBAC サービスは PAM サービス名であることに注意してください。新規 PAM サービスを追加する場合は、同一名の HBAC サービスを作成し、HBAC ルールでこのサービスへのアクセスを付与します。
5.7.2. ipa-advise
ユーティリティーを使用したクライアント側の設定
ipa-advise
ユーティリティーは、AD 信頼向けにレガシークライアントを設定する方法の指示を提供します。
ipa-advise
が設定指示を提供可能なシナリオ一覧を表示するには、ipa-advise
をオプションなしで実行します。ipa-advise
を実行すると、使用可能なすべての設定命令セットの名前が、各セットの機能と、使用が推奨されるタイミングの説明とともに出力されます。
[root@server ~]# ipa-advise config-redhat-nss-ldap : Instructions for configuring a system with nss-ldap as a IPA client. This set of instructions is targeted for platforms that include the authconfig utility, which are all Red Hat based platforms. config-redhat-nss-pam-ldapd : Instructions for configuring a system (...)
ipa-advise
ユーティリティーを実行します。
[root@server ~]# ipa-advise config-redhat-nss-ldap #!/bin/sh # ---------------------------------------------------------------------- # Instructions for configuring a system with nss-ldap as a IPA client. # This set of instructions is targeted for platforms that include the # authconfig utility, which are all Red Hat based platforms. # ---------------------------------------------------------------------- # Schema Compatibility plugin has not been configured on this server. To # configure it, run "ipa-adtrust-install --enable-compat" # Install required packages via yum yum install -y wget openssl nss_ldap authconfig # NOTE: IPA certificate uses the SHA-256 hash function. SHA-256 was # introduced in RHEL5.2. Therefore, clients older than RHEL5.2 will not # be able to interoperate with IPA server 3.x. # Please note that this script assumes /etc/openldap/cacerts as the # default CA certificate location. If this value is different on your # system the script needs to be modified accordingly. # Download the CA certificate of the IPA server mkdir -p -m 755 /etc/openldap/cacerts wget http://idm.example.com/ipa/config/ca.crt -O /etc/openldap/cacerts/ca.crt (...)
ipa-advise
ユーティリティーを使用して Linux クライアントを設定するには、表示された指示をシェルスクリプトとして実行するか、指示を手動で実行します。
- スクリプトファイルを作成します。
[root@server ~]# ipa-advise config-redhat-nss-ldap > setup_script.sh
chmod
ユーティリティーを使用して、実行パーミッションをファイルに追加します。[root@server ~]# chmod +x setup_script.sh
scp
ユーティリティーを使用してスクリプトをクライアントにコピーします。[root@server ~]# scp setup_script.sh root@client
- クライアントでスクリプトを実行します。
[root@client ~]# ./setup_script.sh
重要クライアントでスクリプトを実行する前に、必ずスクリプトファイルを注意深く読んで確認してください。
ipa-advise
で表示される指示をコマンドラインから実行します。
5.8. フォレスト間の信頼のトラブルシューティング
5.8.1. ipa-extdom プラグインのトラブルシューティング
ipa-extdom
を使用して、AD ユーザーおよびグループに関する情報を受け取り、要求元のクライアントに転送します。
ipa-extdom プラグインの設定タイムアウトの設定
ipa-extdom
プラグインは、AD ユーザーのデータに要求を SSSD に送信します。ただし、リクエストされているすべてのデータが SSSD のキャッシュ内にすでに存在するわけではありません。この場合、SSSD は AD ドメインコントローラー (DC) からデータを要求します。これは、特定の操作に時間がかかる場合があります。設定のタイムアウト値は、プラグインが接続をキャンセルしてタイムアウトエラーを呼び出し元に返す前に、ipa-extdom
プラグインが SSSD の応答を待機する時間をミリ秒単位で定義します。
- 設定する値が小さすぎる (例: 500 ミリ秒) と、SSSD に応答するのに十分な時間がない可能性があり、要求は常にタイムアウトを返します。
- 設定する値が大きすぎる (例: 30000 ミリ秒 (30 秒)) と、1 つの要求が、この期間、SSSD への接続をブロックする可能性があります。一度に SSSD に接続できるのは 1 つのスレッドであるため、プラグインからの他のリクエストはすべて待機する必要があります。
- IdM クライアントで多くの要求が送信されると、それは Directory Server 用に設定されたすべての利用可能なワーカーをブロックできます。そのため、サーバーはいずれかの種類の要求に対応できない可能性があります。
- AD ユーザーおよびグループに関する情報を要求する際に、独自の検索タイムアウトが発生する前に IdM クライアントが頻繁にタイムアウトエラーを受け取ると、設定のタイムアウト値が小さすぎます。
- IdM サーバーで Directory Server がロックされていることが多く、
pstack
ユーティリティーは、この時点で多数またはすべてのワーカースレッドがipa-extdom
要求を処理していることを報告する場合は、値が大きすぎます。
# ldapmodify -D "cn=directory manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssTimeout ipaExtdomMaxNssTimeout: 20000
NSS 呼び出しに使用する ipa-extdom プラグインバッファーの最大サイズの設定
ipa-extdom
プラグインは、SSSD からのデータを要求する通常の NSS (name service switch) 呼び出しと同じ API を使用する呼び出しを使用します。この呼び出しは、SSSD が要求するデータを格納するバッファーを使用します。バッファーが小さすぎると、SSSD は ERANGE エラーを返し、プラグインはより大きなバッファーで要求を再試行します。IdM マスタの Directory Server の cn=ipa_extdom_extop,cn=plugins,cn=config エントリーの ipaExtdomMaxNssBufSize
属性は、バッファーの最大サイズをバイトで定義しています。
# ldapmodify -D "cn=directory manager" -W dn: cn=ipa_extdom_extop,cn=plugins,cn=config changetype: modify replace: ipaExtdomMaxNssBufSize ipaExtdomMaxNssBufSize: 268435456
パート III. Linux ドメインと Active Directory ドメインの統合: 同期
Active Directory
と Identity Management
ユーザーを同期する方法、既存の環境を同期から信頼に移行する方法、および Active Directory
環境で ID ビュー
を使用する方法について説明します。
第6章 Active Directory ユーザーおよび Identity Management ユーザーの同期
6.1. サポート対象の Windows プラットフォーム
- フォレスト機能レベルの範囲 - Windows Server 2008 ~ Windows Server 2012 R2
- ドメイン機能レベルの範囲 - Windows Server 2008 ~ Windows Server 2012 R2
- Windows Server 2012 R2
- Windows Server 2016
6.2. Active Directory および Identity Management の概要
図6.1 Active Directory および IdM の同期

表6.1 同期合意内の情報
Windows 情報 | IdM 情報 |
---|---|
|
|
図6.2 同期トポロジー

- 同期操作は 5 分ごとに実行されます。この頻度を変更するには、Active Directory ピア DN の
winSyncInterval
属性を設定します。cn=meTowinserver.ad.example.com,cn=replica,cn=dc\3Didm\,dc\3Dexample\,dc\3Dcom,cn=mapping tree,cn=config
- 同期が設定できるのは、Active Directory ドメイン 1 つのみとなっています。
- 同期が設定できるのは、Active Directory ドメイン 1 つ のみとなっています。
- ユーザー情報のみが同期され、グループ情報は同期されません。
- ユーザー属性とパスワードの両方を同期することができます。
- 変更は双方向ですが (Active Directory から IdM、IdM から Active Directory の両方)、アカウントの作成は、Active Directory から Identity Management への一方向のみになります。新しいアカウントが Active Directory に作成されると、自動的に IdM に対して同期されます。ただし、ユーザーアカウントを IdM で作成した場合には、同期の前に Active Directory にも作成する必要があります。このような場合、同期プロセスは、Active Directory の
sAMAccountName
属性ではなく、IdM のuid
属性と同じ値を持つ一致するアカウントを見つけようとします。一致が見つかると、IdMntUserDomainId
属性は Active Directory のobjectGUID
値に設定されます。これらの属性は、グローバルで一意かつ不変の値で、移動または名前の変更があった場合でもエントリーはそのまま同期されます。 - アカウントロック情報はデフォルトで同期され、1 つのドメインで無効にされているユーザーアカウントは他方のドメインでも無効にされます。
- パスワードの変更は即時に有効になります。ユーザーパスワードが 1 つのピアで追加または変更される場合、その変更は他のピアサーバーに即時に伝播します。パスワード同期クライアントは、新規パスワードまたはパスワード更新を同期します。IdM および Active Directory の両方にハッシュ化されたフォームに格納されている既存のパスワードは、Password Synchronization クライアントのインストール時に復号または同期できません。そのため、既存のパスワードは同期されません。ピアサーバー間の同期を開始するには、ユーザーパスワードを変更する必要があります。
- 合意は 1 つしか使用できませんが、PassSync サービスは各 Active Directory サーバーにインストールする必要があります。
6.3. 同期された属性の概要
Identity Management および Windows サーバーで同一のユーザースキーマ
- cn[2]
- physicalDeliveryOfficeName
- description
- postOfficeBox
- destinationIndicator
- postalAddress
- facsimileTelephoneNumber
- postalCode
- givenname
- registeredAddress
- homePhone
- sn
- homePostalAddress
- st
- initials
- street
- l
- telephoneNumber
- mail
- teletexTerminalIdentifier
- mobile
- telexNumber
- o
- title
- ou
- userCertificate
- pager
- x121Address
表6.2 Identity Management と Active Directory との間でマッピングされるユーザースキーマ
ID 管理 | Active Directory |
---|---|
cn[a] | name |
nsAccountLock | userAccountControl |
ntUserDomainId | sAMAccountName |
ntUserHomeDir | homeDirectory |
ntUserScriptPath | scriptPath |
ntUserLastLogon | lastLogon |
ntUserLastLogoff | lastLogoff |
ntUserAcctExpires | accountExpires |
ntUserCodePage | codePage |
ntUserLogonHours | logonHours |
ntUserMaxStorage | maxStorage |
ntUserProfile | profilePath |
ntUserParms | userParameters |
ntUserWorkstations | userWorkstations |
[a]
cn は、Identity Management から Active Directory に同期するときに直接 (cn から cn に) マップされます。Active Directory から同期する場合、cn は Active Directory の name 属性から Identity Management の cn 属性にマップされます。
|
6.3.1. Identity Management と Active Directory との間のユーザースキーマの相違点
6.3.1.1. cn 属性の値
cn
属性に複数の値を設定できますが、Active Directory ではこの属性には単一の値しか設定できせん。Identity Management の cn
属性が同期されると、単一の値のみが Active Directory ピアに送信されます。
cn
値が Active Directory エントリーに追加され、その値が Identity Management の cn
の値のいずれでもない場合には、Identity Management のcn
値はすべて単一の Active Directory 値で上書きされる可能性があります。
cn
属性をその命名属性として使用するのに対し、Identity Management は uid
を使用する点があります。つまり、cn
属性が Identity Management で編集される可能性がある場合には、エントリーの名前が完全に (および間違って) 変更されてしまう可能性があります。
6.3.1.2. street および streetAddress の値
streetAddress
を使用します。これは、389 Directory Server が street
属性を使用する方法に相当します。Active Directory と Identity Management がそれぞれ streetAddress
と street
属性を使用する方法には、2 つの重要な違いがあります。
- 389 Directory Server では、
streetAddress
はstreet
の別名です。Active Directory にもstreet
属性がありますが、これは独立した値を保持できる別個の属性であり、streetAddress
のエイリアスではありません。 - RFC 4519 で指定されているように、Active Directory は
streetAddress
とstreet
の両方を単一値の属性として定義しますが、389 Directory Server はstreet
を複数値の属性として定義します。
streetAddress
および street
属性を処理する方法が異なるため、Active Directory と Identity Management で address 属性を設定する場合には以下の 2 つのルールに従う必要があります。
- 同期プロセスは、Active Directory エントリーの
streetAddress
を Identity Management のstreet
にマップします。競合を避けるため、Active Directory ではstreet
属性は使用しないでください。 - Identity Management の
street
属性値は 1 つだけ、Active Directory に同期されます。streetAddress
属性が Active Directory で変更され、新しい値が Identity Management に存在しない場合には、Identity Management のすべてのstreet
属性値が新しい単一の Active Directory の値に置き換えられます。
6.3.1.3. initials 属性の制約
initials
属性の場合には、Active Directory は最大長 6 文字の制限を課しますが、389 Directory Serve には長さ制限がありません。Identity Management に 7 文字以上の initials
属性が 追加されると、この値は Active Directory エントリーとの同期時にカットされます。
6.3.1.4. surname (sn) 属性の要求
6.3.2. Active Directory エントリーおよび POSIX 属性
uidNumber
および gidNumber
属性の値が含まれている場合、WinSync はこれらの値を Identity Management に同期しません。代わりに、Identity Management に新しい UID および GID の値が作成されます。
uidNumber
と gidNumber
の値は、Active Directory と Identity Management で異なります。
cn
は、他の同期属性とは異なる扱いを受けます。Identity Management から Active Directory に同期時には、直接 (cn
から cn
へ) マッピングされます。ただし、Active Directory から Identity Management に同期する場合には、cn
は、Windows の name
属性から Identity Management の cn
属性にマッピングされます。
6.4. 同期用の Active Directory の設定
6.4.1. 同期用の Active Directory ユーザーの作成
- 同期用のユーザーアカウントには、同期先の Active Directory サブツリーに対して ディレクトリーに加えられた変更を複製する 権限を付与します。同期用のユーザーが同期操作を行うには、レプリケーターの権限が必要です。レプリケーターの権限は、http://support.microsoft.com/kb/303972 で説明されています。
- 同期ユーザーを Account Operators グループおよび Enterprise Read-only Domain Controllers グループのメンバーとして追加します。このユーザーは、Domain Admins グループに所属する必要はありません。
6.4.2. Active Directory 認証局の設定
6.5. 同期合意の管理
6.5.1. 同期合意の作成
- root 証明局 (CA) の証明書は IdM サーバーにコピーします。
- Active Directory CA 証明書が自己署名されている場合は、以下を実行します。
- Windows サーバーで Active Directory CA 証明書をエクスポートします。
- Super key+R のキーボードの組み合わせを押して、実行 ダイアログを開きます。
- certsrv.msc と入力し、OK をクリックします。
- ローカルの認証局の名前を右クリックし、Properties を選択します。
- 全般 タブで、CA certificates フィールドでエクスポートする証明書を選択し、View Certificate をクリックします。
- 詳細 タブで、 ファイルにコピー をクリックして 証明書のエクスポートウィザード を起動します。
- Next をクリックしてから、Base-64 encoded X.509 (.CER) を選択します。
- エクスポートされたファイルに適切なディレクトリーおよびファイル名を指定します。Next をクリックして証明書をエクスポートし、Finish をクリックします。
- エクスポートされた証明書を IdM サーバーマシンにコピーします。
- Active Directory CA 証明書が外部 CA により署名されている場合は、以下を行います。
- どの証明書が CA root 証明書かを見つけるには、証明書チェーンを表示します。
# openssl s_client -connect adserver.example.com:636 CONNECTED(00000003) depth=1 C = US, O = Demo Company, OU = IT, CN = Demo CA-28 verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/C=US/O=Demo Company/OU=IT/CN=adserver.example.com i:/C=US/O=Demo Company/OU=IT/CN=Demo CA-1 1 s:/C=US/O=Demo Company/OU=IT/CN=Demo CA-1 i:/C=US/O=Demo Company/OU=IT/CN=Demo Root CA 2
上記の例では、Active Directory サーバーの CA 証明書は、CN=Demo Root CA 2
で署名されたCN=Demo CA-1
で署名されています。つまり、CN=Demo Root CA 2
が root CA であることが分かります。 - CA 証明書を IdM サーバーにコピーします。
- IdM サーバー上の既存の Kerberos 資格情報を削除します。
$ kdestroy
- ipa-replica-manage コマンドを使用して Windows 同期合意を作成します。これには、
--winsync
オプションが必要です。パスワードとユーザーアカウントを同期する場合は、--passsync
オプションも使用して、パスワード同期に使用するパスワードを設定します。--binddn
オプションおよび--bindpw
オプションを指定すると、IdM が Active Directory サーバーへの接続に使用する Active Directory サーバー上のシステムアカウントにユーザー名およびパスワードを設定します。$ ipa-replica-manage connect --winsync \ --binddn cn=administrator,cn=users,dc=example,dc=com \ --bindpw Windows-secret \ --passsync secretpwd \ --cacert /etc/openldap/cacerts/windows.cer \ adserver.example.com -v
--winsync
: Windows の同期合意として指定します。--bindDN
: IdM は、Active Directory アカウントのこの DN を使用してリモートディレクトリーにバインドし、属性を同期します。--bindpw
: 同期アカウントのパスワード。--cacert
: 以下への完全パスおよびファイル名。- Active Directory CA 証明書 (CA が自己署名されている場合)
- 外部 CA 証明書 (Active Directory CA が外部 CA によって署名されている場合)
--win-subtree
: 同期するユーザーが含まれる Windows ディレクトリーサブツリーの DN。デフォルト値はcn=Users,$SUFFIX
です。AD_server_name
: Active Directory ドメインコントローラーの完全修飾ドメイン名 (FQDN)。
- プロンプトが出されたら、Directory Manager のパスワードを入力します。
- 任意。「パスワード同期のセットアップ」 に説明されているようにパスワードの同期を設定します。パスワード同期クライアントがない場合、ユーザー属性はピアサーバー間で同期されますが、パスワードは同期されません。注記パスワード同期クライアントはパスワード変更を取得し、Active Directory と IdM との間で同期します。これは、新しいパスワードまたはパスワードの更新を同期することを意味します。IdM および Active Directory の両方にハッシュ化されたフォームに格納されている既存のパスワードは、Password Synchronization クライアントのインストール時に復号または同期できません。そのため、既存のパスワードは同期されません。ピアサーバー間の同期を開始するには、ユーザーパスワードを変更する必要があります。
6.5.2. ユーザーアカウント属性の同期動作の変更
ipaWinSyncAcctDisable
属性を編集することで無効にすることができます。(この属性を変更すると、Active Directory でアカウントが無効な場合でも、IdM で引き続き有効な状態となり、その逆も同様になります)。
[jsmith@ipaserver ~]$ ldapmodify -x -D "cn=directory manager" -w password dn: cn=ipa-winsync,cn=plugins,cn=config changetype: modify replace: ipaWinSyncAcctDisable ipaWinSyncAcctDisable: none modifying entry "cn=ipa-winsync,cn=plugins,cn=config"
一般ユーザーアカウントのパラメーター
ipaWinSyncNewEntryFilter
: 新規ユーザーエントリーに追加するオブジェクトクラスの一覧を含むエントリーの検索に使用する検索フィルターを設定します。デフォルト値: (cn=ipaConfig)ipaWinSyncNewUserOCAttr
: 新規ユーザーエントリーに追加するオブジェクトクラスの一覧が実際に含まれる設定エントリーの属性を設定します。デフォルト値: ipauserobjectclassesipaWinSyncHomeDirAttr
: POSIX ホームディレクトリーのデフォルトの場所を含むエントリー内の属性を識別します。デフォルト値: ipaHomesRootDiripaWinSyncUserAttr
: Active Directory ユーザーを Active Directory ドメインから同期する時に、特定の値で別の属性を設定して AD ユーザーに追加します。複数値の属性の場合は、属性を複数回設定でき、同期プロセスで、値のすべてがエントリーに追加されます。例: ipaWinSyncUserAttr: attributeName attributeValue注記エントリーに属性が存在しない場合に属性値のみが設定されます。属性が存在する場合は、Active Directory エントリーの同期時にエントリーの値が使用されます。ipaWinSyncForceSync
: 既存の AD ユーザーに一致する既存の IdM ユーザーが強制的に同期されるかどうかを設定します。true
に設定すると、このような IdM ユーザーは自動的に編集され、同期されます。使用できる値:true | false
IdM ユーザーアカウントに既存の Active Directory ユーザーのsAMAccountName
と同じuid
パラメーターがある場合、そのアカウントはデフォルトでは 同期されません。この属性は、ntUser
およびntUserDomainId
を IdM ユーザーエントリーに自動的に追加するように同期サービスに指示し、それらを同期できるようにします。
ユーザーアカウントのロックパラメーター
ipaWinSyncAcctDisable
: アカウントロックアウト属性を同期する方法を設定します。有効にするアカウントロックアウト設定を制御できます。たとえば、to_ad は、アカウントロックアウト属性が IdM に設定されると、その値が Active Directory に対して同期され、ローカルの Active Directory 値を上書きすることを意味します。デフォルトでは、アカウントロックアウト属性は両方のドメインから同期されます。設定可能な値:both
(デフォルト)、to_ad
、to_ds
、none
ipaWinSyncInactivatedFilter
: 非アクティブになった (無効になった) ユーザーを保持するために使用されるグループの DN 検索用のフィルターを設定します。これは、ほとんどの実装では変更する必要はありません。デフォルト値: (&(cn=inactivated)(objectclass=groupOfNames))
グループのパラメーター
ipaWinSyncDefaultGroupAttr
: ユーザーのデフォルトグループを確認するために参照する新規ユーザーアカウントの属性を設定します。次に、エントリー内のグループ名を使用して、ユーザーアカウントのgidNumber
を検索します。デフォルト値: ipaDefaultPrimaryGroupipaWinSyncDefaultGroupFilter
: ユーザーのデフォルトグループを確認するために参照する新規ユーザーアカウントの属性を設定します。次に、エントリー内のグループ名を使用して、ユーザーアカウントのgidNumber
を検索します。デフォルト値: ipaDefaultPrimaryGroup
レルムのパラメーター
ipaWinSyncRealmAttr
: レルムエントリーにレルム名を含む属性を設定します。デフォルト値:cn
ipaWinSyncRealmFilter
: IdM レルム名を含むエントリーの検索に使用する検索フィルターを設定します。デフォルト値: (objectclass=krbRealmContainer)
6.5.3. 同期された Windows サブツリーの変更
--win-subtree
オプションを使用して同期合意が作成されると、Active Directory サブツリーの値はデフォルト以外の値に設定できます。契約が作成された後、ldapmodify コマンドを使用して、同期契約エントリーの nsds7WindowsReplicaSubtree
値を編集することにより、Active Directory サブツリーを変更できます。
- ldapsearch を使用して同期合意の名前を取得します。この検索では、エントリー全体ではなく、
dn
およびnsds7WindowsReplicaSubtree
属性の値のみが返されます。[jsmith@ipaserver ~]$ ldapsearch -xLLL -D "cn=directory manager" -w password -p 389 -h ipaserver.example.com -b cn=config objectclass=nsdswindowsreplicationagreement dn nsds7WindowsReplicaSubtree dn: cn=meToWindowsBox.example.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config nsds7WindowsReplicaSubtree: cn=users,dc=example,dc=com ... 8< ...
- 同期合意を変更します。
[jsmith@ipaserver ~]$ ldapmodify -x -D "cn=directory manager" -W -p 389 -h ipaserver.example.com <<EOF dn: cn=meToWindowsBox.example.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify replace: nsds7WindowsReplicaSubtree nsds7WindowsReplicaSubtree: cn=alternateusers,dc=example,dc=com EOF modifying entry "cn=meToWindowsBox.example.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config"
6.5.4. 一方向の同期の設定
oneWaySync
パラメーターを設定することによって行われます。使用可能な値は、fromWindows
(Active Directory から Identity Management への同期) と toWindows
(Identity Management から Active Directory への同期) です。
[jsmith@ipaserver ~]$ ldapmodify -x -D "cn=directory manager" -w password -p 389 -h ipaserver.example.com dn: cn=meToWindowsBox.example.com,cn=replica,cn=dc\3Dexample\2Cdc\3Dcom,cn=mapping tree,cn=config changetype: modify add: oneWaySync oneWaySync: fromWindows
6.5.5. 同期合意の削除
- 同期合意を削除します。
# ipa-replica-manage disconnect adserver.ad.example.com
- IdM ディレクトリー証明書データベース内の証明書を一覧表示します。
# certutil -L -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI IDM.EXAMPLE.COM IPA CA CT,C,C CN=adserver,DC=ad,DC=example,DC=com C,, Server-Cert u,u,u
- IdM サーバーのデータベースから Active Directory CA 証明書を削除します。
# certutil -D -d /etc/dirsrv/slapd-IDM-EXAMPLE-COM/ -n "CN=adserver,DC=ad,DC=example,DC=com"
6.5.6. Winsync 合意のエラー
Active Directory サーバーに接続できないため、同期合意の作成に失敗します。
同期合意での最も一般的なエラーの 1 つとして、IdM サーバーが Active Directory サーバーに接続できない点が挙げられます。
"Update failed! Status: [81 - LDAP error: Can't contact LDAP server]
/etc/dirsrv/slapd-DOMAIN/
ディレクトリー内) に Imported CA という名前で重複した証明書が作成されます。これは、certutil を使用して確認できます。
$ certutil -L -d /etc/dirsrv/slapd-DOMAIN/ Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI CA certificate CTu,u,Cu Imported CA CT,,C Server-Cert u,u,u Imported CA CT,,C
# certutil -d /etc/dirsrv/slapd-DOMAIN-NAME -D -n "Imported CA"
エントリーが存在することを示すため、パスワードが同期されていないことを示すエラーがあります。
ユーザーデータベースの一部のエントリーについて、エントリーがすでに存在するためにパスワードはリセットされないという情報のエラーメッセージが表示される可能性があります。
"Windows PassSync entry exists, not resetting password"
6.6. パスワード同期の管理
6.6.1. パスワード同期のための Windows Server のセットアップ
- Active Directory が SSL で実行されている必要があります。注記エンタープライズルートモードで Microsoft Certificate System をインストールします。Active Directory は自動的に登録され、SSL サーバー証明書を取得します。
- パスワード同期サービスは、各 Active Directory ドメインコントローラーにインストールする必要があります。Windows からのパスワードを同期するには、PassSync サービスが暗号化されていないパスワードにアクセスし、安全な IdM 接続上でこれを同期する必要があります。ユーザーはパスワードを各ドメインコントローラー上で変更することができるため、PassSync サービスを各ドメインコントローラーにインストールする必要があります。
- パスワードポリシーは、IdM および Active Directory 側で同様に設定する必要があります。同期先で更新済みパスワードを受け取る際には、ソース上のポリシーに対してのみ検証が行われます。同期先での再検証は行われません。
> dsquery * -scope base -attr pwdProperties pwdProperties 1
pwdProperties
の値が 1
に設定されている場合は、パスワードの複雑さポリシーがドメインに対して有効になります。
- コマンドラインから
gpmc.msc
を実行します。 - Group Policy Management を選択します。
- Forest: ad.example.com → Domains → ad.example.com を開きます。
- Default Domain Policy エントリーを右クリックして、Edit を選択します。
- Group Policy Management Editor が自動的に開きます。
- Computer Configuration → Policies → Windows Settings → Security Settings → Account Policies → Password Policy を開きます。
- Password must meet complexity requirements オプションを有効にし、保存します。
6.6.2. パスワード同期のセットアップ
RedHat-PassSync-*.msi
ファイルを Active Directory ドメインコントローラーにダウンロードします。- カスタマーポータルにログインします。
- ページ上部の Downloads をクリックします。
- 製品リストから Red Hat Enterprise Linux を選択します。
- Red Hat Enterprise Linux 6 または Red Hat Enterprise Linux 7 およびアーキテクチャーの最新版を選択します。
- Active Directory ドメインコントローラーのアーキテクチャー用に WinSync installer をダウンロードするには、 Download Now ボタンをクリックします。
MSI
ファイルをダブルクリックしてインストールします。- Password Synchronrization Setup 画面が表示されます。Next を押して、インストールを開始します。
- IdM サーバーへの接続を確立するための情報を入力します。
- ホスト名およびセキュアなポート番号を含む ldM サーバー接続情報。
- Active Directory が IdM マシンへの接続に使用するシステムユーザーのユーザー名。このアカウントは、同期が IdM サーバー上に設定される場合に自動的に設定されます。デフォルトのアカウントは uid=passsync,cn=sysaccounts,cn=etc,dc=example,dc=com です。
- 同期合意の作成時に
--passsync
オプションに設定されたパスワード。 - IdM サーバーの people サブツリーの検索ベース。Active Directory サーバーは、ldapsearch またはレプリケーション操作と似た IdM サーバーに接続するため、IdM サブツリーでユーザーアカウントを検索する場所を知っている必要があります。ユーザーサブツリーは cn=users,cn=accounts,dc=example,dc=com です。
- 証明書トークンはこの時点では使用されないため、このフィールドは空白にする必要があります。
Next を押してから Finish を押し、Password Synchronization をインストールします。 - IdM サーバーの CA 証明書を PassSync 証明書ストアにインポートします。
- IdM サーバーの CA 証明書を
http://ipa.example.com/ipa/config/ca.crt
からダウンロードします。 - IdM CA 証明書を Active Directory サーバーにコピーします。
- IdM CA 証明書をパスワード同期データベースにインストールします。以下に例を示します。
cd "C:\Program Files\Red Hat Directory Password Synchronization" certutil.exe -d . -A -n "IPASERVER.EXAMPLE.COM IPA CA" -t CT,, -a -i ipaca.crt
- Windows マシンを再起動して、Password Synchronization を開始します。注記Windows マシンは再起動されている必要があります。再起動しないと
PasswordHook.dll
は有効にされず、パスワードの同期は機能しません。 - 既存のアカウントのパスワードを同期する必要がある場合は、ユーザーパスワードをリセットします。注記パスワード同期クライアントはパスワード変更を取得し、Active Directory と IdM との間で同期します。これは、新しいパスワードまたはパスワードの更新を同期することを意味します。IdM および Active Directory の両方にハッシュ化されたフォームに格納されている既存のパスワードは、Password Synchronization クライアントのインストール時に復号または同期できません。そのため、既存のパスワードは同期されません。ピアサーバー間の同期を開始するには、ユーザーパスワードを変更する必要があります。
.msi
でインストールされます。
admin
グループのメンバーのパスワードは同期できません。これは、たとえば、パスワード同期エージェントや低レベルのユーザー管理者によるトップレベルの管理者のパスワードを変更できないようにするためのものです。
第7章 同期から信頼への既存環境の移行
7.1. ipa-winsync-migrate
を使用した同期から信頼への自動移行
ipa-winsync-migrate
ユーティリティーは、Red Hat Enterprise Linux 7.2 以降を稼働中のシステムでのみ利用可能です。
7.1.1. ipa-winsync-migrate
を使用した移行の仕組み
ipa-winsync-migrate
ユーティリティーは、Winsync 環境の既存の設定を保持し、それを AD トラストに転送しながら、同期されたすべてのユーザーを AD フォレストから移行します。Winsync 合意で作成された各 AD ユーザーには、ipa-winsync-migrate
がデフォルト信頼ビュー内に ID 上書きを作成します (「Active Directory のデフォルト信頼ビュー」 を参照)。
- AD ユーザーの ID 上書きには、Winsync 内の元のエントリーから以下の属性がコピーされます。
- ログイン名 (
uid
) - UID 番号 (
uidnumber
) - GID 番号 (
gidnumber
) - ホームディレクトリー (
homedirectory
) - GECOS エントリー (
gecos
)
- AD 信頼内のユーザーアカウントは、以下を含む IdM 内の元の設定を保持します。
- POSIX 属性
- ユーザーグループ
- ロールベースのアクセス制御ルール
- ホストベースのアクセス制御ルール
- SELinux メンバーシップ
sudo
ルール
- 新規 AD ユーザーが外部 IdM グループのメンバーとして追加されます。
- 元の Winsync レプリケーション合意、元の同期済みユーザーアカウント、およびユーザーアカウントのローカルコピーがすべて削除されます。
7.1.2. ipa-winsync-migrate
を使用した移行方法
ipa-backup
ユーティリティーを使用する IdM 設定をバックアップする。『Linux ドメイン ID、認証、およびポリシーガイド』 の Identity Management のバックアップと復元 を参照してください。理由: 移行は、IdM 設定および多くのユーザーアカウントに多大な影響を及ぼします。バックアップを作成することで、必要な場合は元の設定を復元することができます。
- 同期されたドメインで信頼を作成します。5章Active Directory および Identity Management を使用したフォレスト間の信頼作成 を参照してください。
ipa-winsync-migrate
を実行して、AD レルムと、AD ドメインコントローラーのホスト名を指定してください。# ipa-winsync-migrate --realm example.com --server ad.example.com
ipa-winsync-migrate
が作成した上書き内で競合が発生した場合は、この競合についての情報が表示されますが、移行は継続されます。- AD サーバーからのパスワード同期サービスをアンインストールします。これにより、AD ドメインコントローラーから同期合意が削除されます。
7.2. ID ビューを使用した同期から信頼への手動での移行
- 元の同期したユーザーまたはグループエントリーのバックアップを作成します。
- 同期されたドメインで信頼を作成します。信頼を作成する方法の詳細は、5章Active Directory および Identity Management を使用したフォレスト間の信頼作成 を参照してください。
- 同期されたすべてのユーザーまたはグループについては、IdM で生成される UID および GID を保持するために以下のいずれかを実行します。
- 特定のホストに適用される ID ビューを個別に作成し、ユーザー ID 上書きをビューに追加する。
- デフォルト信頼ビューでユーザー ID 上書きを作成する。
詳細は、異なるホストのユーザーアカウントに対する異なる属性値の定義 を参照してください。注記ID ビューは、IdM ユーザーのみが管理できます。AD ユーザーはできません。 - 元の同期したユーザーまたはグループのエントリーを削除します。
第8章 Active Directory 環境での ID ビューの使用
- POSIX 属性や SSH ログイン詳細といった AD ユーザー属性の上書き
- 詳細は 「ID ビューを使用した AD ユーザー属性の定義」 を参照してください。
- 同期ベースから信頼ベースの統合への移行
- 詳細は 「ID ビューを使用した同期から信頼への手動での移行」 を参照してください。
- IdM ユーザー属性のホストごとのグループ上書きの実行
- 詳細は 「NIS ドメインの IdM への移行」 を参照してください。
8.1. Active Directory のデフォルト信頼ビュー
8.1.1. デフォルト信頼ビューとは
ipa-adtrust-install
を使用して信頼を確立すると自動で作成され、削除することはできません。
表8.1 デフォルト信頼ビューの適用
AD の値 | デフォルトの信頼ビュー | 結果 | ||
---|---|---|---|---|
Login | ad_user | ad_user | → | ad_user |
UID | 111 | 222 | → | 222 |
GID | 111 | (値なし) | → | 111 |
8.1.2. 他の ID ビューによるデフォルト信頼ビューの上書き
- ホスト固有の ID ビューで属性が定義されている場合、IdM はこのビューからの値を適用します。
- ホスト固有の ID ビューで属性が定義されていない場合、IdM はデフォルト信頼ビューからの値を適用します。
表8.2 デフォルト信頼ビューの上にホスト固有の ID ビューを適用する
AD の値 | デフォルトの信頼ビュー | ホスト固有のビュー | 結果 | ||
---|---|---|---|---|---|
Login | ad_user | ad_user | (値なし) | → | ad_user |
UID | 111 | 222 | 333 | → | 333 |
GID | 111 | (値なし) | 333 | → | 333 |
8.1.3. クライアントのバージョンに基づいたクライアントでの ID 上書き
- レガシークライアント: RHEL 6.3 以前 (SSSD 1.8 以前)
- このクライアントは、固有の ID ビューを要求して適用することができます。レガシークライアントでホスト固有の ID ビューを使用するには、クライアントのベース DN を
cn=id_view_name,cn=views,cn=compat,dc=example,dc=com
に変更します。 - RHEL 6.4 から 7.0 (SSSD 1.9 から 1.11)
- このクライアントでのホスト固有の ID ビューはサポートされていません。
- RHEL 7.1 以降 (SSSD 1.12 以降)
- 完全サポート
8.2. ID 競合の解決
8.3. ID ビューを使用した AD ユーザー属性の定義
- 新しい ID ビューを作成します。
- ID ビューにユーザー ID 上書きを追加し、必要な属性値を指定します。
- ID ビューを特定のホストに適用します。
8.4. NIS ドメインの IdM への移行
- IdM ドメインにユーザーおよびグループを作成します。詳細は以下参照
- ID ビューを既存ホストに使用して、ユーザー作成中に IdM が生成した ID を上書きします。
- 個別の ID ビューを作成します。
- ユーザーおよびグループの ID 上書きを ID ビューに追加します。
- ID ビューを特定のホストに割り当てます。
詳細は、異なるホストのユーザーアカウントに対する異なる属性値の定義 を参照してください。 - 『Linux ドメイン ID、認証、およびポリシーガイド』 の Identity Management クライアントのインストールおよびアンインストール
- NIS ドメインの使用を停止します。
8.5. ショートネームを使用したユーザーやグループの解決/認証に対する設定オプション
user_name@domain
や domain\user_name
の完全修飾名形式ではなく、略式のユーザーまたはグループ名を使用して、Active Directory (AD) 環境のユーザーやグループを解決し、認証できるような設定オプションを説明します。これは、以下のいずれかで設定できます。
- AD を信頼するアイデンティティ管理 (IdM)
- SSSD で AD が連携された Red Hat Enterprise Linux
8.5.1. ドメイン解決の概要
ドメイン解決順序
オプションを使用して、ドメインのリストを検索して特定のユーザー名に一致するものを返す順序を指定できます。このオプションを設定できます。
- サーバー上では以下の設定になります。参照:
- クライアント上では以下の設定になります。「IdM クライアントでのドメイン解決順の設定」 を参照してください。
domain resolution order
オプションは、上記の 3 つの場所の中から複数の場所に設定できます。クライアントが 3 つの場所を参照する順番は、以下のとおりです。
- ローカルの
sssd.conf
設定 - ID ビューの設定
- グローバル IdM 設定
- ユーザー名が複数のドメインに存在する場合
- SSSD 設定には
default_domain_suffix
オプションが含まれ、そのオプションを指定せずにドメインに対して要求を行う場合
8.5.2. Identity Managment サーバー上でのドメイン解決順の設定
8.5.2.1. ドメイン解決順のグローバル設定
$ ipa config-mod --domain-resolution-order='idm.example.com:ad.example.com:subdomain1.ad.example.com:subdomain2.ad.example.com' Maximum username length: 32 Home directory base: /home ... Domain Resolution Order: idm.example.com:ad.example.com:subdomain1.ad.example.com:subdomain2.ad.example.com ...このような方法でドメイン解決順を設定した場合は、IdM ドメイン、信頼済みの AD フォレストのどちらからのユーザーであっても、ショートネームのみを使用してログインできます。
8.5.2.2. ID ビューのドメイン解決順の設定
domain resolution order
オプションを指定して ID ビューを作成します。$ ipa idview-add example_view --desc "ID view for custom shortname resolution on server.idm.example.com" --domain-resolution-order subdomain2.ad.example.com:subdomain1.ad.example.com --------------------------------- Added ID View "example_view" --------------------------------- ID View Name: example_view Description: ID view for custom shortname resolution on server.idm.example.com Domain Resolution Order: subdomain2.ad.example.com:subdomain1.ad.example.com
- クライアントにビューを適用します。以下に例を示します。
$ ipa idview-apply example_view --hosts server.idm.example.com ----------------------------------- Applied ID View "example_view" ----------------------------------- hosts: server.idm.example.com --------------------------------------------- Number of hosts the ID View was applied to: 1 ---------------------------------------------
8.5.3. IdM クライアントでのドメイン解決順の設定
/etc/sssd/sssd.conf
ファイルの [sssd] セクションで、domain_resolution_order
オプションを設定します。以下に例を示します。
domain_resolution_order = subdomain1.ad.example.com, subdomain2.ad.example.com
domain_resolution_order
オプションの設定に関する詳細は、sssd.conf(5) の man ページを参照してください。
付録A 更新履歴
改訂履歴 | |||
---|---|---|---|
改訂 7.0-51 | Thu Mar 4 2021 | Florian Delehaye | |
| |||
改訂 7.0-50 | Wed May 27 2020 | Florian Delehaye | |
| |||
改訂 7.0-49 | Tue Aug 06 2019 | Marc Muehlfeld | |
| |||
改訂 7.0-48 | Wed Jun 05 2019 | Marc Muehlfeld | |
| |||
改訂 7.0-47 | Tue Apr 08 2019 | Marc Muehlfeld | |
| |||
改訂 7.0-46 | Mon Oct 29 2018 | Filip Hanzelka | |
| |||
改訂 7.0-45 | Mon Jun 25 2018 | Filip Hanzelka | |
| |||
改訂 7.0-44 | Thu Apr 5 2018 | Filip Hanzelka | |
| |||
改訂 7.0-43 | Wed Feb 28 2018 | Filip Hanzelka | |
| |||
改訂 7.0-42 | Mon Feb 12 2018 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-41 | Mon Jan 29 2018 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-40 | Fri Dec 15 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-39 | Mon Dec 6 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-38 | Mon Dec 4 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-37 | Mon Nov 20 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-36 | Mon Nov 6 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-35 | Mon Oct 23 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-34 | Mon Oct 9 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-33 | Tue Sep 26 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-32 | Tue Jul 18 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-31 | Tue May 23 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-30 | Mon Apr 24 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-29 | Mon Apr 10 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-28 | Mon Mar 27 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-27 | Mon Feb 27 2017 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-26 | Wed Nov 23 2016 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-25 | Tue Oct 18 2016 | Aneta Šteflová Petrová | |
| |||
改訂 7.0-24 | Thu Jul 28 2016 | Marc Muehlfeld | |
| |||
改訂 7.0-23 | Thu Jun 09 2016 | Marc Muehlfeld | |
| |||
改訂 7.0-22 | Tue Feb 09 2016 | Aneta Petrová | |
| |||
改訂 7.0-21 | Fri Nov 13 2015 | Aneta Petrová | |
| |||
改訂 7.0-20 | Thu Nov 12 2015 | Aneta Petrová | |
| |||
改訂 7.0-19 | Fri Sep 18 2015 | Tomáš Čapek | |
| |||
改訂 7.0-18 | Thu Sep 10 2015 | Aneta Petrová | |
| |||
改訂 7.0-17 | Mon Jul 27 2015 | Aneta Petrová | |
| |||
改訂 7.0-16 | Thu Apr 02 2015 | Tomáš Čapek | |
| |||
改訂 7.0-15 | Fri Mar 13 2015 | Tomáš Čapek | |
| |||
改訂 7.0-13 | Wed Feb 25 2015 | Tomáš Čapek | |
| |||
改訂 7.0-11 | Fri Dec 05 2014 | Tomáš Čapek | |
| |||
改訂 7.0-7 | Mon Sep 15 2014 | Tomáš Čapek | |
| |||
改訂 7.0-5 | June 27, 2014 | Ella Deon Ballard | |
| |||
改訂 7.0-4 | June 13, 2014 | Ella Deon Ballard | |
| |||
改訂 7.0-3 | June 11, 2014 | Ella Deon Ballard | |
|