4.5. LDAP에서 IdM으로 마이그레이션 사용자 정의

ipa migrate-ds 명령을 사용하여 LDAP 서버에서 IdM(Identity Management)으로 인증 및 권한 부여 서비스를 마이그레이션할 수 있습니다. 추가 옵션 없이 명령은 일반적인 기본 설정에 따라 데이터를 마이그레이션 및 내보내는 디렉터리의 LDAP URL을 사용합니다.

다른 ipa migrate-ds 명령 옵션을 사용하여 마이그레이션 프로세스 및 데이터를 식별하고 내보내는 방법을 사용자 지정할 수 있습니다. LDAP 디렉터리 트리에 고유한 구조가 있거나 항목 내의 특정 항목 또는 속성을 제외해야 하는 경우 마이그레이션을 사용자 지정합니다.

4.5.1. LDAP에서 IdM으로 마이그레이션하는 동안 바인딩 DN 및 기본 DN 사용자 정의 예

ipa migrate-ds 명령을 사용하여 LDAP에서 IdM(Identity Management)으로 마이그레이션합니다. 추가 옵션 없이 명령은 일반적인 기본 설정에 따라 데이터를 마이그레이션 및 내보내는 디렉터리의 LDAP URL을 사용합니다. 다음은 기본 설정을 수정하는 예입니다.

# ipa migrate-ds ldap://ldap.example.com:389
바인딩 DN 사용자 지정

기본적으로 DN "cn=Directory Manager"는 원격 LDAP 디렉터리에 바인딩하는 데 사용됩니다. --bind-dn 옵션을 사용하여 사용자 정의 바인딩 DN을 지정합니다.

# ipa migrate-ds ldap://ldap.example.com:389 --bind-dn=cn=Manager,dc=example,dc=com
이름 지정 컨텍스트 사용자 지정

LDAP 서버 이름 지정 컨텍스트가 IdM에서 사용되는 컨텍스트와 다른 경우 오브젝트의 기본 DN이 변환됩니다. 예를 들어 uid =사용자,ou=people,dc=ldap,dc=example,dc=com 은 uid =사용자,ou=people,dc=idm,dc=example,dc=com 으로 마이그레이션됩니다. base -dn 옵션을 사용하여 컨테이너 하위 트리의 대상을 변경하여 마이그레이션을 위해 원격 LDAP 서버에서 사용되는 기본 DN을 설정할 수 있습니다.

# ipa migrate-ds --base-dn="ou=people,dc=example,dc=com" ldap://ldap.example.com:389

추가 리소스

  • ipa migrate-ds --help

4.5.2. 특정 하위 트리 마이그레이션

기본 디렉터리 구조에서는 ou=People 하위 트리 및 그룹 항목에 ou=Groups 하위 트리에 person 항목을 배치합니다. 이러한 하위 트리는 다양한 유형의 디렉터리 데이터에 대한 컨테이너 항목입니다. migrate-ds 명령과 함께 옵션을 사용하지 않는 경우 유틸리티는 지정된 LDAP 디렉터리가 ou=Peopleou=Groups 구조를 사용한다고 가정합니다.

대부분의 배포에는 완전히 다른 디렉터리 구조가 있거나 원래 디렉터리 트리의 특정 부분만 내보낼 수 있습니다. 관리자는 다음 옵션을 사용하여 소스 LDAP 서버에서 다른 사용자 또는 그룹 하위 트리의 RDN을 지정할 수 있습니다.

  • --user-container
  • --group-container
참고

두 경우 모두 하위 트리는 상대 고유 이름(RDN)이어야 하며 기본 DN을 기준으로 해야 합니다. 예를 들어 --user-container =ou=ou=hieras를 사용하여 >ou=mtlss,dc=example,dc= com 디렉터리 트리를 마이그레이션할 수 있습니다.

예를 들면 다음과 같습니다.

[ipaserver ~]# ipa migrate-ds --user-container=ou=employees \
--group-container="ou=employee groups" ldap://ldap.example.com:389

선택적으로 ipa migrate-ds 명령에 --scope 옵션을 추가하여 범위를 설정합니다.

  • onelevel: Default 지정된 컨테이너의 항목만 마이그레이션됩니다.
  • 지정된 컨테이너의 하위 트리: 항목 및 모든 하위 컨테이너가 마이그레이션됩니다.
  • 지정된 개체 자체만 마이그레이션됩니다.Only the specified object itself is migrated.

4.5.3. 항목 포함 및 제외

기본적으로 ipa migrate-ds 스크립트는 person 오브젝트 클래스와 groupOfUniqueNames 또는 groupOfNames 오브젝트 클래스를 사용하여 모든 사용자 항목을 가져옵니다.

일부 마이그레이션 경로에서 특정 유형의 사용자 및 그룹만 내보내야 할 수도 있고, 대안으로 특정 사용자 및 그룹만 제외해야 할 수도 있습니다. 사용자 또는 그룹 항목을 찾을 때 검색할 오브젝트 클래스를 설정하여 포함할 사용자 및 그룹 유형을 선택할 수 있습니다.

