2014-06-19 4 views
0

현재 OpenDS를 사용 중이므로 Active Directory (AD LDS)로 마이그레이션해야합니다. 특성/개체 정의를 Active Directory (AD LDS)로 가져 오기

나는/몇 가지 사용자 지정 특성이처럼 된 OpenDS/설정/스키마 디렉토리에 .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 편집을 사용 (! 성가신) 수동으로 하나 하나 내 정의를 가져올 수 있습니다 -하지만 몇 가지 문제가 발생했습니다

  • 그것은 2.5.5.12처럼, 서로 다른 구문 정의의 소수를 지원하는 AD 보인다. 1.3.6.1.4.1.1466.115.121.1.15와 같은 것을 어떻게 AD에 매핑 할 수 있습니까?

  • oMSyntax : AD와 관련이 있으며 LDAP 세계의 다른 곳에서는 알 수없는 것으로 보입니다. attributeSyntax와 함께 사용하는 oMSyntax는 AD 세계에서 데이터 유형을 정의하는 것처럼 보입니다.

  • 평등과 같은 항목은 광고에서 완전히 누락 된 것 같습니다! 이 문제를 어떻게 처리할까요?

질문 : MS/AD/LDIFDE에 의해 이해할 수있는 형식으로 속성/개체 정의가있는 LDIF 파일을 변환하는 도구가 있습니까?

또는 더 일반적인 질문 : 속성/개체 정의를 OpenDS, OpenLDAP 등에서 Microsoft 세계로 마이그레이션하는 가장 좋은 방법은 무엇입니까?

답변

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를 사용

  • 를 수동으로 실시를 (그처럼하지 않을) :
  • 특정 Active Directory에 Scema 편집기 MMC (Microsoft 관리 콘솔)
,691를 사용

ADSIEDIT Active-Directory Schema Editor

  • 를 수동으로 실시

    이것이 개발 단계에서 사용하는 방법입니다.

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

    이 MMC는 액티브 X 컴포넌트 기록에서만 사용할 수있는 기존 서버 사용하는 경우

    Regsvr32 c:\windows\system32\schmmgmt.msc 
    

    MMC Active-Directory Schema Editor

    이 방법이 훨씬 더 쉽게, 그것은 내가에서 사용하는 방법 VM을 개발하여 내 특성을 만든 다음 LDIFDE.EXE 도구를 사용하여 LDIF 설명을 내보내 (시스템 특성 제거) 프로덕션 서버로 가져옵니다.

    • Programaticaly 사용 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, I는 LDIDE.EXE 프로그램에게 DC=XXXX 구문을 사용하여 주사 할 수있다 올바른 DN로 찾으려면 LDIFFDE.EXE 프로그램 옵션의 -c DNSrc DNTarget을 사용하십시오.

    • 는 지금까지 구문과 일치 규칙에 관한 한, 내 의견으로는 액티브 디렉토리에서 때문에 표준이 아니다. Microsoft는 이러한 개념들과 조합하여 개념을 사용하여 구문과 같은 것을 제공합니다. 새 속성을 만들 때마다 구문을 지정해야합니다. 총 21 개 구문 집합 중에서 구문을 고유하게 식별하려면 구문의 OID와 소위 OM 구문의 두 가지 정보를 지정해야합니다. 이 값 쌍은 함께 설정되어야하며 Mictosoft documention과 정확하게 연관되어야합니다.
+0

와우, 귀하의 자세한 설명을 위해 많이 감사합니다! – Frizz

+0

... 조금 실험 해봤는데 이제 rdnAttId (classSchema 정의)가 붙어 있습니다. 내 다른 질문 좀 봐 주시겠습니까? http://stackoverflow.com/questions/24325512/import-object-class-definitions-to-active-directory-ad-lds – Frizz

+0

완료, 도움이되기를 바랍니다. – JPBlanc

관련 문제