이번 Delegated Administrator 릴리스에서는 직접 공급업체 조직과 SPA를 만들려면 Delegated Administrator에서 제공한 사용자 정의 서비스 공급업체 템플리트(da.provider.skeleton.ldif)를 사용해야 합니다.
또한 Delegated Administrator 구성 프로그램을 실행할 때 샘플 공급업체 조직(하위 조직 포함)과 샘플 SPA를 디렉토리에 설치할 수 있습니다. 구성 프로그램에서 샘플 조직 로드를 선택하면 됩니다.
하지만 샘플 조직 템플리트(da.sample.data.ldif)는 직접 공급업체 조직을 만들기 위한 템플리트가 아니라 예로 사용하도록 제공된 것입니다. 이 예에 대한 자세한 내용은 이 부록의 뒷부분에 있는 샘플 서비스 공급업체 조직 데이터를 참조하십시오.
공급업체 조직과 SPA를 만들었다면 SPA는 Delegated Administrator 콘솔에 로그인하여 하위 조직을 만들고 관리하며 SPA 조직의 다른 사용자에게 SPA 역할을 할당할 수 있습니다. 하지만 이 SPA는 동일한 공급업체 조직만 관리할 수 있습니다.
또 다른 공급업체 조직 및 이를 관리할 SPA를 만들려면 사용자 정의 서비스 공급업체 템플리트를 다시 사용해야 합니다.
이 절은 다음 내용으로 구성되어 있습니다.
템플리트에서 생성하는 항목에서는 이 템플리트의 편집된 복사본이 디렉토리에 설치될 때 생성되는 조직의 예를 보여 줍니다.
공급업체 조직, 하위 조직 및 SPA 생성에 필요한 정보에서는 공급업체 조직, 공유 하위 조직 및 SPA를 만들 때 필요한 템플리트의 매개 변수를 정의합니다.
공급업체 조직 및 서비스 공급업체 관리자 생성 단계에서는 템플리트를 편집하고 디렉토리에 그 정보를 설치하는 방법에 대해 설명합니다.
사용자 정의 서비스 공급업체 템플리트는 템플리트의 목록입니다.
사용자 정의 서비스 공급업체 템플리트의 편집된 복사본을 디렉토리에 설치하면 다음 항목이 만들어집니다.
공급업체 조직
SPA 사용자를 수용하도록 지정된 공유 하위 조직
하위 조직에 속해 있으며 SPA 역할이 할당된 사용자
그 아래에서 전체 조직이 생성될 수 있는 자리 표시자 노드. 이 전체 조직은 해당 공급업체 조직의 SPA가 관리합니다.
그림 A–2에서는 템플리트 설치로 생성되는 항목의 예를 보여 줍니다. 조직에 대한 디렉토리 정보 트리(DIT) 보기입니다.
그림 A–2는 예로 제공된 것입니다. 조직 이름, SPA 사용자 이름 및 DIT 구조는 설치 환경에 맞게 사용해야 합니다.
그림 A–2에서 소개하는 예의 노드는 다음과 같습니다.
o=usergroup - 사용자/그룹 데이터의 루트 접미어
o=varrius.com - 기본 메일 도메인
o=siroe.com - 공급업체 조직에서 사용하는 메일 도메인
o=MyProviderOrg - 공급업체 조직 노드
o=MySPAUserOrg - SPA 역할이 할당된 사용자를 비롯하여 공급업체 조직 사용자를 수용하도록 지정된 공유 하위 조직
ou=people - 사용자를 수용하는 데 필요한 표준 LDAP 조직 단위
uid=user1 - MySPAUserOrg 조직에서 SPA로 할당된 사용자의 uid
o=MyProviderOrgDomainsRoot - MyProviderOrg 공급업체 조직의 하위 전체 조직을 수용할 자리 표시자 노드
공급업체 조직, 하위 조직 및 SPA를 만들려면 사용자 정의 서비스 공급업체 템플리트의 매개 변수를 설치 환경에 적합한 정보로 바꿔야 합니다.
이 매개 변수를 설명하는 부분의 사용자 정의 서비스 공급업체 템플리트에서 설명한 da.provider.skeleton.ldif의 목록을 확인할 수 있습니다. 또는 다음 디렉토리에 있는 실제 ldif 파일을 열어 볼 수 있습니다.
da-base/lib/config-templates
이 매개 변수와 관련된 속성에 대한 정의는 Sun Java System Communications Services Schema Reference의 5장, "Communications Suite Delegated Administrator Classes and Attributes (Schema 2)" 및 Sun Java Communications Suite Schema Reference의 3장, "Messaging Server and Calendar Server Attributes"를 참조하십시오.
공급업체 조직 및 하위 조직을 만들려면 다음 매개 변수를 편집합니다.
ugldapbasedn
디렉토리에서 사용자/그룹 데이터의 루트 접미어
예를 들면 다음과 같습니다.
o=usergroup
dc=red,dc=iplanet,dc=com
maildomain_dn
그 아래에서 공급업체 조직이 생성될 메일 도메인의 전체 DN
예를 들면 다음과 같습니다.
o=siroe.com, o=usergroup
o=sesta.com,o=SharedDomainsRoot,o=Business,dc=red, \ dc=iplanet,dc=com |
maildomain_dn_str
모든 쉼표(,)가 밑줄(_)로 바뀐 메일 도메인 DN
예를 들어, 메일 도메인 DN이 다음과 같다면
o=siroe.com,o=SharedDomainsRoot,o=Business,dc=red, \ dc=iplanet,dc=com |
메일 도메인 DN 문자열은 다음과 같습니다.
o=siroe.com_o=SharedDomainsRoot_o=Business_dc=red_ \ dc=iplanet_dc=com |
providerorg
공급업체 조직의 이름. 공급업체 조직이 상주하는 디렉토리 노드에 이 이름이 부여됩니다.
이 매개 변수는 da.provider.skeleton.ldif 템플리트에서 여러 차례 사용됩니다.
예를 들면 다음과 같습니다.
sunProviderOrgDN: o=MyProviderOrg,o=siroe.com,o=usergroup
o=MyProviderOrg
sunBusinessOrgBase: o=MyProviderOrgdomainsroot, o=usergroup
servicepackage
공급업체 조직의 하위 조직 사용자에게 할당될 수 있는 서비스 패키지의 이름. 다중 값 매개 변수입니다.
da.provider.skeleton.ldif 파일의 "Provider Organization" 섹션에 다음 속성이 있습니다.
sunIncludeServices: <servicepackage>
공급업체 조직에 포함시킬 서비스 패키지마다 sunIncludeServices 속성 및 servicepackage 매개 변수의 인스턴스를 하나씩 추가합니다. 여기에 표시된 서비스 패키지만 하위 조직 사용자에게 할당될 수 있습니다.
예를 들면 다음과 같습니다.
sunIncludeServices: gold sunIncludeServices: platinum sunIncludeServices: ruby sunIncludeServices: silver |
sunIncludeServices 속성을 사용하지 않는다면(servicepackage 매개 변수를 포함하는 줄을 삭제하는 경우) 디렉토리의 모든 서비스 패키지를 할당할 수 있습니다.
domain_name
공급업체 조직의 하위 조직에 할당될 수 있는 도메인 이름. 다중 값 매개 변수입니다.
da.provider.skeleton.ldif 파일의 “Provider Organization” 섹션에 다음 속성이 있습니다.
sunAssignableDomains: <domain_name>
sunAssignableDomains 속성에서의 도메인 이름은 메일 도메인 조직의 sunPreferredDomain 및 associatedDomain 속성에 나열된 이름의 일부(또는 전부)입니다. (메일 도메인은 그 아래에서 이 공급업체 조직이 만들어지는 조직입니다.)
공급업체 조직에 포함시킬 도메인 이름마다 sunAssignableDomains 속성 및 domain_name 매개 변수의 인스턴스를 하나씩 추가합니다. 여기에 나열된 도메인 이름만 하위 조직에 할당될 수 있습니다.
예를 들면 다음과 같습니다.
sunAssignableDomains: siroe.com sunAssignableDomains: siroe.net sunAssignableDomains: varrius.com sunAssignableDomains: sesta.com sunAssignableDomains: sesta.net |
provider_sub_org
SPA 사용자가 상주하는 공유 도메인의 이름. 편집된 ldif 정보를 디렉토리에 설치하면 공급업체 조직의 공유 하위 조직으로 이 조직이 만들어집니다. SPA 사용자를 수용하는 조직으로 지정됩니다. 이 공급업체 조직의 SPA 역할이 할당된 다른 사용자는 이 공유 하위 조직에 상주해야 합니다.
da.provider.skeleton.ldif 파일의 “Provider Organization” 섹션에 다음 속성이 있습니다.
sunProviderOrgDN: o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> |
sunProviderOrgDN 속성은 공급업체 조직 사용자, 특히 SPA가 속하는 조직을 식별합니다.
예를 들면 다음과 같습니다.
sunProviderOrgDN: o=MySPAUserOrg,o=MyProviderOrg,o=siroe.com,o=usergroup |
preferredmailhost
공급업체 조직의 (SPA 사용자가 상주하는) 하위 조직에서 기본 메일 호스트의 시스템 이름. 정규화된 도메인 이름(FQDN)을 사용해야 합니다.
da.provider.skeleton.ldif 파일의 “Shared Subordinate Organization” 섹션에 다음 속성이 있습니다.
preferredMailHost: <preferredmailhost>
예를 들면 다음과 같습니다.
preferredMailHost: mail.siroe.com
available_domain_name
특정 하위 조직의 사용자에게 할당될 수 있는 도메인 이름. 다중 값 매개 변수입니다.
available_domain_name의 값은 sunAssignableDomains: <domain_name> 속성 및 매개 변수의 값 중 해당되는 일부입니다. domain_name이 공급업체 조직 전체에 적용된다면, available_domain_name은 하나의 하위 조직에 적용됩니다.
da.provider.skeleton.ldif 파일의 “Shared Subordinate Organization” 섹션에 다음 속성이 있습니다.
sunAvailableDomainNames: <available_domain_name>
이 하위 조직이 공급업체 조직의 sunAssignableDomains 속성에 있는 도메인 이름 목록 중에서 상속하려는 도메인 이름마다 sunAvailableDomains 속성 및 available_domain_name 매개 변수의 인스턴스를 하나씩 추가합니다. 여기 나열된 도메인 이름만 하위 조직에 할당될 수 있습니다.
예를 들면 다음과 같습니다.
sunAvailableDomainNames: siroe.com sunAvailableDomainNames: siroe.net sunAvailableDomainNames: varrius.com |
available_services
특정 하위 조직에서 사용 가능한 서비스 패키지. 다중 값 매개 변수입니다.
하위 조직에 할당되는 서비스 패키지는 sunIncludeServices 속성으로 공급업체 조직 전체에 할당되는 서비스 패키지의 일부입니다.
da.provider.skeleton.ldif 파일의 “Shared Subordinate Organization” 섹션에 다음 속성이 있습니다.
sunAvailableServices: <available_services>
available_services 매개 변수의 형식은 다음과 같습니다.
service package name: count |
여기서 count는 정수입니다. count가 없으면 기본값은 무제한 수입니다.
이 하위 조직이 공급업체 조직의 sunIncludeServices 속성에서 사용 가능한 서비스 패키지 중에서 상속하려는 서비스 패키지마다 sunAvailableServices 속성 및 available_services 매개 변수의 인스턴스를 하나씩 추가합니다.
예를 들면 다음과 같습니다.
sunAvailableServices: gold:1500 sunAvailableServices: platinum:2000 sunAvailableServices: silver:5000 |
SPA를 만들려면 다음 매개 변수를 편집합니다.
spa_uid
SPA 사용자의 사용자 아이디
예를 들면 다음과 같습니다.
uid: user1
spa_password
SPA 사용자의 비밀번호
예를 들면 다음과 같습니다.
userPassword: x12P3&qrS
spa_firstname
SPA 사용자의 이름
예를 들면 다음과 같습니다.
givenname: John
spa_lastname
SPA 사용자의 성
예를 들면 다음과 같습니다.
sn: Smith
spa_servicepackage
SPA 사용자에게 할당된 서비스 패키지. 서비스 패키지에 대한 자세한 내용은 1 장, Delegated Administrator 개요의 서비스 패키지를 참조하십시오.
예를 들면 다음과 같습니다.
inetCos: platinum
spa_mailaddress
SPA 사용자의 메일 주소. 메일 주소 중 도메인 부분은 available_domain_name 매개 변수를 교체하는 도메인 값 중 하나가 되어야 합니다. 즉, SPA 사용자가 상주하는 하위 조직에서 사용 가능한 도메인이어야 합니다. 자세한 내용은 공급업체 및 하위 조직을 정의하는 매개 변수 를 참조하십시오.
예를 들면 다음과 같습니다.
mail: user1@siroe.com
사용자 정의 서비스 공급업체 템플리트를 편집하고 디렉토리에 정보를 설치하는 방법에 대한 지침은 공급업체 조직 및 서비스 공급업체 관리자 생성 단계를 참조하십시오.
ldif 파일 da.provider.skeleton.ldif를 사용하여 다음 절차를 수행합니다.
이 절차는 다음 예와 같이 루트 접미어와 기본 메일 도메인을 디렉토리에 이미 설치했다고 가정합니다.
o=usergroup o=varrius.com |
디렉토리에 메일 도메인을 만듭니다.
아직 메일 도메인을 만들지 않았다면 디렉토리에 메일 도메인을 만듭니다. 공급업체 조직 및 그 공유 하위 조직이 이 메일 도메인을 사용하게 됩니다.
예를 들면 다음과 같습니다.
다음 예에서 da.provider.skeleton.ldif 파일은 siroe.com이라는 새로운 메일 도메인 아래에 공급업체 조직과 서비스 공급업체 관리자를 설치합니다.
o=usergroup o=varrius.com o=siroe.com |
da.provider.skeleton.ldif 파일을 복사하고 이름을 바꿉니다.
Delegated Administrator 설치 시 da.provider.skeleton.ldif 파일이 다음 디렉토리에 설치됩니다.
da-base /lib/config-templates
da.provider.skeleton.ldif 파일의 복사본에서 다음 매개 변수를 편집합니다. 매개 변수를 설치 환경에 적합한 값으로 바꿉니다.
매개 변수 정의는 공급업체 조직, 하위 조직 및 SPA 생성에 필요한 정보를 참조하십시오.
일부 매개 변수는 ldif 파일에서 두 차례 이상 사용됩니다. 각 매개 변수의 모든 인스턴스를 검색하여 바꿔야 합니다.
몇몇 매개 변수는 다중 값 속성에 대한 값을 나타냅니다. 이러한 매개 변수는 해당 속성 이름과 함께 복사하여 편집함으로써 ldif 파일에서 속성의 여러 인스턴스를 허용할 수 있습니다. 다중 값 매개 변수는 다음과 같습니다.
<ugldapbasedn>
<maildomain_dn>
<maildomain_dn_str>
<providerorg>
<servicepackage>(다중 값)
<domain_name>(다중 값)
<provider_sub_org>
<preferredmailhost>
<available_domain_name>(다중 값)
<available_services>(다중 값)
<spa_uid>
<spa_password>
<spa_firstname>
<spa_lastname>
<spa_servicepackage>
<spa_mailaddress>
이 매개 변수와 관련된 속성에 대한 정의는 Sun Java System Communications Services Schema Reference의 5장, "Communications Services Delegated Administrator Classes and Attributes (Schema 2)" 및 3장, "Messaging Server and Calendar Server Attributes"를 참조하십시오.
LDAP 디렉토리 도구인 ldapmodify를 사용하여 디렉토리에 공급업체 조직 및 SPA를 설치합니다.
예를 들면 다음 명령을 실행할 수 있습니다.
ldapmodify -D <directory manager> -w <password> \ -f <da.provider.finished.ldif> |
여기서
<directory manager>는 Directory Server 관리자의 이름입니다.
<password>는 Directory Service 관리자의 비밀번호입니다.
<da.provider.finished.ldif>는 새 공급업체 조직 및 SPA로서 디렉토리에 설치된 편집된 ldif 파일의 이름입니다.
예를 들면 다음과 같습니다.
다음 예는 siroe.com 메일 도메인 아래에 설치된 조직 노드 및 서비스 공급업체 관리자 사용자를 보여 줍니다.
o=usergroup o=varrius.com o=siroe.com o=MyProviderOrg o=MySPAUserOrg ou=People uid=user1 o=MyProviderOrgDomainsRoot |
MyProviderOrgDomainsRoot 조직은 루트 접미어인 usergroup 아래에 있습니다. MyProviderOrgDomainsRoot는 ldif가 생성하는 자리 표시자 노드로서 MyProviderOrg 조직의 전체 하위 조직이 포함됩니다.
템플리트(da.provider.skeleton.ldif )에는 새 공급업체 조직 및 SPA를 만들기 위해 수정해야 할 매개 변수가 들어 있습니다.
아래 목록에서는 ldif 파일에서 매개 변수가 있는 섹션을 보여 줍니다. 파일 전체가 포함된 것은 아닙니다. Access Manager 지원에 필요한 항목 및 ACI는 여기에 포함되지 않았습니다.
ldif 파일에서는 매개 변수만 수정해야 합니다. Access Manager와 관련된 파일 섹션은 수정할 수 없습니다.
# # The following parameterized values must be replaced. # # <ugldapbasedn> :: Root suffix for user/group data # <maildomain_dn> :: Complete dn of the mail domain underneath # which the provider organization will be # created. # <maildomain_dn_str> :: The maildomain dn with all ',' replaced # by '_'. E.g. # dn --\> o=siroe.com,o=SharedDomainsRoot, # o=Business,dc=red,dc=iplanet,dc=com # dn_str --> o=siroe.com_o=SharedDomainsRoot_ # o=Business_dc=red_dc=iplanet_dc=com # <providerorg> : Organization value for provider node. # <servicepackage> :: One for each service package to include. # All service packages in the system # may be assigned by leaving this value empty. # <domain_name> :: One for each DNS name which may be assigned # to a subordinate organization. # These names form a proper subset (some or # all) of the names listed in the <maildomain> # organization's sunpreferreddomain # and associateddomain attributes. # <provider_sub_org> :: Organization value for the shared subordinate # organization in which the Provider # Administrator resides. # <preferredmailhost> :: Name of the preferred mail host for the # provider's subordinate organization. # <available_domain_name> :: one for each DNS name that an organization # allows an organization admin to use when # creating a user's mail address. This is # a proper subset of the values given for # <domain_name> (sunAssignableDomains attribute). # <available_services> :: One for each service packags available to an # organization (sunAvailableServices attribute). # These service packages form a proper subset # of the ones assigned to a provider organization # - <servicepackage> (sunIncludeServices # attribute). Form is # <service package name>:<count> # where count is an integer. If count is absent # then default is unlimited. # <spa_uid> :: The uid for the service provider administrator. # <spa_password> :: The password for the service provider # administrator. # <spa_firstname> :: First name of the service provider # administrator. # <spa_lastname> :: Last name of the service provider # administrator. # <spa_servicepackage> :: Service package assigned to the service # provider administrator. # <spa_mailaddress> :: The spa's mail address. The domain part of the # mail address must be one of the values used for # <available_domain_name>. # # # Provider Organization # dn: o=<providerorg>,<maildomain_dn> changetype: add o: <providerorg> objectClass: top objectClass: sunismanagedorganization objectClass: sunmanagedorganization objectClass: organization objectClass: sunManagedProvider sunAllowBusinessOrgType: full sunAllowBusinessOrgType: shared sunBusinessOrgBase: o=<providerorg>domainsroot,<ugldapbasedn> sunIncludeServices: <servicepackage> sunAssignableDomains: <domain_name> sunAllowMultipleDomains: true sunAllowOutsideAdmins: false sunProviderOrgDN: o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> # . # . # [Entries and ACIs required by Access Manager] # . # . # # Full Organizations node # dn: o=<providerorg>DomainsRoot,<ugldapbasedn> changetype: add o: <providerorg>DomainsRoot objectClass: top objectClass: organization objectClass: sunmanagedorganization # . # . # [Entries and ACIs required by Access Manager] # . # . # # Provider Admin Role shared organizations # dn: cn=Provider Admin Role,o=<providerorg>,<maildomain_dn> changetype: add cn: Provider Admin Role objectClass: ldapsubentry objectClass: nssimpleroledefinition objectClass: nsroledefinition objectClass: nsmanagedroledefinition objectClass: iplanet-am-managed-role objectClass: top iplanet-am-role-description: Provider Admin # # Provider Admin Role full organizations # dn: cn=Provider Admin Role,o=<providerorg>DomainsRoot,<ugldapbasedn> changetype: add cn: Provider Admin Role objectClass: ldapsubentry objectClass: nssimpleroledefinition objectClass: nsroledefinition objectClass: nsmanagedroledefinition objectClass: iplanet-am-managed-role objectClass: top iplanet-am-role-description: Provider Admin # # Shared Subordinate Organization. Includes 1 user who is # the Provider Administrator. # dn: o=<provider_sub_org>,=<providerorg>,<maildomain_dn> changetype: add preferredMailHost: <preferredmailhost> sunNameSpaceUniqueAttrs: uid o: <provider_sub_org> objectClass: inetdomainauthinfo objectClass: top objectClass: sunismanagedorganization objectClass: sunnamespace objectClass: sunmanagedorganization objectClass: organization objectClass: sunDelegatedOrganization objectClass: sunMailOrganization sunAvailableDomainNames: <available_domain_name> sunAvailableServices: <available_services> sunOrgType: shared sunMaxUsers: -1 sunNumUsers: 1 sunMaxGroups: -1 sunNumGroups: 0 sunEnableGAB: true sunAllowMultipleServices: true inetDomainStatus: active sunRegisteredServiceName: GroupMailService sunRegisteredServiceName: DomainMailService sunRegisteredServiceName: UserMailService sunRegisteredServiceName: iPlanetAMAuthService sunRegisteredServiceName: UserCalendarService sunRegisteredServiceName: iPlanetAMAuthLDAPService sunRegisteredServiceName: DomainCalendarService # . # . # [Entries and ACIs required by Access Manager] # . # . dn: ou=People,o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> changetype: add ou: People objectClass: iplanet-am-managed-people-container objectClass: organizationalUnit objectClass: top dn: ou=Groups,o=<provider_sub_org>,o=<providerorg>,<maildomain_dn> changetype: add ou: Groups objectClass: iplanet-am-managed-group-container objectClass: organizationalUnit objectClass: top # . # . # [Entries and ACIs required by Access Manager] # . # . # # User - provider administrator # dn: uid=<spa_uid>,ou=People,o=<provider_sub_org>,o=<providerorg>, \ <maildomain_dn> changetype: add sn: <spa_lastname> givenname: <spa_firstname> cn: <spa_firstname> <spa_lastname> uid: <spa_uid> iplanet-am-modifiable-by: cn=Top-level Admin Role,<ugldapbasedn> objectClass: inetAdmin objectClass: top objectClass: iplanet-am-managed-person objectClass: iplanet-am-user-service objectClass: iPlanetPreferences objectClass: person objectClass: organizationalPerson objectClass: inetuser objectClass: inetOrgPerson objectClass: ipUser objectClass: inetMailUser objectClass: inetLocalMailRecipient objectClass: inetSubscriber objectClass: userPresenceProfile objectClass: icsCalendarUser mailhost: <preferredmailhost> mail: <spa_mailaddress> maildeliveryoption: mailbox mailuserstatus: active inetCos: <spa_servicepackage> inetUserStatus: Active nsroledn: cn=Provider Admin Role,o=<providerorg>,<maildomain_dn> userPassword: <spa_password>