0

現在、私は OpenDS を使用しており、Active Directory (AD LDS) に移行する必要があります。

次のように、OpenDS/config/schema ディレクトリの .ldif ファイルで定義されているカスタム属性/オブジェクトがいくつかあります。

attributeTypes: ( 1.3.6.1.4.1.99.1
  NAME 'myNewAttribute'
  DESC 'some text'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  )

objectClasses: ( 1.3.6.1.4.1.99.2
  NAME 'myNewClass'
  SUP top STRUCTURAL
  MUST ( person $ myNewAttribute )
  MAY someOtherAttribute
  )

残念ながら、ldifde はこの形式を認識しないため、ADSI Edit を使用して定義を 1 つずつ手動でインポートしましたが (面倒です!)、いくつかの問題が発生しました。

  • AD は、2.5.5.12 のような少数の異なる SYNTAX 定義のみをサポートしているようです。1.3.6.1.4.1.1466.115.121.1.15 のようなものを AD にマップするにはどうすればよいですか?

  • oMSyntax: AD 固有のようで、LDAP の世界では知られていません。oMSyntax と attributeSyntax の組み合わせは、AD の世界でデータ型を定義しているようです。

  • EQUALITY のようなものは、AD では完全に欠落しているようです! これに対処する方法は?

質問:属性/オブジェクト定義を含む LDIF ファイルを、MS / AD / ldifde が理解できる形式に変換するツールはありますか?

または、より一般的な質問: 属性/オブジェクト定義を OpenDS、OpenLDAP などから Microsoft の世界に移行するためのベスト プラクティスは何ですか?

4

1 に答える 1

2

Diretories 互換性の世界へようこそ。まず、次の構文:

attributeTypes: ( 1.3.6.1.4.1.99.1
  NAME 'myNewAttribute'
  DESC 'some text'
  EQUALITY caseIgnoreMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
  SINGLE-VALUE
  )

LDIF 構文ではありません。これは、Netscape のようなディレクトリでスキーマを指定するために使用される構文です (OpenLDAP、Ex Sun ディレクトリ サービスなど)。Active Directory に新しい属性とクラスを導入する場合は、次の 3 つの方法のいずれかを使用して行うことができます。

  • 一般的なADSIEDIT.MSCを手動で使用します(私は決してそのようにはしません):

ADSIEDIT Active Directory スキーマ エディター

  • 特定の Active Directory Scema Editor MMC (Microsoft 管理コンソール) を使用して手動で

これは私が開発段階で使用する方法です。

MMC.EXE -> File -> Open Component -> Active Directory Schema

古いサーバーを使用している場合、この MMC は Active X コンポーネントの記録にのみ使用できます。

Regsvr32 c:\windows\system32\schmmgmt.msc

MMC アクティブ ディレクトリ スキーマ エディタ

この方法ははるかに簡単です。開発 VM で属性を作成するために使用する方法です。次に、LDIFDE.EXE ツールを使用して LDIF 記述をエクスポートし、それをクリーンアップ (システム属性を削除) して、運用サーバーにインポートします。

  • プログラムで LDIF を使用する

属性の LDIF 構文の例を次に示します。

dn: CN=SlxChapitres,CN=Schema,CN=Configuration,DC=XXXX
changetype: add
objectClass: top
objectClass: attributeSchema
cn: SlxChapitres
distinguishedName: CN=SlxChapitres,CN=Schema,CN=Configuration,DC=XXXX
instanceType: 4
attributeID: 1.3.6.1.4.1.10558.2.1.6
attributeSyntax: 2.5.5.4
isSingleValued: FALSE
showInAdvancedViewOnly: TRUE
adminDisplayName: SlxChapitres
oMSyntax: 20
lDAPDisplayName: SlxChapitres
name: SlxChapitres
objectCategory: CN=Attribute-Schema,CN=Schema,CN=Configuration,DC=XXXX

このコードは LDIFです。LDIDE.EXEプログラムを使用して挿入できます。このDC=XXXX構文を使用する-c DNSrc DNTargetと、LDIFFDE.EXE プログラム オプションを使用して正しい DN に配置できます。

  • Syntax とマッチング ルールに関する限り、私の意見では、Active-Directoryはそれほど標準的ではありませんMicrosoft は、これらの概念を組み合わせて、 Syntaxと呼ばれるものを提供しています。新しい属性を作成するときは常に、その構文を指定する必要があります。合計 21 の構文セットの中で構文を一意に識別するには、構文の OID といわゆる OM 構文の 2 つの情報を指定する必要があります。この値のペアは一緒に設定し、 Mictosoft のドキュメントと正しく関連付ける必要があります。
于 2014-06-20T04:47:37.813 に答える