3.2. Directory Server에서 역할 사용


역할을 사용하여 Directory Server 항목을 그룹화할 수 있습니다. 역할은 정적 그룹 및 동적 그룹으로 작동합니다. 역할은 구현에 더 유연하므로 그룹보다 사용하기가 더 쉽습니다. 예를 들어 애플리케이션은 그룹을 선택하고 여러 그룹의 멤버 목록을 탐색하는 대신 항목 자체를 쿼리하여 항목이 속하는 역할 목록을 가져올 수 있습니다.

명령줄 또는 웹 콘솔 을 사용하여 역할을 관리할 수 있습니다.

3.2.1. Directory Server의 역할

역할은 하이브리드 그룹과 유사하게 정적 및 동적 그룹으로 작동합니다.

  • 그룹을 사용하면 Directory Server에서 그룹 항목에 항목을 멤버로 추가합니다.
  • 역할로 Directory Server는 역할 속성을 항목에 추가한 다음 이 속성을 사용하여 역할 항목의 멤버를 자동으로 식별합니다.

역할 멤버는 역할을 보유한 항목입니다. 역할 유형에 따라 역할의 멤버를 명시적으로 또는 동적으로 지정할 수 있습니다. Directory Server는 다음 유형의 역할을 지원합니다.

  • 관리 역할

    관리 역할에는 명시적 멤버 목록이 있습니다. 관리 역할을 사용하여 정적 그룹으로 수행하는 것과 동일한 작업을 수행할 수 있습니다.

  • 필터링된 역할

    동적 그룹으로 필터링하는 것과 유사하게 필터링된 역할을 사용하여 역할 멤버를 필터링할 수 있습니다. Directory Server는 항목에 역할에 정의된 특정 특성이 있는지 여부에 따라 필터링된 역할에 항목을 할당합니다.

  • 중첩된 역할

    중첩된 역할에는 관리 및 필터링된 역할이 포함될 수 있습니다.

역할을 생성할 때 사용자가 역할에서 자신을 추가하거나 제거할 수 있는지 확인합니다. 자세한 내용은 3.2.2절. “Directory Server에서 안전하게 역할 사용” 에서 참조하십시오.

참고

역할을 평가하는 것은 서버가 클라이언트 애플리케이션에 대해 작업을 수행하기 때문에 그룹을 평가하는 것보다 리소스 집약적입니다. 역할을 사용하면 클라이언트 애플리케이션에서 nsRole 특성을 검색하여 역할 멤버십을 확인할 수 있습니다. nsRole 속성은 항목이 속하는 역할을 식별하는 계산된 속성입니다. Directory Server는 nsRole 속성을 저장하지 않습니다. 클라이언트 애플리케이션 관점에서 멤버십을 확인하는 방법은 균일하며 서버 측에서 수행됩니다.

Directory Server에서 역할을 사용하기 위한 고려 사항은 계획 및 디렉터리 서버 설계 설명서에서 그룹과 역할 간 결정(deciding between groups and roles in the Planning and designing Directory Server documentation)을 참조하십시오.

3.2.2. Directory Server에서 안전하게 역할 사용

새 역할을 생성할 때 사용자가 역할에서 자신을 쉽게 추가하거나 제거할 수 있는지 고려하십시오. 예를 들어 Cryostat Biking 관심 그룹 역할의 사용자가 쉽게 추가하거나 제거할 수 있습니다. 그러나 마케팅 역할이 할당된 사용자가 역할에서 자신을 추가하거나 제거하도록 허용해서는 안 됩니다.

한 가지 잠재적인 보안 위험은 역할을 활성화하여 사용자 계정을 활성화하는 것입니다. 비활성 역할에는 접미사에 대해 ACI(Special Access Control instructions)가 정의되어 있습니다. 관리자가 역할을 자유롭게 추가하고 제거할 수 있는 경우 이러한 사용자는 비활성 역할에서 자신을 제거하여 계정 잠금을 해제할 수 있습니다.