이 옵션은 다양한 사용자 유형에 대해 사용자 지정 개체 클래스를 사용할 때 특히 유용합니다. 예를 들어 다음 명령은 사용자 지정 fullTime mtls 오브젝트 클래스를 사용하는 사용자만 마이그레이션합니다.

[root@ipaserver ~]# ipa migrate-ds --user-objectclass=fullTimeEmployee ldap://ldap.example.com:389

다양한 유형의 그룹으로 인해 이는 사용자 그룹과 같은 특정 유형의 그룹 만 마이그레이션하는 동시에 인증서 그룹과 같은 다른 유형의 그룹을 제외하는 데도 유용합니다. 예를 들면 다음과 같습니다.

[root@ipaserver ~]# ipa migrate-ds --group-objectclass=groupOfNames --group-objectclass=groupOfUniqueNames ldap://ldap.example.com:389

오브젝트 클래스를 기반으로 마이그레이션할 사용자 및 그룹 항목을 지정하면 다른 모든 사용자 및 그룹이 마이그레이션에서 암시적으로 제외됩니다.

또는 소수의 항목만 제외하고 모든 사용자 및 그룹 항목을 마이그레이션하는 것이 유용할 수 있습니다. 해당 유형의 다른 모든 사용자를 마이그레이션하는 동안 특정 사용자 또는 그룹 계정을 제외할 수 있습니다. 예를 들어, 이 예제에서는 hobbies 그룹과 두 명의 사용자만 제외합니다.

[root@ipaserver ~]# ipa migrate-ds --exclude-groups="Golfers Group" --exclude-users=idmuser101 --exclude-users=idmuser102 ldap://ldap.example.com:389

exclude 문은 uid의 패턴과 일치하는 사용자cn 특성에 일치하는 그룹에 적용됩니다.

일반 개체 클래스를 마이그레이션하지만 해당 클래스의 특정 항목을 제외할 수 있습니다. 예를 들어, 여기에는 fullTime mtls 오브젝트 클래스가 있는 사용자가 구체적으로 포함되어 있지만 세 명의 관리자가 제외됩니다.

[root@ipaserver ~]# ipa migrate-ds --user-objectclass=fullTimeEmployee --exclude-users=jsmith --exclude-users=bjensen --exclude-users=mreynolds ldap://ldap.example.com:389

4.5.4. 엔트리 속성의 제외

기본적으로 사용자 또는 그룹 항목의 모든 속성 및 개체 클래스가 마이그레이션됩니다. 특정 시나리오에서는 대역폭 및 네트워크 제약 조건으로 인해 또는 속성 데이터가 더 이상 관련이 없기 때문에 현실적이지 않을 수 있습니다. 예를 들어 IdM(Identity Management) 도메인에 가입하면 userCertificate 특성을 마이그레이션할 때 사용자에게 새 사용자 인증서가 할당되지 않습니다.

migrate-ds 명령과 함께 다음 옵션을 사용하여 특정 오브젝트 클래스와 속성을 무시할 수 있습니다.

  • --user-ignore-objectclass
  • --user-ignore-attribute
  • --group-ignore-objectclass
  • --group-ignore-attribute

예를 들어 사용자에 대한 userCertificate 속성 및 strongAuthenticationUser 개체 클래스를 제외하려면 그룹에 대한 groupOfCertificates 오브젝트 클래스를 제외합니다.

[root@ipaserver ~]# ipa migrate-ds --user-ignore-attribute=userCertificate --user-ignore-objectclass=strongAuthenticationUser --group-ignore-objectclass=groupOfCertificates ldap://ldap.example.com:389
참고

필요한 속성은 무시하지 않도록 합니다. 또한 개체 클래스를 제외할 때는 해당 개체 클래스만 지원하는 속성을 제외해야 합니다.Also, when excluding object classes, make sure to exclude any attributes that only that object class supports.

4.5.5. LDAP에서 IdM으로 마이그레이션할 때 사용할 스키마 및 스키마 비교 기능

IdM(Identity Management)은 RFC2307bis 스키마를 사용하여 사용자, 호스트, 호스트 그룹 및 기타 네트워크 ID를 정의합니다. 그러나 마이그레이션의 소스로 사용된 LDAP 서버에서 RFC2307 스키마를 사용하는 경우 ipa migrate-ds 명령을 사용하여 --schema 옵션을 지정합니다.

[root@ipaserver ~]# ipa migrate-ds --schema=RFC2307 ldap://ldap.example.com:389

또는 IdM에는 RFC2307bis를 지원하지 않는 시스템의 데이터를 다시 포맷할 수 있는 기본 제공 schema compat 기능이 있습니다. compat 플러그인은 기본적으로 활성화되어 있습니다. 즉, 디렉터리 서버에서 사용자 및 그룹의 대체 보기를 계산하고 cn=users,cn=compat,dc=example,dc=com 컨테이너 항목에 이 보기를 제공합니다. 이 작업은 시작 시 해당 항목의 내용을 미리 보고 필요에 따라 항목을 새로 고침하여 수행합니다.

시스템 오버헤드를 줄이기 위해 마이그레이션 중에 이 기능을 사용하지 않도록 설정하는 것이 좋습니다.