2장. 액세스 제어 관리
Red Hat Directory Server의 접미사 및 항목에서 특정 작업을 수행할 수 있는 사용자를 정의하는 방법을 알아봅니다. 이러한 작업은 액세스 제어 명령(ACI)에 의해 제어됩니다. 다양한 ACI 유형, ACI 사용 사례, 바인딩 규칙 및 항목에 대한 액세스 권한을 확인하는 방법에 대해 알아봅니다.
2.1. 액세스 제어 명령 관리 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server가 요청을 수신하면 바인딩 작업에서 사용자가 제공한 인증 정보와 디렉터리에 정의된 액세스 제어 명령(ACI)을 사용하여 요청된 항목 또는 속성에 대한 액세스를 허용하거나 거부합니다. 서버는 읽기
,쓰기
,검색
및 비교
와 같은 작업에 대한 권한을 허용하거나 거부할 수 있습니다. 사용자에게 부여된 권한 수준은 제공된 인증 정보에 따라 다릅니다.
Directory Server의 액세스 제어를 사용하면 ACI가 적용되는 시기에 정확한 규칙을 설정할 수 있습니다.
- 전체 디렉터리, 하위 트리 또는 특정 항목의 경우
- 특정 사용자의 경우 특정 그룹 또는 역할에 속하는 모든 사용자 또는 디렉터리의 모든 사용자의 경우
IP 주소, IP 범위 또는 DNS 이름과 같은 특정 위치의 경우
로드 밸런서는 위치별 규칙에 영향을 줄 수 있습니다.
복잡한 ACI는 읽고 이해하기 어렵습니다. 하나의 복잡한 ACI 대신 동일한 효과를 달성하기 위해 여러 개의 간단한 규칙을 작성할 수 있습니다. 그러나 ACI의 수가 많을수록 ACI 처리 비용이 증가합니다.
2.1.1. ACI 배치 링크 복사링크가 클립보드에 복사되었습니다!
Directory Server는 디렉터리 항목의 다중 값 aci
작동 속성에ACI(Access Control instruction)를 저장합니다. ACI를 설정하려면 해당 디렉터리 항목에 aci
특성을 추가합니다. Directory Server는 ACI를 적용합니다.
ACI가 포함된 항목에 하위 항목이 없는 경우에만 적용됩니다. 예를 들어 클라이언트가
uid=user_name,ou=People,dc=example,dc=com
오브젝트에 액세스해야 하는 경우 ACI가dc=example,dc=com
에만 설정되고 하위 항목에는 해당 ACI만 적용됩니다.참고추가
권한이 있는 ACIS는 나중에 생성된 하위 항목에도 적용됩니다.ACI 및 그 아래의 모든 항목에 하위 항목이 있는 경우 해당 항목에 대해 다음을 수행합니다. 직접적인 결과 서버가 지정된 항목에 대한 액세스 권한을 평가하면 요청된 항목과 디렉터리 접미사 간의 모든 항목에 대해 ACI와 항목 자체의 ACI를 확인합니다.
예를 들어 ACIs는
dc=example,dc=com
및ou=People,dc=example,dc=com
항목에 설정되어 있습니다. 클라이언트가uid=user_name,ou=People,dc=example,dc=com
오브젝트에 액세스하려는 경우 ACI 설정이 없는dc=example,dc=com 오브젝트에 먼저 Directory Server에서 ACI의 유효성을 검증합니다.ou=eople,dc=example,dc=com
항목. 이 ACI가 액세스 권한을 부여하면 평가가 중지되고 액세스 권한을 부여합니다. 그렇지 않은 경우 Directory Server는ou=People,dc=example,dc=com
에서 ACI를 확인합니다. 이 ACI가 클라이언트에 성공적으로 인증하면 오브젝트에 액세스할 수 있습니다.
rootDSE
항목에 설정된 ACIS는 이 항목에만 적용됩니다.
항목에서 생성된 ACI를 해당 항목에 직접 적용하지 않도록 설정할 수 있지만 아래 하위 트리의 일부 또는 모든 항목에 적용됩니다. 이 접근 방식의 장점은 일반 ACI를 디렉토리 트리에 더 높게 배치하여 트리의 아래에 있는 항목에 영향을 미칠 수 있다는 것입니다. 예를 들어 inetOrgPerson 개체 클래스를 포함하는 항목을 대상으로 하는 ACI는 organizationalUnit 항목 또는 지역 항목 수준에서 만들 수 있습니다.For example, an ACI that targets entries that include the inetOrgPerson
object class can be created at the level of an organizationalUnit
entry or a locality entry.
수준 분기 지점에 일반 규칙을 배치하여 디렉터리 트리의 ACI 수를 최소화합니다. 보다 구체적인 규칙의 범위를 제한하려면 가능한 한 밀접하게 항목을 리프에 배치합니다.
2.1.2. ACI의 구조 링크 복사링크가 클립보드에 복사되었습니다!
aci
속성은 다음 구문을 사용합니다.
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
-
target_rule
은 액세스를 제어하는 항목, 속성 또는 항목 및 속성 집합을 지정합니다. -
버전 3.0
은 액세스 제어 명령(ACI) 버전을 식별하는 필수 문자열입니다. -
ACL "ACL name"
은 ACI를 설명하는 이름 또는 문자열을 설정합니다. -
permission_rule
은읽기
또는쓰기
와 같은 권한(예: 허용 또는 거부됨)을 설정합니다. -
bind_rules
는 액세스를 허용하거나 거부하기 위해 바인딩 중에 일치해야 하는 규칙을 지정합니다.
권한 및 바인딩 규칙 쌍을 액세스 제어 규칙이라고 합니다.
지정된 대상에 대해 여러 액세스 제어를 효율적으로 설정하려면 각 대상에 대해 여러 액세스 제어 규칙을 설정할 수 있습니다.
(target_rule)(version 3.0; acl "ACL_name"; permission_rule bind_rules; permission_rule bind_rules; ... ;)
(target_rule)(version 3.0; acl "ACL_name"; permission_rule bind_rules; permission_rule bind_rules; ... ;)
2.1.3. ACI 평가 링크 복사링크가 클립보드에 복사되었습니다!
특정 항목에 대한 액세스 권한을 평가하기 위해 서버는 항목 자체에 있고 상위 항목에 있는 액세스 제어 명령(ACI) 목록을 만들고 Directory Server에 저장된 최상위 항목으로 백업합니다. ACIS는 특정 인스턴스의 모든 데이터베이스에서 평가되지만 다른 인스턴스에서는 평가되지 않습니다.
Directory Server는 ACI의 의미 체계에 따라 이 ACI 목록을 평가하며 디렉토리 트리에서 배치되는 것은 아닙니다. 즉, 디렉터리 트리의 루트에 가까운 ACI는 디렉터리 트리의 나머지 부분에 더 가까운 ACI보다 우선하지 않습니다.
Directory Server에서 ACI의 거부
권한이 허용
권한보다 우선합니다. 예를 들어 디렉터리의 루트 수준에서 쓰기 권한을 거부하는 경우 다른 ACI에서 이 권한을 부여하는지와 관계없이 사용자가 디렉터리에 쓸 수 없습니다. 디렉터리에 특정 사용자 쓰기 권한을 부여하려면 사용자가 해당 디렉터리에 쓸 수 있도록 원래 거부 규칙에 예외를 추가해야 합니다.
ACI 개선의 경우 규칙 거부
대신 세분화된 허용
규칙을 사용합니다.
2.1.4. ACI의 제한 사항 링크 복사링크가 클립보드에 복사되었습니다!
ACI(Access Control instructions)를 설정하면 다음과 같은 제한 사항이 적용됩니다.
디렉터리 데이터베이스가 여러 서버에 배포된 경우 ACI에서 사용할 수 있는 키워드에 다음 제한 사항이 적용됩니다.
groupdn
키워드를 사용하는 그룹 항목에 따라 ACIS는 그룹 항목과 동일한 서버에 있어야 합니다.그룹이 동적인 경우 그룹의 모든 멤버가 서버에 항목이 있어야 합니다. 정적 그룹의 멤버 항목은 원격 서버에 있을 수 있습니다.
-
roledn
키워드를 사용하는 역할 정의에 따라 ACIS는 역할 정의 항목과 동일한 서버에 있어야 합니다. 역할을 보유하려는 모든 항목도 동일한 서버에 있어야 합니다.
그러나
userattr
키워드를 사용하여 bind 사용자 항목에 저장된 값과 같이 target 항목에 저장된 값을 일치시킬 수 있습니다. 이 경우 바인딩 사용자에게 ACI를 저장하는 서버에 항목이 없는 경우에도 액세스가 일반적으로 평가됩니다.다음 ACI 키워드에서는 CoS(Class of Service) 속성과 같은 가상 속성을 사용할 수 없습니다.
-
targetfilter
-
targattrfilters
-
userattr
-
- 액세스 제어 규칙은 로컬 서버에서만 평가됩니다. 예를 들어 ACI 키워드의 LDAP URL에 서버의 호스트 이름을 지정하면 URL이 무시됩니다.
2.1.5. Directory Server가 복제 토폴로지에서 ACI를 처리하는 방법 링크 복사링크가 클립보드에 복사되었습니다!
액세스 제어 명령(ACI)은 항목의 aci
특성에 저장됩니다. 따라서 ACI를 포함하는 항목이 복제된 데이터베이스의 일부인 경우 ACI가 복제됩니다.
ACIS는 들어오는 LDAP 요청을 해결하는 서버에서 항상 평가됩니다. 소비자 서버가 업데이트 요청을 수신하면 공급자에게 요청이 서비스될 수 있는지 여부를 평가하기 전에 공급자 서버에 대한 추천을 반환합니다.
2.1.6. ACI 표시, 추가, 삭제 및 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
ldapsearch
유틸리티를 사용하여 검색하고 ldapmodify
유틸리티를 사용하여ACI(Access Control instructions)를 추가, 삭제 및 업데이트할 수 있습니다.
ACI 표시:
예를 들어 dc=example,dc=com
및 sub-entries에 설정된 ACI를 표시하려면 다음을 입력합니다.
ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "dc=example,dc=com" -s sub '(aci=*)' aci
# ldapsearch -D "cn=Directory Manager" -W -H ldap://server.example.com -x -b "dc=example,dc=com" -s sub '(aci=*)' aci
ACI 추가
예를 들어 ACI를 ou=People,dc=example,dc=com
항목에 추가하려면 다음을 입력합니다.
ACI 삭제
ACI를 삭제하려면 다음을 수행합니다.
항목에 하나의
aci
속성만 설정되어 있거나 항목에서 모든 ACI를 제거하려면 다음을 수행합니다.ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x
# ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x dn: ou=People,dc=example,dc=com changetype: delete delete: aci
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 항목에 여러 ACI가 있고 특정 ACI를 삭제하려면 정확한 ACI를 지정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
ACI 업데이트
ACI를 업데이트하려면 다음을 수행합니다.
- 기존 ACI를 삭제합니다.
- 업데이트된 설정으로 새 ACI를 추가합니다.
2.1.7. ACI 대상 정의 링크 복사링크가 클립보드에 복사되었습니다!
액세스 제어 명령(ACI)의 대상 규칙은 Directory Server가 ACI를 적용하는 항목을 정의합니다. 대상을 설정하지 않으면 ACI가 aci
특성과 아래 항목에 적용됩니다.
ACI에서 다음 강조 표시된 부분은 대상 규칙입니다.
(target_rule)(version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule)(version 3.0; acl "ACL_name"; permission_rule bind_rules;)
복잡한 ACI의 경우 Directory Server는 ACI의 다른 키워드가 있는 여러 대상 규칙을 지원합니다.
(target_rule_1)(target_rule_2)(...)(version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule_1)(target_rule_2)(...)(version 3.0; acl "ACL_name"; permission_rule bind_rules;)
여러 대상 규칙을 지정하면 순서가 관련이 없습니다. 다음 각 키워드는 ACI에서 한 번만 사용할 수 있습니다.
-
target
-
targetattr
-
targetattrfilters
-
targetfilter
-
target_from
-
target_to
2.1.7.1. 대상 규칙의 구문 링크 복사링크가 클립보드에 복사되었습니다!
대상 규칙의 일반적인 구문은 다음과 같습니다.
(keyword comparison_operator "expression")
(keyword comparison_operator "expression")
-
키워드
: 대상 유형을 설정합니다. comparison_operator
: 유효한 값은=
및!=
이며 식에 지정된 개체인지 여부를 나타냅니다.주의보안상의 이유로 Red Hat은 다른 모든 항목 또는 속성에 대해 지정된 작업을 수행할 수 있으므로
!=
연산자를 사용하지 않는 것이 좋습니다. 예를 들면 다음과 같습니다.(targetattr != "userPassword");(version 3.0; acl "example"); allow (write) ... );
(targetattr != "userPassword");(version 3.0; acl "example"); allow (write) ... );
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이전 예제에서는 사용자가 ACI를 설정한 Distinguished Name (DN) 아래의
userPassword
특성을 제외한 모든 속성을 설정, 업데이트 또는 삭제할 수 있습니다. 그러나 이를 통해 사용자는 예를 들어 이 속성에 대한 쓰기 액세스도 허용하는 추가aci
특성을 추가할 수 있습니다.-
expression
: 대상을 설정하고 따옴표로 묶어야 합니다. 표현식 자체는 사용하는 키워드에 따라 다릅니다.
2.1.7.2. 디렉터리 항목 대상으로 지정 링크 복사링크가 클립보드에 복사되었습니다!
Distinguished Name(DN) 및 그 아래의 항목을 기반으로 액세스를 제어하려면 액세스 제어 명령(ACI)에서 target
키워드를 사용합니다. target
키워드를 사용하는 대상 규칙은 DN을 표현식으로 사용합니다.
(target comparison_operator "ldap:///distinguished_name")
(target comparison_operator "ldap:///distinguished_name")
대상 DN 또는 상위 수준 DN에 target
키워드로 ACI를 설정해야 합니다. 예를 들어 ou=People,dc=example,dc=com을 대상으로 하는 경우 ou=People,dc=example,dc=com 또는 dc=example,dc=com에 ACI를 설정해야 합니다.
예 2.1. target 키워드 사용
ou=People,dc=example,dc=com 항목에 저장된 사용자를 활성화하려면 자체 항목에 모든 속성을 검색하고 표시하려면 다음을 수행합니다.
target 키워드가 있는 와일드카드 사용
*
와일드카드 문자 대상 여러 항목을 사용할 수 있습니다.
다음 대상 규칙 예제에서는 uid 속성이 문자로 시작하는 값으로 설정된 ou=People,dc=example,dc=com
의 모든 항목과 일치합니다.
(target = "ldap:///uid=a*,ou=People,dc=example,dc=com")
(target = "ldap:///uid=a*,ou=People,dc=example,dc=com")
와일드카드의 위치에 따라 규칙은 속성 값뿐만 아니라 전체 DN에도 적용됩니다. 따라서 와일드카드를 DN의 일부로 사용할 수 있습니다.
예 2.2. 와일드카드를 사용하여 디렉터리 항목을 대상으로 지정
다음 규칙은 dc=example,dc=com
트리의 모든 항목을 dc=example,dc=com
항목 자체에 저장된 항목뿐만 아니라 일치하는 uid
속성을 사용하여 대상으로 합니다.
(target = "ldap:///uid=user_name*,dc=example,dc=com")
(target = "ldap:///uid=user_name*,dc=example,dc=com")
이전 대상 규칙은 다음과 같은 여러 항목과 일치합니다.
-
uid=user_name,dc=example,dc=com
-
uid=user_name,ou=People,dc=example,dc=com
-
uid=user_name2,dc=example,dc=com
Directory Server는 DN의 접미사 부분에서 와일드카드를 지원하지 않습니다. 예를 들어 디렉터리의 접미사가 dc=example,dc=com
인 경우 (target = "ldap:///dc=*.com")
와 같이 이 접미사에 와일드카드가 있는 대상을 사용할 수 없습니다.
2.1.7.3. 대상 속성 링크 복사링크가 클립보드에 복사되었습니다!
ACS(액세스 제어 명령)의 액세스를 특정 속성으로 제한하려면 targetattr
키워드를 사용합니다. 예를 들어, 이 키워드는 다음을 정의합니다.
- 읽기 작업에서 클라이언트에 반환되는 속성
- 검색 작업에서 검색할 속성
- 쓰기 작업에서 개체에 쓸 수 있는 특성
- 추가 작업에서 새 오브젝트를 생성할 때 추가할 수 있는 속성
특정 상황에서는
키워드를 사용하여 다른 대상 키워드와 targetattr을 결합하여 ACI를 보호할 수 있습니다. 대상 규칙의 고급 사용량을 참조하십시오.
targetattr
읽기
및 검색
작업에서는 기본 속성이 없는 특성을 대상으로 합니다. targetattr
키워드가 없는 ACI는 추가
또는 삭제
와 같은 전체 항목에 영향을 미치는 권한이 있는 ACI에만 유용합니다.
targetattr
키워드를 사용하는 대상 규칙에서 여러 속성을 분리하려면 ||
:을 사용합니다.
(targetattr comparison_operator "attribute_1 || attribute_2 || ...")
(targetattr comparison_operator "attribute_1 || attribute_2 || ...")
표현식에 설정된 속성은 스키마에 정의되어 있어야 합니다.
표현식에 지정된 속성은 ACI를 생성하는 항목과 추가 대상 규칙에 의해 제한되지 않는 경우 그 아래의 모든 항목에 적용됩니다.
예 2.3. targetattr 키워드 사용
dc=example,dc=com
및 모든 하위 항목에 저장된 사용자를 활성화하여 자체 항목의 userPassword
속성을 업데이트하려면 다음을 입력합니다.
targetattr 키워드가 있는 와일드카드 사용
*
와일드카드 문자를 사용하여 예를 들어 모든 특성을 대상으로 지정할 수 있습니다.
(targetattr = "*")
(targetattr = "*")
보안상의 이유로, 운영 특성을 포함하여 모든 속성에 액세스할 수 있으므로 targetattr
에 와일드카드를 사용하지 마십시오. 예를 들어 사용자가 모든 속성을 추가하거나 수정할 수 있는 경우 사용자는 추가 ACI를 생성하고 자체 권한을 늘릴 수 있습니다.
2.1.7.4. LDAP 필터를 사용하여 항목 및 속성 지정 링크 복사링크가 클립보드에 복사되었습니다!
특정 기준과 일치하는 항목 그룹을 대상으로 지정하려면 LDAP 필터와 함께 targetfilter
키워드를 사용합니다.
(targetfilter comparison_operator "LDAP_filter")
(targetfilter comparison_operator "LDAP_filter")
필터 표현식은 표준 LDAP 검색 필터입니다.
예 2.4. targetfilter 키워드 사용
cn=Human Resources,dc=example,dc.com
그룹의 멤버에게 권한을 부여하려면 department 속성이 Engineering
또는 Sales
로 설정된 모든 항목을 수정합니다.
targetfilter
키워드는 전체 항목을 대상으로 합니다. targetattr
키워드와 결합하면ACI(액세스 제어 명령)는 대상 항목의 속성 하위 집합에만 적용됩니다. 필터와 일치하는 항목의 특정 속성 지정을 참조하십시오.
LDAP 필터를 사용하는 것은 디렉터리에 분배되는 항목 및 속성을 대상으로 지정할 때 유용합니다. 그러나 필터가 액세스를 관리하는 오브젝트의 이름을 직접 지정하지 않기 때문에 결과가 예측할 수 없는 경우가 있습니다. 필터링된 ACI에서 대상으로 하는 항목 세트는 속성이 추가되거나 삭제될 때 변경될 수 있습니다. 따라서 ACI에서 LDAP 필터를 사용하는 경우 ldapsearch
작업에서 동일한 필터를 사용하여 올바른 항목과 속성을 대상으로 하는지 확인합니다.
targetfilter 키워드가 있는 와일드카드 사용
targetfilter
키워드는 표준 LDAP 필터와 유사하게 와일드카드를 지원합니다. 예를 들어, 값이 adm
으로 시작하는 모든 uid 속성을 대상으로 지정하려면 다음을 사용합니다.
(targetfilter = "(uid=adm*) ...)
(targetfilter = "(uid=adm*) ...)
2.1.7.5. LDAP 필터를 사용하여 속성 값 지정 링크 복사링크가 클립보드에 복사되었습니다!
액세스 제어를 사용하여 특정 특성 값을 대상으로 지정할 수 있습니다. 즉, 해당 속성의 값이 ACS(액세스 제어 명령)에 정의된 기준을 충족하는 경우 속성에 대한 권한을 부여하거나 거부할 수 있습니다. 특성의 값에 따라 액세스를 부여하거나 거부하는 ACI를 값 기반 ACI라고 합니다. 이는 ADD
및 DEL
작업에만 적용됩니다. 특정 값으로 검색 권한을 제한할 수 없습니다.
값 기반 ACI를 생성하려면 다음 구문과 함께 targattrfilters
키워드를 사용합니다.
하나의 특성 및 필터 조합이 있는 하나의 작업의 경우:
(targattrfilters="operation=attribute:filter")
(targattrfilters="operation=attribute:filter")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 여러 특성 및 필터 조합이 있는 하나의 작업의 경우:
(targattrfilters="operation=attribute_1:filter_1 && attribute_2:filter_2 ... && attribute_m:filter_m")
(targattrfilters="operation=attribute_1:filter_1 && attribute_2:filter_2 ... && attribute_m:filter_m")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 두 가지 작업의 경우 각각 여러 특성과 필터 조합이 있습니다.
(targattrfilters="operation_1=attribute_1_1:filter_1_1 && attribute_1_2:filter_1_2 ... && attribute_1_m:filter_1_m , operation_2=attribute_2_1:filter_2_1 && attribute_2_2:filter_2_2 ... & attribute_2_n:filter_2_n ")
(targattrfilters="operation_1=attribute_1_1:filter_1_1 && attribute_1_2:filter_1_2 ... && attribute_1_m:filter_1_m , operation_2=attribute_2_1:filter_2_1 && attribute_2_2:filter_2_2 ... & attribute_2_n:filter_2_n ")
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 구문 예제에서는 추가
또는 del
작업을 설정할 수 있습니다. attribute:filter
조합은 필터와 필터가 적용되는 특성을 설정합니다.
다음은 필터가 일치해야 하는 방법을 설명합니다.
- 항목을 생성하고 필터를 만들 때 새 항목의 속성에 적용되는 경우 해당 속성의 각 인스턴스가 필터와 일치해야 합니다.
- 항목을 삭제하고 필터를 삭제할 때 항목의 속성에 적용되는 경우 해당 속성의 각 인스턴스도 필터와 일치해야 합니다.
-
항목을 수정하고 작업을 수행하는 경우 해당 속성에 적용되는
add
필터가 일치해야 합니다. -
작업이 특성을 삭제하면 해당 속성에 적용되는
del
필터가 일치해야 합니다. 항목에 이미 있는 속성의 개별 값이 교체되면add
및del
필터가 모두 일치해야 합니다.
예 2.5. targattrfilters 키워드 사용
Admin
역할을 제외한 자신의 항목에 역할을 추가하고 값이 123
접두사로 시작하는 한 전화
속성을 추가할 수 있는 ACI를 생성하려면 다음을 입력합니다.
2.1.7.6. 소스 및 대상 DN을 대상으로 지정 링크 복사링크가 클립보드에 복사되었습니다!
관리자가 특정 상황에서 사용자가 디렉터리 항목을 이동할 수 있도록 허용하려고 합니다. ACS(액세스 제어 명령)에서 target_from
및 target_to
키워드를 사용하면 사용자를 활성화하지 않고도 작업의 소스와 대상을 지정할 수 있습니다.
- ACI에 설정된 대로 다른 소스에서 항목을 이동하려면 다음을 수행합니다.
- ACI에 설정된 대로 항목을 다른 대상으로 이동하려면 다음을 수행합니다.
- 소스 Distinguished Name(DN)에서 기존 항목을 삭제하려면 다음을 수행합니다.
- 대상 DN에 새 항목을 추가하려면 다음을 수행합니다.
예 2.6. target_from 및 target_to 키워드 사용
uid=user,dc=example,dc=com
계정을 활성화하여 사용자 계정을 cn=staging,dc=example,dc=com
항목에서 cn=people,dc=example,dc=com
으로 이동하려면 다음을 입력합니다.
ACIS는 정의된 하위 트리에만 적용됩니다. 이전 예에서 ACI는 dc=example,dc=com
하위 트리에만 적용됩니다.
target_from
또는 target_to
키워드가 설정되지 않은 경우 ACI는 모든 소스 또는 대상과 일치합니다.
2.1.8. 대상 규칙의 고급 사용 링크 복사링크가 클립보드에 복사되었습니다!
여러 키워드를 결합하여 복잡한 대상 규칙을 만들 수 있습니다. 이 섹션에서는 대상 규칙의 고급 사용 예를 제공합니다.
2.1.8.1. 그룹을 생성하고 유지 관리할 수 있는 권한 위임 링크 복사링크가 클립보드에 복사되었습니다!
관리자가 특정 상황에서 다른 계정 또는 그룹에 권한을 위임하려고 합니다. 대상 키워드를 결합하면 이 요청을 해결하는 보안 액세스 제어 명령(ACI)을 만들 수 있습니다.
예 2.7. 그룹을 생성하고 유지 관리할 수 있는 권한 위임
uid=user,ou=People,dc=example,dc=com" 계정을 활성화하여 ou=groups,dc=example,dc=com 항목에서 그룹을 생성하고 업데이트하려면 다음을 수행합니다.
보안상의 이유로 이전 예제에서는 특정 제한 사항을 추가합니다. uid=test,ou=People,dc=example,dc=com
사용자:
-
top
및groupOfUniqueNames
오브젝트 클래스를 포함해야 하는 오브젝트를 생성할 수 있습니다. -
계정
과 같은 추가 오브젝트 클래스를 추가할 수 없습니다. 예를 들어 로컬 인증에 Directory Server 계정을 사용하여root
사용자의 경우 잘못된 사용자 ID를 사용하여 새 사용자를 만들 수 없습니다.
targetfilter
규칙을 사용하면 ACI 항목이 groupofuniquenames
오브젝트 클래스와 targetattrfilter
규칙이 있는 항목에만 적용되므로 다른 오브젝트 클래스를 추가할 수 없습니다.
2.1.8.2. 항목 및 특성을 모두 대상으로 지정 링크 복사링크가 클립보드에 복사되었습니다!
대상
은 고유 이름(DN)을 기반으로 액세스를 제어합니다. 그러나 와일드카드 및 targetattr
키워드와 함께 사용하면 항목과 속성을 모두 대상으로 지정할 수 있습니다.
예 2.8. 항목 및 특성을 모두 대상으로 지정
uid=user,ou=People,dc=example,dc.com
사용자가 dc=example,dc=com
하위 트리의 모든 조직 단위에서 그룹의 멤버를 읽고 검색하려면 다음을 수행합니다.
2.1.8.3. 필터와 일치하는 항목의 특정 특성을 대상으로 지정 링크 복사링크가 클립보드에 복사되었습니다!
두 대상 규칙에 targetattr
및 targetfilter
키워드를 결합하면 필터와 일치하는 항목의 특정 속성을 대상으로 지정할 수 있습니다.
예 2.9. 필터와 일치하는 항목의 특정 특성을 대상으로 지정
cn=Engineering Admins,dc=example,dc=com
그룹의 멤버가 Engineering
으로 설정된 모든 항목의 jpeg
Cryostat 및 manager
속성을 수정할 수 있도록 하려면 다음을 입력합니다.
2.1.8.4. 단일 디렉터리 항목 대상으로 지정 링크 복사링크가 클립보드에 복사되었습니다!
단일 디렉토리 항목을 대상으로 지정하려면 targetattr
및 targetfilter
키워드를 결합합니다.
예 2.10. 단일 디렉터리 항목 대상으로 지정
uid=user,ou=People,dc=example,dc=com 사용자가 ou=Engineering,dc=example,dc=com 항목에서 ou 및 cn 속성을 읽고 검색하도록 하려면 다음을 실행합니다.
이전 예제를 활성화하여 ou=Engineering,dc=example,dc=com
항목, ou=Engineering,dc=example,dc=com
항목만 대상으로 지정하려면 ou
특성이 Engineering
으로 설정되어 있지 않아야 합니다.
디렉터리의 구조가 변경되면 이러한 종류의 ACI가 실패할 수 있습니다.
또는 대상 항목에 저장된 특성 값을 사용하여 바인딩 요청의 사용자 입력과 일치하는 바인딩 규칙을 만들 수 있습니다. 일치하는 값을 기반으로 액세스 정의를 참조하십시오.
2.1.9. ACI 권한 정의 링크 복사링크가 클립보드에 복사되었습니다!
권한 규칙은 액세스 제어 명령(ACI)과 관련된 권한 및 액세스가 허용 또는 거부되는지 여부를 정의합니다.
ACI에서 다음 강조 표시된 부분은 권한 규칙입니다.
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
2.1.9.1. 권한 규칙의 구문 링크 복사링크가 클립보드에 복사되었습니다!
권한 규칙의 일반적인 구문은 다음과 같습니다.
permission (rights)
permission (rights)
-
권한
:ACI(액세스 제어 명령)에서 권한을 허용하거나 거부하는 경우 설정합니다. -
rights
: ACI가 허용하거나 거부하는 권한을 설정합니다. 권한 규칙에 대한 사용자 권한을 참조하십시오.
예 2.11. 권한 정의
ou=People,dc=example,dc=com
항목에 저장된 사용자를 활성화하려면 자체 항목에 모든 속성을 검색하고 표시하려면 다음을 수행합니다.
2.1.9.2. 권한 규칙에 대한 사용자 권한 링크 복사링크가 클립보드에 복사되었습니다!
권한 규칙의 권한은 부여 또는 거부되는 작업을 정의합니다. ACI에서는 다음 권한 중 하나 이상을 설정할 수 있습니다.
right | 설명 |
---|---|
| 사용자가 디렉터리 데이터를 읽을 수 있는지 여부를 설정합니다. 이 권한은 LDAP의 검색 작업에만 적용됩니다. |
|
특성을 추가, 수정 또는 삭제하여 항목을 수정할 수 있는지 여부를 설정합니다. 이 권한은 LDAP의 |
|
사용자가 항목을 만들 수 있는지 여부를 설정합니다. 이 권한은 LDAP의 |
|
사용자가 항목을 삭제할 수 있는지 여부를 설정합니다. 이 권한은 LDAP의 |
|
사용자가 디렉터리 데이터를 검색할 수 있는지 여부를 설정합니다. 검색 결과의 일부로 반환된 데이터를 보려면 |
|
사용자가 제공한 데이터를 디렉터리에 저장된 데이터와 비교할 수 있는지 여부를 설정합니다. |
| 사용자가 그룹에서 고유 이름(DN)을 추가하거나 삭제할 수 있는지 여부를 설정합니다. 이 권한은 그룹 관리에만 사용됩니다. |
|
지정된 DN이 다른 항목의 권한으로 대상에 액세스할 수 있는지 여부를 설정합니다. |
|
|
2.1.9.3. LDAP 작업에 필요한 권한 링크 복사링크가 클립보드에 복사되었습니다!
This section describes the rights you must grant to users depending on the type of LDAP operation you want to authorize them to perform.
This section describes the rights you must grant to users depending on the type of LDAP operation you want to authorize them to perform.
항목 추가:
-
추가할
항목에 대한 추가 권한을 부여합니다. -
항목의 각 속성 값에 대한
쓰기
권한을 부여합니다. 이 권한은 기본적으로 부여되지만targattrfilters
키워드를 사용하여 제한할 수 있습니다.
-
항목 삭제:
-
삭제할
항목에 대한 삭제 권한을 부여합니다. -
항목의 각 속성 값에 대한
쓰기
권한을 부여합니다. 이 권한은 기본적으로 부여되지만targattrfilters
키워드를 사용하여 제한할 수 있습니다.
-
항목의 속성 수정:
-
특성 유형에 대한
쓰기
권한을 부여합니다. -
각 특성 유형의 값에 대한
쓰기
권한을 부여합니다. 이 권한은 기본적으로 부여되지만targattrfilters
키워드를 사용하여 제한할 수 있습니다.
-
특성 유형에 대한
항목의 RDN 수정:
-
항목에 대한
쓰기
권한을 부여합니다. -
새 RDN에 사용되는 속성 유형에 대한
쓰기
권한을 부여합니다. -
이전 RDN을 삭제할 수 있는 권한을 부여하려면 이전 RDN에서 사용되는 속성 유형에
쓰기
권한을 부여합니다. -
새 RDN에 사용되는 속성 유형의 값에
쓰기
권한을 부여합니다. 이 권한은 기본적으로 부여되지만targattrfilters
키워드를 사용하여 제한할 수 있습니다.
-
항목에 대한
특성의 값을 비교합니다.
-
특성 유형에 대한
비교
권한을 부여합니다.
-
특성 유형에 대한
항목 검색:
-
검색 필터에
사용된 각 특성 유형에 대한 검색 권한을 부여합니다. -
항목에 사용된 속성 유형에 대한
읽기
권한을 부여합니다.
-
2.1.10. ACI 바인딩 규칙 정의 링크 복사링크가 클립보드에 복사되었습니다!
ACS(액세스 제어 명령)의 바인딩 규칙은 Directory Server가 ACI를 적용하도록 충족해야 하는 필수 바인딩 매개 변수를 정의합니다. 예를 들어 다음에 따라 바인딩 규칙을 설정할 수 있습니다.
- DNS
- 그룹 멤버십 또는 할당된 역할
- 항목이 바인딩되어야 하는 위치
- 바인딩 중에 사용해야 하는 인증 유형
- 바인딩이 발생하는 시간 또는 일 수
ACI에서 다음 강조 표시된 부분은 bind 규칙입니다.
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
(target_rule) (version 3.0; acl "ACL_name"; permission_rule bind_rules;)
2.1.10.1. 바인딩 규칙의 구문 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 규칙의 일반적인 구문은 다음과 같습니다.
keyword comparison_operator "expression"
keyword comparison_operator "expression"
-
keyword
: bind 작업의 유형을 설정합니다. -
comparison_operator
: 유효한 값은=
및!=
이며 식에 지정된 개체인지 여부를 나타냅니다. 키워드가 추가 비교 연산자를 지원하는 경우 해당 섹션에 설명되어 있습니다. -
expression
: 표현식을 설정하고 따옴표로 묶어야 합니다. 표현식 자체는 사용하는 키워드에 따라 다릅니다.
2.1.10.2. 사용자 기반 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
userdn
키워드를 사용하면 하나 이상의 DN을 기반으로 액세스 권한을 부여하거나 거부할 수 있으며 다음 구문을 사용할 수 있습니다.
userdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
userdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
표현식의 DN을 다음과 같이 설정합니다.
- DN: userdn 키워드와 함께 DN 사용을 참조하십시오.
- LDAP 필터: LDAP 필터와 함께 userdn 키워드 사용을 참조하십시오.
-
anyone
alias: 익명 액세스 권한을 참조하십시오. -
all
alias: 인증된 사용자에게 액세스 권한을 참조하십시오. -
자체
별칭: 사용자가 자신의 항목에 액세스할 수 있도록 활성화를 참조하십시오. -
상위
별칭: 사용자의 하위 항목에 대한 액세스 설정을 참조하십시오.
LDAP URL 내에 호스트 이름 또는 포트 번호를 지정하지 마십시오. URL은 항상 로컬 서버에 적용됩니다.
2.1.10.2.1. userdn 키워드로 DN 사용 링크 복사링크가 클립보드에 복사되었습니다!
userdn
키워드를 고유 이름(DN)으로 설정하여 ACI를 일치하는 항목에만 적용합니다. 여러 항목을 일치시키려면 DN에서 *
와일드카드를 사용합니다.
DN과 함께 userdn
키워드를 사용하는 것은 다음 구문과 일치해야 합니다.
userdn comparison_operator ldap:///distinguished_name
userdn comparison_operator ldap:///distinguished_name
예 2.12. userdn 키워드로 DN 사용
uid=admin,ou=People,dc=example,dc=com
사용자를 활성화하려면 ou=People,dc=example,dc=com
항목에서 다른 모든 사용자의 manager
속성을 읽습니다.
2.1.10.2.2. LDAP 필터와 함께 userdn 키워드 사용 링크 복사링크가 클립보드에 복사되었습니다!
사용자에게 권한을 동적으로 허용하거나 거부하려면 LDAP 필터와 함께 userdn
키워드를 사용합니다.
userdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
userdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
LDAP 필터는 *
와일드카드를 지원합니다.
예 2.13. LDAP 필터와 함께 userdn 키워드 사용
department
특성이 인적
리소스로 설정된 사용자를 활성화하여 ou=People,dc=example,dc=com
항목에 있는 사용자의 homePostalAddress
속성을 업데이트합니다.
2.1.10.2.3. 익명 액세스 권한 부여 링크 복사링크가 클립보드에 복사되었습니다!
관리자는 특정 상황에서 디렉터리의 데이터에 대한 익명 액세스를 구성하려고 합니다. 익명 액세스는 다음을 제공하여 디렉터리에 바인딩할 수 있음을 의미합니다.
- 바인딩 DN 및 암호 없음
- 유효한 바인딩 DN 및 암호
익명 액세스를 구성하려면 바인딩 규칙에서 userdn
키워드와 함께 ldap:///anyone
표현식을 사용합니다.
userdn comparison_operator "ldap:///anyone"
userdn comparison_operator "ldap:///anyone"
예 2.14. 익명 액세스 권한 부여
인증 없이 모든 사용자가 ou=People,dc=example,dc=com
항목에서 ,givenName
및 telephoneNumber
속성을 읽고 검색할 수 있도록 하려면 다음을 수행합니다.
2.1.10.2.4. 인증된 사용자에게 액세스 권한 부여 링크 복사링크가 클립보드에 복사되었습니다!
경우에 따라 관리자는 익명 바인딩을 제외하고 Directory Server에 성공적으로 바인딩할 수 있는 모든 사용자에게 권한을 부여하려고 합니다. 이 기능을 구성하려면 bind 규칙에서 userdn
키워드와 ldap:///all
표현식을 사용합니다.
userdn comparison_operator "ldap:///all"
userdn comparison_operator "ldap:///all"
예 2.15. 인증된 사용자에게 액세스 권한 부여
인증된 사용자가 ou=example,ou=groups,dc=example,dc=com
그룹에 대한 멤버로 자신을 추가하고 제거할 수 있도록 하려면 다음을 수행합니다.
2.1.10.2.5. 사용자가 자신의 항목에 액세스할 수 있도록 허용 링크 복사링크가 클립보드에 복사되었습니다!
사용자에게 자신의 항목에 대한 액세스를 허용하거나 거부하는 ACI를 설정하려면 바인딩 규칙에서 userdn
키워드와 ldap:///self
표현식을 사용합니다.
userdn comparison_operator "ldap:///self"
userdn comparison_operator "ldap:///self"
예 2.16. 사용자가 자신의 항목에 액세스할 수 있도록 허용
ou=People,dc=example,dc=com
항목의 사용자를 활성화하려면 자체 userPassword
속성을 업데이트합니다.
2.1.10.2.6. 사용자의 하위 항목에 대한 액세스 설정 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 DN이 대상 항목의 상위인 경우에만 항목에 대한 액세스 권한이 부여되거나 거부되도록 지정하려면 bind 규칙의 userdn
키워드와 함께 self:///parent
표현식을 사용합니다.
userdn comparison_operator "ldap:///parent"
userdn comparison_operator "ldap:///parent"
예 2.17. 사용자의 하위 항목에 대한 액세스 설정
cn=user,ou=People,dc=example,dc=com
사용자를 활성화하려면 cn=example,cn=user,ou=People,dc=example,dc=com
: 자체 하위 항목의 manager
속성을 업데이트합니다.
2.1.10.3. 그룹 기반 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
ACI(그룹 기반 액세스 제어 명령)를 사용하면 그룹에 또는 그룹에 사용자를 추가하거나 제거하여 액세스를 관리할 수 있습니다. 그룹 멤버십을 기반으로 하는 ACI를 구성하려면 groupdn
키워드를 사용합니다. 사용자가 지정된 그룹 중 하나 이상의 멤버인 경우 ACI가 일치합니다.
groupdn
키워드를 사용하는 경우 Directory Server는 다음 특성을 기반으로 그룹 멤버십을 확인합니다.
- 멤버
- uniqueMember
- memberURL
- memberCertificateDescription
groupdn
키워드로 바인딩 규칙은 다음 구문을 사용합니다.
groupdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
groupdn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
표현식에서 고유 이름(DN)을 다음과 같이 설정합니다.
- DN입니다. groupdn 키워드로 DN 사용을 참조하십시오.
- LDAP 필터입니다. LDAP 필터와 함께 groupdn 키워드 사용을참조하십시오.
하나의 바인딩 규칙에 여러 DN을 설정하면 인증된 사용자가 이러한 그룹 중 하나의 멤버인 경우 Directory Server는 ACI를 적용합니다. 사용자를 여러 그룹의 멤버로 설정하려면 여러 개의 groupdn
키워드를 사용하고 부울 및
연산자를 사용하여 결합합니다. 자세한 내용은 부울 Operator를 사용하여 바인딩 규칙 결합을 참조하십시오.
LDAP URL 내에 호스트 이름 또는 포트 번호를 지정하지 마십시오. URL은 항상 로컬 서버에 적용됩니다.
2.1.10.3.1. groupdn 키워드로 DN 사용 링크 복사링크가 클립보드에 복사되었습니다!
ACI를 그룹 멤버에 적용하려면 groupdn
키워드를 그룹의 DN으로 설정합니다.
DN으로 설정된 groupdn
키워드는 다음 구문을 사용합니다.
groupdn comparison_operator ldap:///distinguished_name
groupdn comparison_operator ldap:///distinguished_name
예 2.18. groupdn 키워드로 DN 사용
cn=example,ou=Groups,dc=example,dc=com
그룹의 멤버를 활성화하여 ou=People,dc=example,dc=com
: 항목의 manager 속성을 검색하고 읽습니다.
2.1.10.3.2. LDAP 필터와 함께 groupdn 키워드 사용 링크 복사링크가 클립보드에 복사되었습니다!
LDAP 필터를 groupdn
키워드와 함께 사용하면 인증된 사용자가 필터 검색에서 반환하는 그룹 중 하나 이상의 멤버여야 ACI와 일치하도록 정의할 수 있습니다.
LDAP 필터가 포함된 groupdn
키워드는 다음 구문을 사용합니다.
groupdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
groupdn comparison_operator "ldap:///distinguished_name??scope?(filter)"
LDAP 필터는 *
와일드카드를 지원합니다.
예 2.19. LDAP 필터와 함께 groupdn 키워드 사용
manager
속성이 example으로 설정된 dc=example,dc=com
및 subtrees의 그룹 멤버를 활성화하려면 ou=People,dc=
에서 항목의 example
,dc=comhomePostalAddress
를 업데이트합니다.
2.1.10.4. 일치하는 값을 기반으로 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
bind 규칙에 userattr
키워드를 사용하여 디렉터리와 대상 항목에 바인딩하는 데 사용되는 항목 간에 일치해야 하는 속성을 지정합니다.
userattr
키워드는 다음 구문을 사용합니다.
userattr comparison_operator "attribute_name#bind_type_or_attribute_value
userattr comparison_operator "attribute_name#bind_type_or_attribute_value
자세한 내용은 다음을 참조하십시오.
기본적으로 Directory Server는 생성된 항목에 대한 액세스 권한을 평가합니다. 그러나 동일한 수준의 사용자 오브젝트를 방지하기 위해 Directory Server는 userattr
키워드를 사용할 때 액세스 제어 명령(ACI)을 설정하는 항목에 대한 추가
권한을 부여하지 않습니다. 이 동작을 구성하려면 parent
키워드와 함께 userattr
키워드를 사용하고 수준 0에서 추가로 권한을 부여합니다.
상속에 대한 자세한 내용은 일치하는 값에 따라 액세스 정의를 참조하십시오.
2.1.10.4.1. USERDN 바인딩 유형 사용 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 사용자 고유 이름(DN)이 속성에 저장된 DN과 일치하는 경우 ACI를 적용하려면 USERDN
바인딩 유형을 사용합니다.
USERDN
바인딩 유형의 userattr
키워드에는 다음 구문이 필요합니다.
userattr comparison_operator "attribute_name#USERDN"
userattr comparison_operator "attribute_name#USERDN"
예 2.20. USERDN 바인딩 유형 사용
관리자에게 자신의 동료의 telephoneNumber
속성에 대한 모든 권한을 부여하려면 다음을 수행합니다.
ou=People,dc=example,dc=com
.com의 항목에서 작업을 수행하는 사용자의 DN이 이 항목의 manager
속성에 저장된 DN과 일치하는 경우 이전 ACI가 true로 평가됩니다.
2.1.10.4.2. GROUPDN 바인딩 유형 사용 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 사용자 DN이 속성에 설정된 그룹의 멤버인 경우 ACI를 적용하려면 GROUPDN
바인딩 유형을 사용합니다.
GROUPDN
바인딩 유형의 userattr
키워드에는 다음 구문이 필요합니다.
userattr comparison_operator "attribute_name#GROUPDN"
userattr comparison_operator "attribute_name#GROUPDN"
예 2.21. GROUPDN 바인딩 유형 사용
ou=Social Commission,ou=Groups,dc=example,dc=com
항목에서 소유한 그룹 항목을 삭제할 수 있는 권한을 사용자에게 부여하려면 다음을 수행합니다.
작업을 수행하는 사용자의 DN이 owner
속성에 지정된 그룹의 멤버인 경우 이전 ACI가 true로 평가됩니다.
지정된 그룹은 동적 그룹일 수 있으며 그룹의 DN은 데이터베이스의 모든 접미사 아래에 있을 수 있습니다. 그러나 서버에서 이러한 유형의 ACI를 평가하는 것은 매우 리소스 집약적입니다.
대상 항목과 동일한 접미사 아래에 있는 정적 그룹을 사용하는 경우 성능 향상을 위해 다음 표현식을 사용합니다.
userattr comparison_operator "ldap:///distinguished_name?attribute_name#GROUPDN"
userattr comparison_operator "ldap:///distinguished_name?attribute_name#GROUPDN"
2.1.10.4.3. ROLEDN 바인딩 유형 사용 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 사용자가 속성에 지정된 역할에 속하는 경우 ACI를 적용하려면 ROLEDN
바인딩 유형을 사용합니다.
ROLEDN
바인딩 유형의 userattr
키워드에는 다음 구문이 필요합니다.
userattr comparison_operator "attribute_name#ROLEDN"
userattr comparison_operator "attribute_name#ROLEDN"
예 2.22. ROLEDN 바인딩 유형 사용
cn=Administrators,dc=example,dc=com
역할을 사용하여 ou=People,dc=example,dc=com
:의 항목 manager
속성을 검색하고 읽으려면 cn=Administrators,dc=example,dc=com :
지정된 역할은 데이터베이스의 모든 접미사 아래에 있을 수 있습니다. 필터링된 역할을 사용하는 경우에도 이 유형의 ACI는 서버에서 많은 리소스를 사용합니다.
정적 역할 정의를 사용하고 역할 항목이 대상 항목과 동일한 접미사 아래에 있는 경우 성능 향상을 위해 다음 표현식을 사용합니다.
2.1.10.4.4. SELFDN 바인딩 유형 사용 링크 복사링크가 클립보드에 복사되었습니다!
SELFDN
바인딩 유형을 사용하면 바인딩된 사용자의 DN이 항목의 단일 값 속성에 설정된 경우 권한을 부여할 수 있습니다.
SELFDN
바인딩 유형의 userattr
키워드에는 다음 구문이 필요합니다.
userattr comparison_operator "attribute_name#SELFDN"
userattr comparison_operator "attribute_name#SELFDN"
예 2.23. SELFDN 바인딩 유형 사용
사용자가 ipatokenuniqueid=*,cn=otp,dc=example,dc=example,dc=com
항목을 추가하여 ipatokenOwner
속성에 bind 사용자의 DN을 설정할 수 있습니다.
2.1.10.4.5. LDAPURL 바인딩 유형 사용 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 DN이 대상 항목의 속성에 지정된 필터와 일치하는 경우 ACL을 적용하려면 LDAPURL
바인딩 유형을 사용합니다.
LDAPURL
바인딩 유형의 userattr
키워드에는 다음 구문이 필요합니다.
userattr comparison_operator "attribute_name#LDAPURL"
userattr comparison_operator "attribute_name#LDAPURL"
예 2.24. LDAPURL 바인딩 유형 사용
ldap:///ou=People,dc=example,dc=com?one?(uid=user*)
:로 설정된 aciurl
특성이 포함된 사용자 오브젝트에 읽기 및 검색 권한을 부여하려면 다음을 수행합니다.
2.1.10.4.6. 상속과 함께 userattr 키워드 사용 링크 복사링크가 클립보드에 복사되었습니다!
userattr
키워드를 사용하여 대상 항목과 바인딩하는 데 사용되는 항목을 연결하면 ACI는 지정된 대상에만 적용되며 그 아래의 항목에는 적용되지 않습니다. 특정 상황에서 관리자는 대상 항목 아래에 ACI 여러 수준의 애플리케이션을 확장하려고 합니다. 이는 상위
키워드를 사용하고 ACI를 상속해야 하는 대상 아래의 수준 수를 지정할 수 있습니다.
userattr
키워드를 parent
키워드와 함께 사용하는 경우 구문은 다음과 같습니다.
userattr comparison_operator "parent[inheritance_level].attribute_name#bind_type_or_attribute_value
userattr comparison_operator "parent[inheritance_level].attribute_name#bind_type_or_attribute_value
-
inherited_level
: 대상에서 ACI 아래에 있는 수준 수를 나타내는 쉼표로 구분된 목록입니다. 대상 항목 아래에 5개 수준(0
,1
,2
,3
,4
)을 포함할 수 있습니다.0
(0)은 대상 항목을 나타냅니다. -
attribute_name
:userattr
또는groupattr
키워드가 대상으로 하는 속성입니다. -
bind_type_or_attribute_value
:USERDN
과 같은 속성 값 또는 바인딩 유형을 설정합니다.
예를 들면 다음과 같습니다.
userattr = "parent[0,1].manager#USERDN"
userattr = "parent[0,1].manager#USERDN"
바인딩 DN이 대상 항목의 manager 속성과 일치하는 경우 이 바인딩 규칙은 true로 평가됩니다. bind 규칙이 true로 평가될 때 부여되는 권한은 대상 항목 및 해당 항목 바로 아래의 모든 항목에 적용됩니다.
예 2.25. 상속과 함께 userattr 키워드 사용
사용자가 cn=Profiles,dc=example,dc=com
항목을 읽고 검색할 수 있도록 하려면 사용자의 DN이 owner
속성에 설정되어 있는 첫 번째 레벨과 cn=mail,cn=Profiles,dc=example,dc=com
및 cn=news,cn=Profiles,dc=example,dc=com
을 포함하는 하위 항목의 첫 번째 수준도 있습니다.
2.1.10.5. 특정 IP 주소 또는 범위에서 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 규칙의 ip
키워드를 사용하면 특정 IP 주소 또는 다양한 IP 주소의 액세스 권한을 부여하거나 거부할 수 있습니다.
ip
키워드로 바인딩 규칙에서는 다음 구문을 사용합니다.
ip comparison_operator "IP_address_or_range"
ip comparison_operator "IP_address_or_range"
예 2.26. 바인딩 규칙에서 IPv4 주소 범위 사용
192.0.2.0/24
네트워크에서 dc=example,dc=com
항목에 대한 액세스를 거부하려면 다음을 수행합니다.
예 2.27. 바인딩 규칙에서 IPv6 주소 범위 사용
2001:db8::/64
네트워크에서 dc=example,dc=com
항목에 대한 액세스를 거부하려면 다음을 수행합니다.
2.1.10.6. 특정 호스트 또는 도메인에서 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
bind 규칙의 dns
키워드를 사용하면 특정 호스트 또는 도메인의 액세스 권한을 부여하거나 거부할 수 있습니다.
Directory Server에서 DNS를 사용하여 정규화된 도메인 이름(FQDN)으로 연결 IP 주소를 확인할 수 없는 경우 서버는 이 클라이언트에 대한 dns
bind 규칙을 사용하여ACI(액세스 제어 명령)를 적용하지 않습니다.
DNS를 사용하여 클라이언트 IP 주소를 확인할 수 없는 경우 대신 ip
키워드 및 IP 주소를 사용합니다. 특정 IP 주소 또는 범위에서 액세스 정의를 참조하십시오.
dns
키워드로 바인딩 규칙에서는 다음 구문을 사용합니다.
dns comparison_operator "host_name_or_domain_name"
dns comparison_operator "host_name_or_domain_name"
예 2.28. 특정 호스트에서 액세스 정의
client.example.com 호스트에서 dc=example,dc=com 항목에 대한 액세스를 거부하려면 다음을 수행합니다.
예 2.29. 특정 도메인에서 액세스 정의
example.com 도메인 내의 모든 호스트에서 dc=example,dc=com 항목에 대한 액세스를 거부하려면 다음을 수행합니다.
2.1.10.7. 연결에서 특정 수준의 보안 필요 링크 복사링크가 클립보드에 복사되었습니다!
연결 보안은 작업을 처리하는 데 필요한 최소 키 강도를 설정하는 SSF(보안 강도 요인)에 따라 결정됩니다. bind 규칙에 ssf
키워드를 사용하면 연결이 특정 수준의 보안을 사용해야 함을 설정할 수 있습니다. 이를 통해 암호화된 연결을 통해 암호 변경과 같은 작업을 강제 수행할 수 있습니다.
모든 작업에 대한 SSF 값은 TLS 연결과 SASL 바인딩 사이의 값이 높습니다. 즉, 서버가 TLS를 통해 실행되도록 구성되고 SASL/GSSAPI에 대해 복제 계약이 구성된 경우 작업의 SSF는 사용 가능한 암호화 유형이 더 안전합니다.
ssf
키워드로 바인딩 규칙은 다음 구문을 사용합니다.
ssf comparison_operator key_strength
ssf comparison_operator key_strength
다음 비교 연산자를 사용할 수 있습니다.
-
=
(Equal to) -
!
(Not equal to) -
&
lt; 보다 적은) -
&
gt; (greater than) -
보다
작거나 같음(Less than or equal to) -
>
;= (greater than or equal to)
key_strength
매개변수가 0
으로 설정된 경우 LDAP 작업에 보안 작업이 필요하지 않습니다.
예 2.30. 연결에서 특정 수준의 보안 필요
dc=example,dc=com 항목의 사용자를 구성하려면 SSF가 128 이상인 경우에만 userPassword 특성을 업데이트할 수 있습니다.
2.1.10.8. 특정 요일에 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 규칙의 dayofweek
키워드를 사용하면 요일에 따라 액세스 권한을 부여하거나 거부할 수 있습니다.
Directory Server는 서버의 시간을 사용하여 클라이언트의 시간이 아니라 액세스 제어 명령(ACI)을 평가합니다.
dayofweek
키워드로 규칙을 바인딩하려면 다음 구문을 사용합니다.
dayofweek comparison_operator "comma-separated_list_of_days"
dayofweek comparison_operator "comma-separated_list_of_days"
예 2.31. 특정 요일에 액세스 권한 부여
uid=user,ou=People,dc=example,dc=com
사용자 항목에 대한 액세스를 거부하려면 토요일과 일요일에 서버에 바인딩합니다.
2.1.10.9. 특정 시간에 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 규칙의 timeofday
키워드를 사용하면 일별 액세스 권한을 부여하거나 거부할 수 있습니다.
Directory Server는 서버의 시간을 사용하여 클라이언트의 시간이 아니라 액세스 제어 명령(ACI)을 평가합니다.
timeofday
키워드로 규칙을 바인딩하려면 다음 구문을 사용합니다.
timeofday comparison_operator "time"
timeofday comparison_operator "time"
다음 비교 연산자를 사용할 수 있습니다.
-
=
(Equal to) -
!
(Not equal to) -
&
lt; 보다 적은) -
&
gt; (greater than) -
보다
작거나 같음(Less than or equal to) -
>
;= (greater than or equal to)
timeofday
키워드를 사용하려면 24시간 형식으로 시간을 지정해야 합니다.
예 2.32. 하루 중 특정 시간에 액세스 정의
uid=user,ou=People,dc=example,dc=com
사용자 항목에 대한 액세스를 거부하려면 6pm과 0am 사이의 서버에 바인딩합니다.
2.1.10.10. 인증 방법을 기반으로 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
bind 규칙의 authmethod
키워드는 클라이언트가 서버에 연결할 때 사용해야 하는 인증 방법을 설정하고 액세스 제어 명령(ACI)을 적용합니다.
authmethod
키워드로 바인딩 규칙은 다음 구문을 사용합니다.
authmethod comparison_operator "authentication_method"
authmethod comparison_operator "authentication_method"
다음 인증 방법을 설정할 수 있습니다.
-
none
: 인증이 필요하지 않으며 익명 액세스를 나타냅니다. 이는 기본값입니다. -
simple
: 클라이언트는 디렉터리에 바인딩할 사용자 이름과 암호를 제공해야 합니다. -
SSL
: 클라이언트는 데이터베이스, 스마트 카드 또는 기타 장치에서 TLS 인증서를 사용하여 디렉터리에 바인딩해야 합니다. -
SASL
: 클라이언트는 SASL(Simple Authentication and Security Layer) 연결을 통해 디렉터리에 바인딩해야 합니다. bind 규칙에서 이 인증 방법을 사용하는 경우EXTERNAL
과 같은 SASL 메커니즘을 추가로 지정합니다.
예 2.33. EXTERNAL SASL 인증 방법을 사용하여 연결에 대해서만 액세스 활성화
연결에 인증서 기반 인증 방법 또는 SASL을 사용하지 않는 경우 서버에 대한 액세스를 거부하려면 다음을 수행합니다.
2.1.10.11. 역할을 기반으로 액세스 정의 링크 복사링크가 클립보드에 복사되었습니다!
바인딩 규칙의 roledn
키워드를 사용하면 하나 또는 여러 역할 세트가 있는 사용자에게 액세스 권한을 부여하거나 거부할 수 있습니다.
Red Hat은 역할 대신 그룹을 사용하는 것이 좋습니다.
roledn
키워드로 바인딩 규칙은 다음 구문을 사용합니다.
roledn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
roledn comparison_operator "ldap:///distinguished_name || ldap:///distinguished_name || ..."
고유 이름(DN)에 쉼표가 포함된 경우 쉼표를 백슬래시로 이스케이프합니다.
예 2.34. 역할을 기반으로 액세스 정의
nsRole
속성에 cn=Human Resources,ou=People,dc=example,dc=com
역할이 설정된 사용자를 활성화하려면 ou=People,dc=example,dc=com
:에서 항목의 manager
속성을 검색하고 읽습니다.
2.1.10.12. 부울 연산자를 사용하여 바인딩 규칙 결합 링크 복사링크가 클립보드에 복사되었습니다!
복잡한 바인딩 규칙을 생성할 때 AND,
, OR
NOT
부울 연산자를 사용하면 여러 키워드를 결합할 수 있습니다.
부울 연산자와 결합된 바인딩 규칙에는 다음과 같은 구문이 있습니다.
bind_rule_1 boolean_operator bind_rule_2...
bind_rule_1 boolean_operator bind_rule_2...
예 2.35. 부울 연산자를 사용하여 바인딩 규칙 결합
cn=Administrators,ou=Groups,dc=example,com
및 cn=Operators,ou=Groups,dc=example,com] 그룹의 멤버인 사용자를 구성하려면 'read ,
search ,search
, update ,add
,update
, delete
entries in ou=People,dc=example,dc=com
:
Directory Server에서 부울 연산자를 평가하는 방법
Directory Server는 다음 규칙을 사용하여 부울 연산자를 평가합니다.
왼쪽에서 오른쪽으로 모든 표현식입니다.
다음 예제에서는
bind_rule_1
이 먼저 평가됩니다.(bind_rule_1) OR (bind_rule_2)
(bind_rule_1) OR (bind_rule_2)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 가장 먼저 내부에서 가장 외부적 (parenthetical) 표현식까지.
다음 예에서
bind_rule_2
는 먼저 평가되고bind_rule_3
은 다음과 같습니다.(bind_rule_1) OR ((bind_rule_2) AND (bind_rule_3))
(bind_rule_1) OR ((bind_rule_2) AND (bind_rule_3))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AND
또는OR
연산자의 이전은아닙니다
.다음 예제에서는 bind_rule_2 가 먼저 평가됩니다.
(bind_rule_1) AND NOT (bind_rule_2)
(bind_rule_1) AND NOT (bind_rule_2)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AND
및OR
연산자는 우선 순위가 없습니다.