예를 들어 사용자에게 관리 역할이 할당됩니다. 계정 비활성화를 사용하여 Directory Server가 이 관리 역할을 잠그면 Directory Server에서 해당 사용자의 nsAccountLock 속성을 true 로 계산하므로 사용자가 서버에 바인딩할 수 없습니다. 그러나 사용자가 이미 Directory Server에 바인딩되어 관리 역할을 통해 잠겼으면 사용자는 해당 항목에서 nsRoleDN 속성을 제거하고 ACI를 제한하지 않는 경우 조직의 잠금을 해제할 수 있습니다.

사용자가 nsRoleDN 속성을 제거하지 못하도록 하려면 역할 유형에 따라 다음 ACI를 사용합니다.

  • 관리 역할. 관리 역할의 멤버인 항목의 경우 다음 ACI를 사용합니다.

    aci: (targetattr="nsRoleDN")
    (targattrfilters= add=nsRoleDN:(!(nsRoleDN=cn=AdministratorRole,dc=example,dc=com)), del=nsRoleDN:(!(nsRoleDN=cn=nsManagedDisabledRole,dc=example,dc=com)))
    (version3.0;acl "allow mod of nsRoleDN by self but not to critical values"; allow(write) userdn=ldap:///self;)
    Copy to Clipboard Toggle word wrap
  • 필터링된 역할입니다. 필터에 속하는 속성 보호(nsRoleFilter). 사용자가 필터링된 역할에서 사용하는 특성을 추가, 삭제 또는 수정할 수 없도록 합니다. Directory Server가 filter 속성의 값을 계산하는 경우 이 필터 특성 값을 수정할 수 있는 모든 특성을 보호해야 합니다.
  • 중첩된 역할. 중첩된 역할에는 필터링된 역할과 관리 역할이 포함될 수 있습니다. 따라서 중첩된 역할에 포함된 역할의 각 속성에 대해 ACI의 수정 작업을 제한해야 합니다.

3.2.3. 명령줄을 사용하여 Directory Server에서 역할 관리

명령줄을 사용하여 역할을 보고, 만들고, 삭제할 수 있습니다.

3.2.3.1. Directory Server에서 관리되는 역할 생성

관리되는 역할은 명시적 열거된 멤버 목록이 있는 역할입니다. ldapmodify 유틸리티를 사용하여 관리 역할을 생성할 수 있습니다. 다음 예제에서는 마케팅 팀에 대한 관리 역할을 생성합니다.

사전 요구 사항

  • ou=people,dc=example,dc=com 상위 항목이 Directory Server에 있습니다.
  • cn=Bob Cryostat,ou=people,dc=example,dc=com 사용자 항목이 Directory Server에 있습니다.

절차

  1. ldapmodify 명령을 -a 옵션과 함께 사용하여 cn=Marketing managed 역할 항목을 생성합니다.

    # ldapmodify -a -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF
    dn: cn=Marketing,ou=people,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: nsRoleDefinition
    objectclass: nsSimpleRoleDefinition
    objectclass: nsManagedRoleDefinition
    cn: Marketing
    description: managed role for the marketing team
    EOF
    Copy to Clipboard Toggle word wrap

    관리 역할 항목에는 다음 오브젝트 클래스가 포함되어야 합니다.

    • LDAPsubentry
    • nsRoleDefinition
    • nsSimpleRoleDefinition
    • nsManagedRoleDefinition
  2. 이 사용자 항목에 nsRoleDN 특성을 추가하여 cn=Marketing,ou=bob Cryostat,dc =example,dc=com 사용자 항목을 cn=Bob Cryostat,ou=people,dc= example,dc=com 사용자 항목에 할당합니다.

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF
    dn: cn=Bob Jones,ou=people,dc=example,dc=com
    changetype: modify
    add: nsRoleDN
    nsRoleDN: cn=Marketing,ou=people,dc=example,dc=com
    EOF
    
    modifying entry "cn=Bob Jones,ou=people,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
  3. 선택 사항: userRoot 데이터베이스에서 nsRoleDN 속성에 대한 같음 인덱스를 구성하여 인덱싱되지 않은 검색을 방지합니다.

    # dsconf <instance_name> backend index add --index-type eq --attr nsroleDN --reindex userRoot
    Copy to Clipboard Toggle word wrap

검증

  • cn=Marketing,ou=people,dc=example,dc=com 관리 역할에 속하는 사용자 항목을 나열합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "dc=example,dc=com" "(nsRole=cn=Marketing,ou=people,dc=example,dc=com)" dn 
    
    dn: cn=Bob Jones,ou=people,dc=example,dc=com
    
    dn: cn=Tom Devis,ou=people,dc=example,dc=com
    Copy to Clipboard Toggle word wrap

3.2.3.2. Directory Server에서 필터링된 역할 생성

항목에 특정 특성이 정의된 경우 Directory Server는 필터링된 역할에 항목을 할당합니다. 역할 정의는 nsRoleFilter LDAP 필터를 지정합니다. 필터와 일치하는 항목은 역할의 멤버입니다.

ldapmodify 유틸리티를 사용하여 필터링된 역할을 생성할 수 있습니다. 다음 예제에서는 영업 부서 관리자에 대해 필터링된 역할을 생성합니다.

사전 요구 사항

  • ou=people,dc=example,dc=com 상위 항목이 Directory Server에 있습니다.

절차

  1. ldapmodify 명령을 -a 옵션과 함께 사용하여 cn=SalesManagerFilter 필터링된 역할 항목을 생성합니다.

    # ldapmodify -a -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF
    dn: cn=SalesManagerFilter,ou=people,dc=example,dc=com
    changetype: add
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: nsRoleDefinition
    objectclass: nsComplexRoleDefinition
    objectclass: nsFilteredRoleDefinition
    cn: SalesManagerFilter
    nsRoleFilter: o=sales managers
    Description: filtered role for sales managers
    EOF
    Copy to Clipboard Toggle word wrap

    cn=SalesManagerFilter 필터링된 역할 항목에는 o=sales 관리자가 역할에 대해 필터링합니다. 영업 관리자 값이 있는 o 속성이 있는 모든 사용자 항목은 필터링된 역할의 멤버입니다.

    필터링된 역할의 멤버인 사용자 항목의 예:

    dn: cn=Pat Smith,ou=people,dc=example,dc=com
    objectclass: person
    cn: Pat
    sn: Smith
    userPassword: password
    o: sales managers
    Copy to Clipboard Toggle word wrap

    필터링된 역할 항목에는 다음과 같은 오브젝트 클래스가 있어야 합니다.

    • LDAPsubentry
    • nsRoleDefinition
    • nsComplexRoleDefinition
    • nsFilteredRoleDefinition
  2. 선택 사항: 인덱싱되지 않은 검색을 방지하기 위해 nsRoleFilter 역할 필터에서 사용하는 속성에 대한 같음 인덱스를 구성합니다. 지정된 예에서 역할은 o=sales 관리자를 필터로 사용합니다. 따라서 검색 성능을 개선하기 위해 o 특성을 인덱싱합니다.

    # dsconf <instance_name> backend index add --index-type eq --attr o --reindex userRoot
    Copy to Clipboard Toggle word wrap

검증

  • cn=SalesManagerFilter,ou=people,dc=example,dc=com 필터링된 역할에 속하는 사용자 항목을 나열합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "dc=example,dc=com" "(nsRole=cn=SalesManagerFilter,ou=people,dc=example,dc=com)" dn 
    
    dn: cn=Jess Mor,ou=people,dc=example,dc=com
    
    dn: cn=Pat Smith,ou=people,dc=example,dc=com
    Copy to Clipboard Toggle word wrap

3.2.3.3. Directory Server에서 중첩된 역할 생성

중첩된 역할에는 관리 및 필터링된 역할이 포함될 수 있습니다. 중첩된 역할 항목에는 중첩할 역할을 식별하는 nsRoleDN 속성이 필요합니다.

ldapmodify 유틸리티를 사용하여 중첩된 역할을 생성할 수 있습니다. 다음 예제에서는 Directory Server에서 관리되는 역할 만들기 및 Directory Server에서 필터링된 역할 만들기에서 만든 관리필터링된 역할이 포함된 중첩 역할을 만듭니다.

사전 요구 사항

  • ou=people,dc=example,dc=com 상위 항목이 Directory Server에 있습니다.

절차

  1. ldapmodify 명령을 -a 옵션과 함께 사용하여 cn=SalesManagerFilter 필터링된 역할과 cn=Marketing managed 역할을 포함하는 cn=MarketingSales 중첩 역할 항목을 생성합니다.

    # ldapmodify -a -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF
    dn: cn=MarketingSales,ou=people,dc=example,dc=com
    objectclass: top
    objectclass: LDAPsubentry
    objectclass: nsRoleDefinition
    objectclass: nsComplexRoleDefinition
    objectclass: nsNestedRoleDefinition
    cn: MarketingSales
    nsRoleDN: cn=SalesManagerFilter,ou=people,dc=example,dc=com
    nsRoleDN: cn=Marketing,ou=people,dc=example,dc=com
    EOF
    Copy to Clipboard Toggle word wrap

    선택적으로 역할에 description 속성이 있을 수 있습니다.

    중첩된 역할 항목에는 다음과 같은 오브젝트 클래스가 있어야 합니다.

    • LDAPsubentry
    • nsRoleDefinition
    • nsComplexRoleDefinition
    • nsNestedRoleDefinition

검증

  • cn=MarketingSales 중첩 역할에 속하는 사용자 항목을 나열합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "dc=example,dc=com" "(nsRole=cn=MarketingSales,ou=people,dc=example,dc=com)" dn 
    
    dn: cn=Bob Jones,ou=people,dc=example,dc=com
    dn: cn=Pat Smith,ou=people,dc=example,dc=com
    dn: cn=Jess Mor,ou=people,dc=example,dc=com
    dn: cn=Tom Devis,ou=people,dc=example,dc=com
    Copy to Clipboard Toggle word wrap

3.2.3.4. 항목의 역할 보기

항목의 역할을 보려면 명시적으로 지정된 nsRole 가상 속성과 함께 ldapsearch 명령을 사용하십시오.

사전 요구 사항

  • 역할 항목이 있습니다.
  • uid=user_name 사용자 항목에 역할이 할당되었습니다.

절차

  • nsRole 가상 속성이 지정된 uid=user_name 항목을 검색합니다.

    # ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -b "dc=example,dc=com" -s sub -x "(uid=user_name)" nsRole
    
    dn: uid=user_name,ou=people,dc=example,dc=com
    ...
    nsRole: cn=Role for Managers,dc=example,dc=com
    nsRole: cn=Role for Accounting,dc=example,dc=com
    Copy to Clipboard Toggle word wrap

    명령은 uid=user_name 사용자가 멤버인 모든 역할을 검색합니다.

3.2.3.5. Directory Server에서 역할 삭제

Directory Server에서 역할을 삭제하려면 ldapmodify 명령을 사용할 수 있습니다.

다음은 Directory Server에서 cn=Marketing 관리 역할을 삭제하는 예입니다.

절차

  • cn=Marketing 관리 역할 항목을 삭제하려면 다음을 입력합니다.

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x << EOF
    dn: cn=Marketing,ou=People,dc=example,dc=com
    changetype: delete
    EOF
    
    deleting entry "cn=Marketing,ou=People,dc=example,dc=com"
    Copy to Clipboard Toggle word wrap
    참고

    역할을 삭제하면 Directory Server는 역할 항목만 삭제하고 각 역할 멤버에 대한 nsRoleDN 속성을 삭제하지 않습니다. 각 역할 멤버에 대한 nsRoleDN 속성을 삭제하려면 Referential Integrity 플러그인을 활성화하고 nsRoleDN 특성을 관리하도록 이 플러그인을 구성합니다.

    참조 무결성 플러그인에 대한 자세한 내용은 참조 무결성 사용을 참조하십시오. 항목 간의 관계를 유지 관리합니다.

3.2.4. 웹 콘솔을 사용하여 Directory Server에서 역할 관리

웹 콘솔에서 LDAP 브라우저를 사용하여 역할을 보고, 생성하고, 삭제할 수 있습니다.

3.2.4.1. LDAP 브라우저에서 역할 생성

웹 콘솔에서 LDAP 브라우저 마법사를 사용하여 Red Hat Directory Server 항목에 대한 역할을 생성할 수 있습니다.

사전 요구 사항

  • 웹 콘솔에 액세스합니다.
  • 상위 항목은 Directory Server에 있습니다.

절차

  1. 웹 콘솔에 로그인하고 Red Hat Directory Server 를 클릭합니다.
  2. 웹 콘솔에서 Red Hat Directory Server 인터페이스를 로드한 후 LDAP 브라우저를 엽니다.
  3. LDAP 항목을 선택하고 옵션 메뉴( Cryostat)를 엽니다.
  4. 드롭다운 메뉴에서 새로 만들기를 선택하고 새 역할 만들기 를 클릭합니다.
  5. 마법사의 단계에 따라 각 단계를 완료한 후 다음 버튼을 클릭합니다.
  6. 역할을 생성하려면 Create Role (역할 만들기) 단계에서 역할 설정을 검토하고 Create( 생성 ) 버튼을 클릭합니다. 뒤로 버튼을 클릭하여 역할 설정을 수정하거나 취소 버튼을 클릭하여 역할 생성을 취소할 수 있습니다.
  7. 마법사 창을 닫으려면 완료 버튼을 클릭합니다.

검증

  • LDAP 항목을 확장하고 항목 매개 변수 사이에 새 역할이 표시되는지 확인합니다.

3.2.4.2. LDAP 브라우저에서 역할 삭제

웹 콘솔에서 LDAP 브라우저를 사용하여 Red Hat Directory Server 항목에서 역할을 삭제할 수 있습니다.

사전 요구 사항

  • 웹 콘솔에 액세스합니다.
  • 상위 항목은 Directory Server에 있습니다.

절차

  1. 웹 콘솔에 로그인하고 Red Hat Directory Server 를 클릭합니다.
  2. 웹 콘솔에서 Red Hat Directory Server 인터페이스를 로드한 후 LDAP 브라우저를 클릭합니다.
  3. LDAP 항목을 확장하면 삭제할 역할을 선택합니다.
  4. 옵션 메뉴( Cryostat)를 열고 삭제 를 선택합니다.
  5. 삭제할 역할에 대한 데이터를 확인하고 삭제 단계에 도달할 때까지 다음 버튼을 클릭합니다.
  6. 스위치를 Yes로 전환합니다. 위치를 확인하고 삭제 버튼을 클릭합니다.
  7. 마법사 창을 닫으려면 완료 버튼을 클릭합니다.

검증

  • LDAP 항목을 확장하고 역할이 더 이상 항목 매개변수의 일부가 아닌지 확인합니다.

3.2.4.3. LDAP 브라우저에서 역할 수정

웹 콘솔에서 LDAP 브라우저를 사용하여 Red Hat Directory Server 항목의 역할 매개변수를 수정할 수 있습니다.

사전 요구 사항

  • 웹 콘솔에 액세스합니다.
  • 상위 항목은 Directory Server에 있습니다.

절차

  1. 웹 콘솔에 로그인하고 Red Hat Directory Server 를 클릭합니다.
  2. 웹 콘솔에서 Red Hat Directory Server 인터페이스를 로드한 후 LDAP 브라우저를 클릭합니다.
  3. LDAP 항목을 확장하고 수정할 역할을 선택합니다.
  4. 옵션 메뉴( Cryostat)를 클릭하고 편집을 선택하여 역할의 매개 변수를 수정하거나 Rename 을 선택하여 역할 이름을 변경합니다.
  5. 마법사 창에서 필요한 매개변수를 수정하고 LDIF 문 단계를 확인할 때까지 각 단계 후에 다음을 클릭합니다.
  6. 업데이트된 매개 변수를 확인하고 항목 이름 수정 또는 입력 이름 변경을 클릭합니다.
  7. 마법사 창을 닫으려면 완료 버튼을 클릭합니다.

검증

  • LDAP 항목을 확장하고 업데이트된 매개변수가 역할에 나열되어 있는지 확인합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat