この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、マルチフォレスト環境で Cisco Unified Communications Manager(CUCM)ディレクトリ統合を設定する方法について説明します。
Cisco では次の前提を満たす推奨しています。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
Microsoft AD LDS(旧称ADAM)は、ディレクトリ対応アプリケーションのディレクトリサービスを提供するために使用できます。組織のActive Directoryドメインサービス(AD DS)データベースを使用してディレクトリ対応アプリケーションデータを保存する代わりに、AD LDSを使用してデータを保存できます。AD LDS を AD DS と組み合わせて使用し、セキュリティ アカウント用の一元的な場所(AD DS)と、アプリケーション設定およびディレクトリ データをサポートするための別の場所(AD LDS)を用意できます。 AD LDS を使用すると、AD レプリケーションに関連するオーバーヘッドを削減できます。アプリケーションをサポートするために AD スキーマを拡張する必要はありません。ディレクトリ構造をパーティションに分けて、ディレクトリ対応アプリケーションをサポートする必要のあるサーバだけに AD LDS サービスを導入することができます。
ADAM と AD 間には多くの違いがあります。ADAM では、AD で提供される機能の一部のみを提供できます。
このドキュメントの目的は、CUCM、またはDirectory Integration Service(DirSync)を使用するその他のシスコ製品が、ユーザ情報を取得し、異なるフォレストに存在する可能性のある異なるADドメインから認証を実行できるようにするメカニズムを説明することです。この目的を達成するために、ADAM を使用してユーザ データベースをさまざまな AD ドメイン コントローラやその他の LDAP ソースと同期します。
ADAM はユーザのデータベースを作成し、各詳細を格納できます。シングル サインオン(SSO)機能は、エンドユーザが複数のシステムに複数の異なるクレデンシャルのセットを維持することを避けたい場合に必要とされます。したがって、ADAM のバインド リダイレクションが使用されます。ADAM のバインド リダイレクションは、認証メカニズムとして LDAP バインドをサポートするアプリケーション向けの特殊な機能です。特殊なスキーマや命名コンテキストによっては、強制的に AD を回避させ、ADAM の選択を必須とする場合があります。これにより、固有のユーザ ID とパスワードを使用した追加ディレクトリを適用することで、ユーザが複数のパスワードを記憶しなければならない状況を回避できます。
ADAM の特殊なユーザ プロキシ オブジェクトは通常の AD ユーザ アカウントにマッピングされます。ユーザ プロキシには ADAM オブジェクト自体に格納された実際のパスワードはありません。アプリケーションが正常にバインド操作を実行すると、ID をローカルで確認しますが、下図に示すように、AD に対して背後でパスワードを確認します。アプリケーションがこの AD のインタラクションを認識する必要はありません。
ADAM のバインド リダイレクションは、アプリケーションが ADAM に対して単純な LDAP バインドを実行できる特殊な状況においてのみ使用する必要があります。ただし、アプリケーションでユーザを AD のセキュリティ プリンシパルに関連付ける必要があります。
ADAMバインドリダイレクトは、プロキシオブジェクトと呼ばれる特別なオブジェクトを使用してADAMへのバインドが試行された場合に発生します。プロキシオブジェクトは、ADのセキュリティプリンシパルを表すADAMのオブジェクトです。 ADAM の各プロキシ オブジェクトには AD のユーザの SID が含まれています。ユーザがプロキシ オブジェクトへのバインドを試みると、ADAM はバインド時に提供されたパスワードとともにプロキシ オブジェクトに格納されている SID を取得し、その SID とパスワードを認証用に AD に提示します。ADAM のプロキシ オブジェクトはパスワードを格納しません。また、ユーザは ADAM プロキシ オブジェクトを使用して AD パスワードを変更できません。
パスワードはプレーン テキストで ADAM に提示されます。これは、最初のバインド要求が単純な LDAP バインド要求であるです。このため、ディレクトリ クライアントと ADAM 間にはデフォルトで SSL 接続が必要になります。ADAM は AD にパスワードを提示するため、Windows セキュリティ API を使用します。
バインド リダイレクションの詳細については、「Understanding ADAM bind redirection 」を参照してください。
この方法を説明するために、Cisco Systems(Forest 2)がその他 2 社Tandberg(Forest 3)と Webex(Forest 1)を吸収したシナリオを想定します。 移行フェーズでは、各企業のAD構造を統合して、単一のCisco Unified Communicationsクラスタを導入できるようにします。
この例では、会社 Cisco(Forest 2)に CISCO と呼ばれるフォレストのルート ドメイン(dns cisco.com)と、EMERG と呼ばれるサブドメイン(dns emerg.cisco.com)の 2 つのドメインがあります。 両方のドメインにはグローバル カタログでもあるドメイン コントローラがあり、それぞれ Windows 2008 Server SP2 でホストされます。
会社 Tandberg(Forest 3)にはグローバル カタログでもあるドメイン コントローラを使った 1 つのドメインがあり、Windows 2008 Server SP2 でホストされます。
会社 Webex(Forest 1)にはグローバル カタログでもあるドメイン コントローラを使った 1 つのドメインがあり、Windows 2003 R2 Server SP2 でホストされます。
AD LDS はドメイン CISCO のドメイン コントローラにインストールされるか、別のマシンにすることもできます。実際には、3つのフォレストの1つに任意の場所に配置できます。DNSインフラストラクチャは、1つのフォレスト内のドメインが他のフォレスト内のドメインと通信し、適切な信頼関係を確立してフォレスト間の検証を確立できるように配置する必要があります。
ユーザの動作を認証する場合、ADAM インスタンスがホストされるドメインと、ユーザ アカウントをホストする他のドメイン間に信頼関係が必要です。この信頼関係は、必要に応じて一方向の信頼にすることができます(ADAM インスタンスをホストするドメインから、ユーザ アカウントをホストするドメインへの出力方向の信頼)。 この方法を使用し、ADAM インスタンスでこれらのアカウント ドメインの DC に認証要求を転送できます。
また、ドメイン内のすべてのユーザ アカウントの全属性にアクセスできる両方のアカウント ドメインからのユーザ アカウントが必要です。このアカウントは ADAMSync によって ADAM にアカウント ドメイン ユーザを同期するために使用されます。
重要な点ですが、ADAM を実行するマシンですべてのドメイン(DNS)が検出できる必要があり、両方のドメインのドメイン コントローラ(DNS を使用)を検出して、これらのドメイン コントローラに接続する必要があります。
相互の信頼関係を確立するために、次の手順を実行します。
Tandberg ドメインと WebEx ドメインの両方に対してこのプロセスを実行すると、次のような結果を受信します。ドメイン emerg は子ドメインであるため、デフォルトで表示されます。[OK] をクリックします。
[Active Directory Lightweight Directory Services] チェック ボックスをオンにします。[next] をクリックします。
2012 に AD LDS を設定するには、次の手順を実行します。
AD LDS は異なるポートを使用してサービスのさまざまなインスタンスを実行できるため、さまざまなユーザ ディレクトリの「アプリケーション」を同じマシン上で実行できます。AD LDS は、デフォルトでポート 389/LDAP および 636/LDAPS を選択しますが、システムでそれらを実行した LDAP サービスがある場合は、ポート 50000/LDAP およびポート 50001/LDAPS を使用します。各インスタンスには、前回使用した番号に基づいて増分される 1 対のポート番号があります。
Microsoft のバグにより、ポートが Microsoft DNS サーバですでに使用されていて、インスタンス ウィザードがエラーを返す場合があります(エラーから理由は示されません)。 このエラーは TCP/IP スタックのポートの予約時に修正できます。この問題を見つけた場合は、AD LDS service start fails with error "setup could not start the service..." + error code 8007041d を参照してください。
注:CUCMは単一のアプリケーションディレクトリパーティションのみをサポートし、マルチパーティションは現在サポートされていません。
詳細については、ステップ 5:「アプリケーション・ディレクトリ・パーティションの作成方法については、「アプリケーション・ディレクトリ・パーティションの操作」を参照してください。同期する各ドメインのディレクトリパーティションを作成するプロセスは、LDAP参照(RFC 2251)に基づいて動作し、LDAPクライアント(CUCM、CUPなど)が参照をサポートしている必要があります。
[Yes, create an application directory partition] ラジオ ボタンをクリックします。インスタンスの[Partition name]フィールドにパーティション名を入力します。ほとんどの場合、スキーマでエラーが発生するため、ウィザードの例のようなcnを指定しないでください。このシナリオでは、AD LDS (dc=Cisco,dc=com)をホストする AD ドメイン コントローラと同じパーティションを入力しています。[next] をクリックします。
[Currently logged on user] ラジオ ボタンをクリックします。管理者権限を持つユーザの名前を入力します。[next] をクリックします。
注:Windows 2003 サーバに ADAM がインストールされると、前の画面には 4 つのオプションのみが表示されます ([MS-AZMan.LDF]、[MS-InetOrgPerson.LDF]、[MS-User.LDF]、[MS-UserProxy.LDF])。この 4 つのオプションのうち、[MS-User.LDF] と [MS-InetOrgPerson.LDF] のチェック ボックスのみをオンにします。
注:CUCMは単一のアプリケーションディレクトリパーティションのみをサポートし、マルチパーティションは現在サポートされていません。
詳細については、ステップ 5:「アプリケーション・ディレクトリ・パーティションの作成方法については、「アプリケーション・ディレクトリ・パーティションの操作」を参照してください。同期する各ドメインのディレクトリパーティションを作成するプロセスは、LDAP参照(RFC 2251)に基づいて動作し、LDAPクライアント(CUCM、CUPなど)が参照をサポートしている必要があります。詳細は、Microsoftサポートを参照してください。
[Yes, create an application directory partition] ラジオ ボタンをクリックします。[Partition Name] を入力します。LDS のパーティションを cisco.com として作成します。任意の適切な値を指定できます。[next] をクリックします。
ユーザーID(sAMAccountNames)が異なるドメイン間で一意で、異なるフォレストの異なるドメインに同じIDを持つ複数のユーザーが存在しない場合は、ADからAD LDS上の各フォレストにをに同期できます。たとえば、「CUCMのActive Directoryマルチフォレストのサポートシナリオ」セクションの図を考えてみます。ユーザID「alice」が3つのドメインのいずれかにのみ存在する場合、このシナリオの設定は次のようになります。
パーティション 森林 DN
P1 cisco.com DC=cisco,DC=com
webex.com DC=webex、DC=cisco、DC=com
tandberg.com DC=Tandberg、DC=cisco、DC=com
AD LDSを使用してCUCMを設定するには、ユーザID(sAMAccountName)がすべてのフォレストで一意である必要があります。CUCMは現在、AD LDSで1つのパーティションのみをサポートしています。
sAMAccountNamesが一意でない場合は、email、telephoneNumber、employeeNumber、uid、userPrincipalNameのいずれかの属性を一意に識別する場合は、これらの属性を使用することを検討してください。
生成する必要があるファイルを整理するために、別のディレクトリを作成してファイルを c:\windows\adam のメイン ディレクトリと分けるオプションがあります。コマンド プロンプトを開き、c:\windows\adam にログ ディレクトリを作成します。
cd \windows\adam
mkdir logs
ldifde -i -s localhost:50000 -c CN=Configuration,DC=X
#ConfigurationNamingContext -f diff-schema.ldf -j c:\windows\adam\logs
ldifde オプションとコマンド形式の詳細については、「Using LDIFDE to import and export directory objects to Active Directory 」を参照してください。
プロキシ認証用のオブジェクトを作成し、オブジェクトクラス'user'は使用しません。作成されるオブジェクトクラスuserProxyは、バインドリダイレクションを可能にします。オブジェクトクラスの詳細はldifファイルに作成する必要があります。この例ではMS-UserProxy-Cisco.ldfです。 この新しいファイルは、元の MS-UserProxy.ldf から生成され、テキスト編集プログラムを使用して次のコンテンツが含まれるように編集されます。
#==================================================================
# @@UI-Description: AD LDS simple userProxy class.
#
# This file contains user extensions for default ADAM schema.
# It should be imported with the following command:
# ldifde -i -f MS-UserProxy.ldf -s server:port -b username domain password -k -j . -c
"CN=Schema,CN=Configuration,DC=X" #schemaNamingContext
#
#==================================================================
dn: CN=User-Proxy,CN=Schema,CN=Configuration,DC=X
changetype: ntdsSchemaAdd
objectClass: top
objectClass: classSchema
cn: User-Proxy
subClassOf: top
governsID: 1.2.840.113556.1.5.246
schemaIDGUID:: bxjWYLbzmEiwrWU1r8B2IA==
rDNAttID: cn
showInAdvancedViewOnly: TRUE
adminDisplayName: User-Proxy
adminDescription: Sample class for bind proxy implementation.
objectClassCategory: 1
lDAPDisplayName: userProxy
systemOnly: FALSE
possSuperiors: domainDNS
possSuperiors: organizationalUnit
possSuperiors: container
possSuperiors: organization
defaultSecurityDescriptor:
D:(OA;;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;;PS)S:
defaultHidingValue: TRUE
defaultObjectCategory: CN=User-Proxy,CN=Schema,CN=Configuration,DC=X
systemAuxiliaryClass: msDS-BindProxy
systemMayContain: userPrincipalName
systemMayContain: givenName
systemMayContain: middleName
systemMayContain: sn
systemMayContain: manager
systemMayContain: department
systemMayContain: telephoneNumber
systemMayContain: mail
systemMayContain: title
systemMayContain: homephone
systemMayContain: mobile
systemMayContain: pager
systemMayContain: msDS-UserAccountDisabled
systemMayContain: samAccountName
systemMayContain: employeeNumber
systemMayContain: initials
systemMayContain: ipPhone
systemMayContain: displayName
systemMayContain: msRTCSIP-primaryuseraddress
systemMayContain: uid
dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-
MS-UserProxy-Cisco.ldfファイルをC:\windows\adamに保存します。
新しいオブジェクト クラスを AD LDS にインポートします。
ldifde -i -s localhost:50000 -c CN=Configuration,DC=X #ConfigurationNamingContext -f
MS-UserProxy-Cisco.ldf -j c:\windows\adam\logs
次に、各ドメインのユーザを AD LDS にインポートする必要があります。この手順は同期する必要がある各ドメインで繰り返す必要があります。この例では、ドメインのうち 1 つのドメインに対するプロセスのみを示します。元の MS-AdamSyncConf.xml から開始して、同期する必要がある各ドメインの XML ファイルを作成し、次のコンテンツが含まれるように各ドメインに固有の詳細でファイルを修正します。
<?xml version="1.0"?>
<doc>
<configuration>
<description>Adam-Sync1</description>
<security-mode>object</security-mode>
<source-ad-name>ad2k8-1</source-ad-name>
<source-ad-partition>dc=cisco,dc=com</source-ad-partition>
<source-ad-account></source-ad-account>
<account-domain></account-domain>
<target-dn>dc=cisco,dc=com</target-dn>
<query>
<base-dn>dc=cisco,dc=com</base-dn>
<object-filter>
(|(&(!cn=Administrator)(!cn=Guest) (!cn=ASPNET)
(!cn=krbtgt)(sAMAccountType=805306368))(&(objectClass=user)(isDeleted=TRUE)))
</object-filter>
<attributes>
<include>objectSID</include>
<include>mail</include>
<include>userPrincipalName</include>
<include>middleName</include>
<include>manager</include>
<include>givenName</include>
<include>sn</include>
<include>department</include>
<include>telephoneNumber</include>
<include>title</include>
<include>homephone</include>
<include>mobile</include>
<include>pager</include>
<include>msDS-UserAccountDisabled</include>
<include>samAccountName</include>
<include>employeeNumber</include>
<include>initials</include>
<include>ipPhone</include>
<include> displayName</include>
<include> msRTCSIP-primaryuseraddress</include>
<include>uid</include>
<exclude></exclude>
</attributes>
</query>
<user-proxy>
<source-object-class>user</source-object-class>
<target-object-class>userProxy</target-object-class>
</user-proxy>
<schedule>
<aging>
<frequency>0</frequency>
<num-objects>0</num-objects>
</aging>
<schtasks-cmd></schtasks-cmd>
</schedule>
</configuration>
<synchronizer-state>
<dirsync-cookie></dirsync-cookie>
<status></status>
<authoritative-adam-instance></authoritative-adam-instance>
<configuration-file-guid></configuration-file-guid>
<last-sync-attempt-time></last-sync-attempt-time>
<last-sync-success-time></last-sync-success-time>
<last-sync-error-time></last-sync-error-time>
<last-sync-error-string></last-sync-error-string>
<consecutive-sync-failures></consecutive-sync-failures>
<user-credentials></user-credentials>
<runs-since-last-object-update></runs-since-last-object-update>
<runs-since-last-full-sync></runs-since-last-full-sync>
</synchronizer-state>
</doc>
このファイルでは、ドメインに対応するように以下のタグを置き換える必要があります。
<object-filter> の作成方法の詳細については、「Search Filter Syntax 」を参照してください。
新しく作成した XML ファイルを C:\windows\adam に保存します。
コマンド ウィンドウ(cd \windows\adam)を開きます。
コマンド ADAMSync /install localhost:50000 c:\windows\ADAM\AdamSyncConf1.xml /log c:\windows\adam\logs\install.log を入力します。
ファイル AdamSyncConf1.xml が新しく作成された XML ファイルであることを確認します。
コマンド ADAMSync /sync localhost:50000 "dc=cisco,dc=com" /log c:\windows\adam\logs\sync.log を使用してユーザを同期します。
次のような結果が表示されます。
AD から ADAM への自動同期を完了するには、Windows でタスク スケジューラを使用します。
次のコンテンツで .bat ファイルを作成します。
"C:\Windows\ADAM\ADAMSync" /install localhost:50000 c:\windows\ADAM\AdamSyncConf1.xml /log c:\windows\adam\logs\install.log
"C:\Windows\ADAM\ADAMSync" /sync localhost:50000 "dc=cisco,dc=com" /log c:\windows\adam\logs\syn.log
必要に応じて .bat ファイルを実行するタスクをスケジュールします。これにより、AD で発生する追加、修正、削除が ADAM にも反映されるようになります。
別の .bat ファイルを作成し、他のフォレストからの自動同期を完了するようにスケジュールできます。
デフォルトでは、バインド リダイレクションを使用した ADAM へのバインドに SSL 接続が必要です。SSL では、ADAM を実行するコンピュータとクライアントとして ADAM に接続するコンピュータに証明書をインストールし、使用する必要があります。証明書が ADAM のテスト環境にインストールされていない場合、代替案として SSL の要件を無効にすることができます。
デフォルトでは、SSL は有効になっています。LDAPS のプロトコルを ADAM/LD で機能させるには、証明書を生成する必要があります。
この例では、証明書を発行するために Microsoft の証明機関サーバが使用されます。証明書を要求するには、Microsoft CA(http://<MSFT CA hostname>/certsrv)の Web ページに移動し、次の手順を実行します。
証明機関インターフェイスに戻り、[Pending Certificates] フォルダをクリックします。ADAM/AD-LDS マシンから発信した証明書の要求を右クリックして、証明書を発行します。
これで証明書が作成され、「Issued certificates」フォルダに保存されます。次に、証明書をダウンロードしてインストールする必要があります。
ADAM サービスで証明書を使用するには、証明書を ADAM サービスの個人用ストアに保存する必要があります:
サーバ認証証明書の読み取り権限をネットワークサービスアカウントに付与するには、次の手順を実行します。
詳細については、「Appendix A:AConfiguring LDAP over SSL Requirements for AD LDS 」を参照してください。
次に、ADAM/AD LDS マシンに CUCM ディレクトリの信頼として証明書を発行した CA の証明書をアップロードします。
詳細については、「Cisco Unified Communications Operations System 管理者ガイド」を参照してください。
[LDAP Directory] ページと [LDAP Authentication] ページで SSL を使用するために、チェックボックスをオンにします。
ADAM/AD LDS インスタンスのインストール時に指定した SSL のポート番号である LDAP ポートを入力します(この例では 50001)。
バインド リダイレクションの SSL 要件を無効にするには、次の手順を実行します。
ADAM/AD LDS の同期および認証は CUCM バージョン 9.1(2) 以降でサポートされます。
uid は、スタンドアロンの ADAM/AD LDS でのみ使用され、AD のマルチフォレストのサポートでは使用されません。
LDAP サーバのタイプ「Microsoft ADAM or Lightweight Directory Services」モードでは現在、[Userid] ドロップダウンの [LDAP Attribute] に samAccountName は含まれていません。これは、スタンドアロンADAM/AD LDSでサポートされている属性ではないためです。sAMAccountNameにマッピングされたCUCM UserIDを使用する必要がある場合は、そのアグリーメントをADとして構成する必要があります。
オブジェクト クラスの User は使用されなくなりました。したがって、User の代わりに userProxy を使用するように LDAP フィルタを変更する必要があります。
デフォルトのフィルタは次のようになります。
(&(objectclass=user)(!(objectclass=Computer))(!(msDS-UserAccountDisabled=TRUE)))
このフィルタを変更するには、Web ブラウザで CCMAdmin にログインし、[LDAP configuration] メニューから [LDAP Custom Filter] オプションを選択します。
このフィルタは、前の図に示すように、LDAP同期合意書を設定するときにLDAPディレクトリページで使用されます。