Calendar Server는 액세스 제어 목록(ACL)을 사용하여 달력, 달력 등록 정보 그리고 이벤트, 수행할 작업(태스크)과 같은 달력 구성 요소의 액세스 제어를 결정합니다. ACL은 하나 이상의 액세스 제어 항목(ACE)으로 구성됩니다. ACE는 동일한 달력이나 구성 요소에 집합적으로 적용되는 문자열입니다. ACL에서 각 ACE는 세미콜론으로 구분됩니다. 예를 들면 다음과 같습니다.
jsmith^c^wd^g는 하나의 ACE로 구성되어 있습니다.
@@o^a^r^g;@@o^c^wdeic^g;@^a^sf^g는 세 개의 ACE로 구성되어 있습니다.
ACE는 각각 캐럿(^)으로 구분되는 다음 요소들로 구성됩니다.
Who - ACE가 적용되는 개인, 사용자, 도메인 또는 사용자 유형
What - 달력, 이벤트나 수행할 작업(태스크)과 같은 달력 구성 요소, 달력 등록 정보 등과 같은 모든 액세스 대상
How - 읽기, 쓰기, 삭제 등과 같은 허용된 액세스 제어 권한의 유형
Grant - 부여되거나 거부된 특정 액세스 제어 권한
예를 들어, ACE jsmith^c^wd^g에서
jsmith는 ACE가 누구에서 적용되는지를 나타내는 Who 요소입니다.
c는 액세스 대상(달력 구성 요소만 해당)을 나타내는 What 요소입니다.
wd는 어떤 액세스 권한이 부여 또는 거부되는지(쓰기 및 삭제) 나타내는 How 요소입니다.
g는 해당 달력 구성 요소에 대해 jsmith에게 부여된 액세스 권한, 쓰기 및 삭제를 나타내는 Grant 요소입니다.
Who 요소는 ACE의 기본적인 값이며, ACE가 누구에게 적용되는지를 나타냅니다(예: 개별 사용자, 도메인 또는 특정 사용자 유형).
Who는 UPN(Universal Principal Name)이라고도 부릅니다. 사용자의 UPN은 해당 사용자의 로그인 아이디와 도메인을 결합한 것입니다. 예를 들어, 도메인 sesta.com에 있는 사용자 bill의 UPN은 bill@sesta.com입니다.
표 1–2 액세스 제어 항목(ACE) 문자열의 “Who” 형식
What 요소는 달력, 달력 구성 요소(이벤트나 태스크), 달력 등록 정보 등 액세스 대상을 지정합니다.
표 1–3 액세스 제어 항목(ACE) 문자열의 “What” 값
값 |
설명 |
|
---|---|---|
|
이벤트, 태스크와 같은 달력 구성 요소를 지정합니다. |
|
|
이름, 설명, 소유자를 비롯하여 달력 등록 정보를 지정합니다. |
|
|
구성 요소와 등록 정보를 포함하여 달력 전체(all)를 지정합니다. |
How 요소는 읽기, 쓰기, 삭제 등 허가되는 액세스 제어 권한의 유형을 지정합니다.
표 1–4 액세스 제어 항목(ACE) 문자열의 “How” 형식
유형 |
설명 |
---|---|
r |
읽기 액세스 |
w |
새 항목 추가 및 기존 항목 변경을 포함하는 쓰기 액세스 |
d |
삭제 액세스 |
s |
예약(초대) 액세스. 요청을 수행하고 응답을 받아들이며 다른 ITIP 예약 대화형 작업을 적용할 수 있습니다. |
f |
사용 가능/사용 중(가용성) 액세스 전용. 사용 가능/사용 중 액세스란 사용자가 달력의 예약 시간을 조회할 수 있지만 이벤트 세부 정보는 볼 수 없음을 의미합니다. 그 대신 예약된 시간 블록 옆에 “Not Available”이라고만 표시됩니다. 예약된 이벤트가 없는 시간 블록은 그 옆에 “Available”이라고 표시됩니다. |
l |
도메인 액세스를 조회합니다. |
e |
응답 액세스를 대신합니다. 이 유형은 달력의 주 소유자를 대신하여 초대를 받아들이거나 거절할 권한을 사용자에게 부여합니다. 이러한 유형의 액세스는 사용자가 주 소유자가 아닌 소유자로 지정된 경우 포함되므로 명시적으로 부여할 필요가 없습니다. |
i |
초대 액세스를 대신합니다. 이 유형은 달력의 주 소유자를 대신하여 다른 참석자가 초대된 구성 요소를 만들고 수정하는 권한을 사용자에게 부여합니다. 이러한 유형의 액세스는 사용자가 주 소유자가 아닌 소유자로 지정된 경우 포함되므로 명시적으로 부여할 필요가 없습니다. |
c |
취소 액세스를 대신합니다. 이 유형은 사용자가 달력의 주 소유자를 대신하여 참석자가 초대된 구성 요소를 취소할 권한을 사용자에게 부여합니다. 이러한 유형의 액세스는 사용자가 주 소유자가 아닌 소유자로 지정된 경우 포함되므로 명시적으로 부여할 필요가 없습니다. |
z |
자체 관리 액세스 - 인증된 사용자에게 ACE를 추가 또는 제거할 수 있는 권한을 부여합니다. 이 권한을 가진 사용자는 자신의 권한을 추가 및 제거할 수 있습니다. 예를 들어 UserA에는 UserB의 달력에 대해 쓰기 액세스 권한이 아닌 자체 관리 액세스 권한이 부여될 수 있습니다. 그러면 UserA는 스스로 UserB의 달력에 대해 쓰기 액세스 권한을 부여하는 ACE를 추가할 수 있습니다. 주: 이 권한을 통해 UserA가 다른 사용자에게 UserB의 달력에 액세스할 수 있는 권한을 줄 수 없습니다. 예를 들어 자체 관리 권한은 UserA가 UserC에게 UserB의 달력에 액세스할 수 있는 권한을 주도록 허용하지 않습니다. |
Grant 요소는 d(삭제) 또는 r(읽기) 등 지정된 액세스 유형을 부여 또는 거부할 것인지 여부를 지정합니다.
표 1–5 액세스 제어 항목(ACE) 문자열의 Grant 값
값 |
설명 |
---|---|
g |
특정 액세스 제어 권한을 부여합니다. |
d |
특정 액세스 제어 권한을 거부합니다. |
다음 예제에서는 ACE 사용 방법을 보여 줍니다.
사용자 아이디 jsmith에게 구성 요소와 등록 정보를 포함하여 달력 전체에 대한 읽기 액세스를 부여합니다.
jsmith^a^r^g
jsmith에게 구성 요소에 대해서만 쓰기 및 삭제 액세스 권한을 부여합니다.
jsmith^c^wd^g
sesta.com 도메인의 모든 사용자에게 구성 요소에 대해서만 예약, 가용성 및 읽기 액세스 권한을 부여합니다.
@sesta.com^c^sfr^g
모든 소유자에게 구성 요소에 대해서만 쓰기 및 삭제 액세스 권한을 부여합니다.
@@o^c^wd^g
jsmith에게 달력 데이터에 대한 모든 액세스 권한을 거부합니다.
jsmith^a^sfdwr^d
모든 소유자에게 구성 요소 및 등록 정보를 포함하여 달력 전체에 대한 읽기, 예약 및 가용성 액세스 권한을 부여합니다.
@@o^a^rsf^g
모든 사용자에게 읽기 액세스를 부여합니다.
@^a^r^g
Calendar Server는 ACL을 읽을 때 가장 먼저 인식하는 ACE를 사용하여 대상에 대한 액세스를 부여하거나 거부합니다. 따라서 ACL의 순서가 중요하며, ACE 문자열은 보다 구체적인 항목이 보다 일반적인 항목보다 먼저 오도록 배치해야 합니다.
예를 들어, 달력 jsmith:sports의 ACL에서 최초의 ACE가 모든 사용자에게 읽기 액세스 권한을 부여한다고 가정합니다. 그리고 Calendar Server는 bjones에게 해당 달력에 대한 읽기 액세스 권한을 거부하는 두 번째 ACE를 인식합니다. 이 경우 Calendar Server는 bjones에게 해당 달력에 대한 읽기 액세스를 부여하고 충돌되는 두 번째 ACE는 무시합니다. 따라서 bjones와 같은 특정 사용자에 대한 액세스 권한이 적용되게 하려면 ACL에서 bjones의 ACE는 달력의 모든 사용자에게 적용되는 ACE와 같이 보다 일반적인 전역 항목보다 앞에 배치되어야 합니다.