Calendar Server 使用存取控制清單 (Access Control List, ACL) 決定行事曆、行事曆特性和行事曆元件 (例如事件及待辦事項 (工作)) 的存取控制。
本小節包含以下主題:
使用者透過 Communications Express 登入 Calendar Server 時,依預設認證程序並不加密登入資訊,包括使用者名稱和密碼。如果您要在網站上進行安全登入,請將 Calendar Server 配置為使用安全套接層 (Secure Sockets Layer, SSL) 協定來加密登入資料。如需更多資訊,請參閱第 7 章, 配置 SSL配置 SSL。
Calendar Server 在決定行事曆、行事曆特性以及行事曆元件的存取時,會考量以下使用者:
主要行事曆所有者
主要行事曆所有者對自己的行事曆擁有完全存取權限。Calendar Server 對存取其自身行事曆的主要所有者不執行任何存取控制檢查。
管理員和超級使用者
管理員 (例如 calmaster) 或超級使用者 (例如 root) 不受存取控制限制,可以在行事曆或行事曆元件上執行任何作業。如需更多資訊,請參閱1.3 Calendar Server 版本 6.3 的特殊帳號。
其他行事曆所有者
主要行事曆所有者可為自己的行事曆指定其他所有者。然後,其他所有者就可代表主要所有者為行事曆排程、刪除、修改、接受或拒絕事件或待辦事項 (工作)。
anonymous 使用者
如果 ics.conf 檔案中的 service.http.allowanonymouslogin 設定為 yes (預設),則特殊行事曆 ID (calid) anonymous 可使用任何密碼存取 Calendar Server。anonymous 使用者不與任何特定網域關聯。您可以透過編輯 calstore.anonymous.calid 參數來變更 anonymous 使用者的 calid。
如果某行事曆的權限允許所有使用者讀取,則您還可以匿名地檢視該行事曆。例如,以下連結允許使用者匿名地檢視 calid 為 tchang:meetings 的行事曆 (如果行事曆的權限允許所有使用者讀取)。
http://calendar.sesta.com:8080/?calid=tchang:meetings
anonymous 使用者可以檢視、列印及搜尋行事曆中的公開事件和工作,但不能執行任何其他作業。
如需有關匿名檢視資源行事曆的資訊,請參閱15.8 連結至行事曆。
使用存取控制清單決定行事曆、行事曆特性和行事曆元件例如事件和待辦事項工作的存取控制。ACL 由一個或多個存取控制項目 (ACE) 組成,這些存取控制項目是共同套用於同一行事曆或元件的字串。ACL 中的各個 ACE 必須由分號分隔。
以下是範例清單:
jsmith^c^wd^g 由單一 ACE 組成。
@@o^a^r^g;@@o^c^wdeic^g;@^a^sf^g 由三個 ACE 組成。
ACE 由以下元素組成,其中各個元素由指數符號 (^) 分隔:
1.8.3.1 Calendar Server 版本 6.3 中 Ace 字串的 Who 元素 - 套用 ACE 的個體、使用者、網域或使用者類型。
1.8.3.2 Calendar Server 版本 6.3 中 Ace 字串的 What 元素 - 存取的目標,例如行事曆或行事曆元件 (如事件、待辦事項 [工作] 或行事曆特性)。
1.8.3.3 Calendar Server 版本 6.3 中 Ace 字串的 How 元素 - 允許的存取控制權限類型,例如讀取、寫入或刪除。
1.8.3.4 Calendar Server 版本 6.3 中 Ace 字串的 Grant 元素 - 是授予還是拒絕特定存取控制權限。
例如,在 ACE jsmith^c^wd^g 中:
jsmith 為 Who 元素,指示 ACE 套用於誰。
c 為 What 元素,指示要存取的內容 (僅行事曆元件)。
wd 為 How 元素,指示將授予或拒絕哪些存取權限 (寫入與刪除)。
g 為 Grant 元素,指示將行事曆元件的指定存取權限 (寫入與刪除) 授予 jsmith。
Who 元素是 ACE 的主要值,指明 ACE 套用於誰,如個別使用者、網域或使用者的特定類型。
Who 也稱為通用主要名稱 (UPN)。使用者的 UPN 是與使用者網域組合的使用者登入名稱。例如,網域 sesta.com 中的使用者 bill 具有 UPN bill@sesta.com。
表 1–2 存取控制項目 (ACE) 字串的「Who」格式
What 元素指定要存取的目標,例如行事曆、行事曆元件 (事件或工作) 或行事曆特性。
表 1–3 存取控制項目 (ACE) 字串的「What」值
值 |
說明 |
|
---|---|---|
|
指定行事曆元件,例如事件和工作 |
|
|
指定行事曆特性,例如名稱、說明、所有者等 |
|
|
指定整個行事曆 (所有),包括元件與特性 |
元素指定所許可的存取控制權限類型例如讀取、寫入或刪除。
表 1–4 存取控制項目 (ACE) 字串的「How」類型
類型 |
說明 |
---|---|
r |
讀取存取。 |
w |
寫入存取,包括增加新項目和修改現有項目。 |
d |
刪除存取。 |
s |
排程 (邀請) 存取。可以產生請求,將會接受回覆,並且會允准其他 ITIP 排程互動。 |
f |
僅空閒/忙碌 (空閒時間) 存取。空閒/忙碌存取意味著使用者可以看到行事曆中已排程的時間,但是看不到事件詳細資訊。相反,只會看到「非空閒時間」幾個字出現在已排程時段的旁邊。無任何已排程事件的時段旁邊列示有「空閒時間」。 |
l |
網域的查找存取。 |
e |
代表進行回覆存取。此類型授予使用者代表行事曆的主要所有者接受或拒絕邀請的權限。無需明確地授權此存取類型,因為在將使用者指定為行事曆的所有者 (除了主要所有者之外的所有者) 時已暗示此存取類型。 |
i |
代表進行邀請存取。此類型授予使用者代表行事曆的主要所有者建立及修改元件的權限,在這些元件中已經邀請了其他與會者。無需明確地授權此存取類型,因為在將使用者指定為行事曆的所有者 (除了主要所有者之外的所有者) 時已暗示此存取類型。 |
c |
代表進行取消存取。此類型授予使用者代表行事曆的主要所有者取消元件的權限,已將與會者邀請至這些元件。無需明確地授權此存取類型,因為在將使用者指定為行事曆的所有者 (除了主要所有者之外的所有者) 時已暗示此存取類型。 |
z |
自我管理存取 - 授予認證的使用者增加或移除存取控制項目的權限。具有此權限的使用者可以增加和移除其自身的權限。例如,UserA 可能沒有對 UserB 的行事曆的寫入存取權限,但 UserA 已被授予對 UserB 的行事曆的自我管理存取權限。因此,UserA 可以增加授予其自己對 UserB 的行事曆的寫入存取權限的存取控制項目。 注意:此權限不允許 UserA 授予其他使用者對 UserB 的行事曆的存取權限。例如,自我管理權限不允許 UserA 授予 UserC 對 UserB 的行事曆的存取權限。 |
Grant 元素指定是授予還是拒絕特定存取類型的存取,例如 d (刪除) 或 r (讀取)。
表 1–5 存取控制項目 (ACE) 字串的 Grant 值
值 |
說明 |
---|---|
g |
授予特定的存取控制權限。 |
d |
拒絕特定的存取控制權限。 |
以下範例說明 ACE 的使用:
授予使用者 ID 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 字串,使較特定的 ACE 顯示在較一般的 ACE 之前。
例如,假定行事曆 jsmith:sports 之 ACL 中的第一個 ACE 授予所有使用者讀取存取權限。然後,Calendar Server 遇到了第二個 ACE,該 ACE 拒絕 bjones 對本行事曆的讀取存取權限。這種情況下,Calendar Server 會授予 bjones 對本行事曆的讀取存取權限,並因為第二個 ACE 是一個衝突而將其忽略。因此,為確保特定使用者 (例如 bjones) 的存取權限得到允准,在 ACL 中應該將 bjones 的 ACE 放置在全域性較強的項目 (例如套用至行事曆的所有使用者的 ACE) 之前。