1 / 54

第 3 章 目錄服務

第 3 章 目錄服務. 本章重點. 3 - 1 目錄服務的基本觀念 3 - 2 目錄的架構 3 - 3 X.500 和 LDAP 3 - 4 AD 目錄服務 3 - 5 AD 物件的名稱. 目錄服務. 微軟在 2000 年開始推出的目錄服務 , 可以說是新、舊技術的分水嶺。 從 Windows 2000 Server 、 Windows Server 2003 、 2003 R2, 直到 Windows Server 2008, 許多重要的功能都與目錄服務相關。 所以我們先來瞭解目錄服務的相關知識 , 為後面的學習打好基礎。.

Download Presentation

第 3 章 目錄服務

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 3 章 目錄服務

  2. 本章重點 • 3 - 1 目錄服務的基本觀念 • 3 - 2 目錄的架構 • 3 - 3 X.500 和 LDAP • 3 - 4 AD 目錄服務 • 3 - 5 AD 物件的名稱

  3. 目錄服務 • 微軟在 2000 年開始推出的目錄服務, 可以說是新、舊技術的分水嶺。 • 從 Windows 2000 Server、Windows Server 2003、2003 R2, 直到 Windows Server 2008, 許多重要的功能都與目錄服務相關。 • 所以我們先來瞭解目錄服務的相關知識, 為後面的學習打好基礎。

  4. 3 - 1 目錄服務的基本觀念 • 何謂目錄 • 目錄與資料庫的差異 • 何謂目錄服務 • 電腦網路為何需要目錄服務

  5. 何謂目錄 • 其實目錄早已存在日常生活中, 例如電話簿可用來查詢用戶的電話號碼、姓名與地址, 就是一種目錄。 • 而電腦的檔案系統記錄了資料夾與檔案的名稱、建立日期、修改日期、儲存位置等等資訊, 因此使用者以檔案名稱或某種檔案屬性 (例如:修改日期), 就能從眾多的資料夾中找出所要的檔案。

  6. 何謂目錄 • 從以上的例子可知, 目錄是用來記載特定環境中、一群物件的相關資訊。 • 在此所謂的物件, 泛指環境中的各種獨立個體-包括人、事、物。

  7. 目錄與資料庫的差異 • 許多初次接觸目錄或目錄服務的使用者, 經常產生一個問題:「目錄與資料庫有何差異?」 • 其實, 目錄與資料庫都是用來儲存資料, 兩者的確很相似。 • 不過, 深入比較其細節, 就會發現通常有以下兩點差異: • 目錄強調查詢, 資料庫重視異動。 • 目錄對於查詢動作做過最佳化, 因此查詢的速度很快, 適合處理變動少、查詢多的資料。

  8. 目錄與資料庫的差異 • 資料庫則是重視異動(Transcation), 適合處理變動較多的資料。 • 目錄以樹狀架構為主, 資料庫以關聯式資料表為主。 • 絕大多數的目錄都採用階層式樹狀架構來儲存資料;至於資料庫, 雖然也有少數採用樹狀架構, 但是主流產品是『關聯式資料庫』, 其主要架構為『存在關聯性的資料表』。

  9. 目錄與資料庫的差異 • 雖然目錄與資料庫有以上的差異, 可是在許多文件或人們平常的交談中, 經常將兩者混淆, 幾乎視為相同。 • 所以, 我們也毋須太計較其中的差異, 不妨將目錄當成是一種查詢速度很快的資料庫即可。

  10. 何謂目錄服務 • 有了目錄之後, 理論上就可以用來查詢所要的資訊。但是當這份目錄包含龐大的資料時, 用人工查詢和維護便顯得沒有效率。 • 翻閱厚厚的電話簿時很不方便, 但是透過查號台, 利用電腦來搜尋電話用戶資料庫, 便能快速又準確地知道結果, 所以查號台的服務便是一種目錄服務。 • 簡而言之, 藉由目錄服務, 我們能夠方便迅速地查詢與維護目錄, 提高工作效率。

  11. 電腦網路為何需要目錄服務 • 在單機時代, 檔案、印表機、掃描器和數據機等等, 都是在同一部電腦, 使用者能輕易地找到這些資源, 因此感受不到目錄服務的重要。 • 可是到了網路時代, 這些資源可能散佈在 5 部或 10 部電腦上, 使用者如何找得到?即使找到了, 是否就有權限使用? • 倘若讀取每一個檔案或使用每一部印表機時, 都得重複輸入帳戶名稱與密碼, 豈不是很麻煩?

  12. 電腦網路為何需要目錄服務 • 為了解決這些因為網路規模膨脹而出現的問題, 我們需要一份目錄, 上頭記載著電腦名稱、印表機名稱、帳戶名稱、密碼、權限等等, 再設計一種好用的目錄服務, 讓大家透過該目錄服務就能輕易地使用網路資源。 • 不過在實務應用上, 考量到資訊安全, 因此軟體廠商所設計的目錄服務, 大都還會結合身分驗證(Authentication)機制。

  13. 電腦網路為何需要目錄服務 • 亦即在使用目錄服務之前, 必須表明自己的身分, 通常是輸入帳戶名稱與密碼, 但也可以用插入 IC 卡或是掃瞄指紋等等方式, 俟系統驗證無誤後, 使用者才能查詢或修改目錄內容。

  14. 3 - 2 目錄的架構 • 目錄的架構是指在目錄中儲存物件的方式, 明白這方面的知識, 有助於未來的維護和設計工作。 • 目錄樹 • 物件的屬性

  15. 目錄樹 • 若目錄中的物件是以『階層式樹狀架構』來組織, 則該架構稱為『目錄樹』(Directory Tree), 包含以下兩類的物件: • 容器物件 (Container Object):這類物件的下層可再存放其他物件。位於整個目錄樹頂端的容器物件, 稱為『根』物件 (Root Object)。 • 非容器物件 (Non-container Object):這類物件的下層不可再存放其他物件。非容器物件必定是位於目錄樹的末端, 又稱為『葉』物件 (Leaf Object)。

  16. 目錄樹 • 整體的架構圖如下:

  17. 物件的屬性 • 在目錄樹中, 各物件都有所謂的『屬性』 (Attribute), 記載著該物件的特性。物件與屬性的關係, 類似於資料庫中紀錄與欄位的關係。 • 一筆紀錄可以有多個欄位, 同理, 一個物件可以有多個屬性, 而且不同性質的物件會有不同的屬性。 • 舉例來說:使用者(User)物件有『公司名稱』『部門名稱』和『電話號碼』這些屬性, 但是資料夾物件就沒有這些屬性, 而有『建立日期』和『大小』等屬性。

  18. 物件的屬性 • 屬性的內容通常稱為屬性值, 不同物件的某些屬性值可以相同、某些則必須唯一。 • 例如:A、B 兩位使用者隸屬於相同部門, 所以它們的公司名稱、部門名稱, 甚至電話號碼都相同, 但是『員工編號』就絕對不能相同。

  19. 3 - 3 X.500 和 LDAP • 由於電腦網路可能包含了多種不同的作業系統, 當我們要用一種目錄服務將它們整合在一起時, 如果沒有統一的標準, 就必須為每一個系統設計專屬的用戶端軟體, 如此勢必增加複雜度與成本。 • 當初在『目錄』觀念剛萌芽時, ITU-T 發表了一系列名為『X.500 Recommandation』文件, 探討目錄的觀念、模型、存取協定等等技術。

  20. X.500 和 LDAP • 業界便以 X.500 作為目錄的標準, 以 DAP (Directory Access Protocol) 協定作為存取 X.500 目錄的共同方式。 • 但是廠商在實作時, 發覺 DAP 協定過於複雜, 而且用戶端程式的負荷太大, 於是將其改良, 推出了 LDAP (Lightweight Directory Access Protocol) 協定。

  21. X.500 和 LDAP • 顧名思義, LDAP 為『輕量級』(Lightweight) 的 DAP, 一方面簡化架構、易於設計, 另一方面也減輕用戶端軟體的負荷, 因此成為主流。 • Lotus Domino、Sun One Directory Server、Novell Directory Services (NDS) 和微軟的 Active Directory Services 等等目錄服務產品, 都標榜支援 LDAP 協定。

  22. 3 - 4 AD 目錄服務 • 微軟自 Windows 2000 Server 開始提供完整的目錄服務, 命名為 AD(Active Directory)目錄服務。 • 搭配該服務的目錄便稱為 AD 目錄--許多文件是以『AD 資料庫』來稱呼 AD 目錄。 • 雖然 AD 目錄與 AD 目錄服務大致上符合 X.500 及 LDAP 規範, 但是難免加入了微軟獨家的規格與技術, 因此本節將介紹其中比較值得注意的一些特性。

  23. AD 目錄的架構 • AD 目錄仍然是以物件組合成階層式樹狀架構, 不過卻多了『網域』(Domain)物件。 • 將一般物件先整合到網 域中, 再形成所謂的 『網域樹狀目錄』 (Domain Tree), 如右圖:

  24. AD 目錄的架構 • 其實網域樹狀目錄與先前提過的目錄樹很像, 只不過多了網域這個容器物件。各個物件先隸屬於網域, 再由網域組合成目錄。 • 而且多個網域樹狀目錄還可以再結合成『樹系』(Forest), 如下圖。

  25. AD 目錄的架構

  26. AD 物件的共同特性 • 在 AD 目錄中的物件稱為 AD 物件。雖然大多數 AD 物件的特性各不相同, 但是卻有一些共同點。 • 認識這些共同的特性, 可讓我們更深入瞭解 AD 物件。

  27. GUID • Windows Server 2008 會賦予各物件一個獨一無二的代碼, 稱為 GUID (Globally Unique Identifier, 全域唯一識別元)。 • GUID 的長度高達 128 位元, 以確保不會彼此重複。 • 物件的 GUID 一旦產生, 永遠不會改變, 因此不論物件的名稱或屬性如何變更, 應用程式仍可透過 GUID 找到物件。

  28. ACL • 從 Windows 2000 Server 到 Windows Server 2008, 都存在所謂的安全性原則(Security Principal) 物件, 它包含『使用者帳戶、電腦帳戶與群組』等 3 種物件。 • 而 AD 物件都有一份清單 (List), 記載著安全性原則物件對自己有哪些權限, 這份清單稱為存取控制清單 (ACL, Access Control List)。 • 換言之, ACL 記載了『哪些安全性原則物件, 可以對哪些物件做什麼動作』。

  29. ACL • 例如:『王小華』可以讀取『人事部門』資料夾、但不能刪除或修改其內容;『美編組』的成員可以使用彩色印表機、但不能修改設定等等。 • 我們不妨將物件的 ACL 想像成如下的表格:

  30. ACL • 當然, 以上的內容係經過簡化, 目的是要讓讀者容易理解。實際的 ACL 是用一堆代碼來記錄, 遠比上表來得複雜。

  31. ACL 的繼承關係 • 雖然 AD 物件各自擁有一份獨立的 ACL, 然而系統管理員可以根據實際需求, 決定是否讓下層物件繼承上層物件的 ACL。以下圖為例:

  32. ACL 的繼承關係 • 當 C 物件繼承上層物件(A 和 B 物件)的 ACL 時, 連帶使得 X 和 Y 使用者都對 C 物件具有寫入權限, 造成 X、Y 和 Z 三位使用者都對 C 物件有寫入權限。 • 若將 C 物件移動至其它位置時, 本身的 ACL 並未改變, 但因所繼承的 ACL 不同會導致不同的結果。 • 以下圖為例。

  33. ACL 的繼承關係 • 將 C 物件移至 A 物件下層後, 則只有 X、Z 使用者對 C 物件具有寫入權限, Y 使用者則喪失對 C 物件的寫入權限。

  34. AD 物件的屬性 • AD 物件的主要功能是記載 AD 網域內各種資源的資訊, 這些資訊便是物件的屬性。 • 每個 AD 物件通常有多個屬性, 以使用者 (User)物件為例, 預設有兩百多個屬性, 較常用到的屬性如下: • sn:使用者的姓氏。 • givenName:使用者的名字。 • userPassword:使用者的密碼。 • objectGUID:使用者的 GUID。

  35. AD 物件的屬性 • lastLogon:使用者最近一次的登入時間。 • userCertificate:使用者的數位憑證。 • url:使用者的個人網址。 • homePhone:使用者家中的電話號碼。 • thumbnailPhoto:使用者的數位相片。 • 在實際的應用上, 通常不會用到所有的屬性, 而是依需求來存取部份的屬性, 因此使用者僅能存取應用程式所提供的屬性。

  36. AD 物件的屬性 • 例如:Windows Server 2008 的使用者帳戶管理介面, 並沒有出現 thumbnailPhoto 屬性可供設定。 • 倘若有儲存使用者相片檔的需求, 則必須另行撰寫程式, 提供該屬性的設定選項, 讓操作者能將相片檔儲存在使用者物件中。

  37. AD Schema • 先前提過, 不同類的 AD 物件可能具有不同的屬性, 例如:印表機物件有『紙張尺寸』屬性, 但是使用者物件就不可能有此屬性。 • 到底什麼樣的物件具有哪些屬性, 這是由 AD schema 所決定。 • AD schema 如同一份規格文件, 將物件分成各種類別 (Class), 並定義每一種類別的物件該有哪些屬性。

  38. AD Schema • 透過這些已定義屬性的物件類別來建立物件, 可確保套用這個類別所產生的物件, 皆有相同的屬性。 • 例如:定義 user 類別所包含的屬性之後, 所有的使用者物件都根據 user 類別來建立, 如此所產生的使用者物件便會有相同的屬性。 • 在其它的目錄服務中, schema 經常是以文字檔的形式來呈現。

  39. AD Schema • 但是在 AD 中, 則將 schema 包裝成 AD 物件, 換言之, 雖然 AD schema 本身是用來定義物件, 可是自己也是一種物件, 可以說是『用來定義物件』的物件。 • 在 AD schema 中, 相同屬性可以存在於不同類別, 例如:description 屬性同時存在於 user、group、computer 等類別, 而且彼此完全獨立。

  40. AD Schema • 修改 user 的 description 屬性不會影響 group 物件的 description 屬性。 • 雖然 Windows Server 2008 已經提供相當多的類別與屬性, 但為了提高 AD 功能的彈性, 仍允許系統管理員自行定義新的類別或屬性。

  41. 3 - 5 AD 物件的名稱 • 由於使用者或網路程式可能會以不同方式來存取物件, 而每一種存取方式對於物件都有自己的命名方式, 因此 AD 物件會有多種名稱, 以適用於不同的場合。

  42. LDAP 名稱 • AD 是採用 LDAP 3 協定的目錄服務, 因此用戶端可透過 LDAP 協定來存取 AD 中的物件。 • 存取時所指定的物件名稱, 可區分為以下 2 類: • DN (Distinguished Name) 與 RDN (Relative Distinguished Name) • 標準名稱

  43. DN 與 RDN • AD 目錄中各物件皆具有符合 LDAP 規格的 DN 與 RDN 名稱, 以便讓 LDAP 用戶端程式存取物件。 • 物件本身具有一個 RDN 屬性, 用以記載自己的 RDN;物件的 DN 則是由自己的 RDN 再加上層所有物件的 RDN 所組成, 以下圖為例。

  44. DN 與 RDN • 物件 A 的 RDN 為:

  45. DN 與 RDN • DN 為: • 其中, CN (Common Name) 通常用來代表物件名稱, 例如使用者名稱、印表機名稱等等;OU (Organizational Unit) 代表組織單位名稱;DC (Domain Component) 代表網域名稱。 • 這裡要注意我們慣用的是 DNS 網域名稱, 例如:flag.com.tw, 但是 LDAP 則是用『DC=』加在每個網域之前, 形成『DC=flag, DC=com, DC=tw』的表示法。

  46. DN 與 RDN • 物件的 DN 是由系統根據物件的 RDN 與其位置而自動產生的。移動物件時, DN 也會隨之變更, 以反映移動後的位置。 • 除了程式設計師在開發程式時, 會用到冗長難記的 DN 外, 一般情形很少直接使用 DN 來存取物件。

  47. 標準名稱 • 標準名稱是以簡化方式表示 LDAP 的 DN, 假設物件的 DN 為: • 則在 AD 中此物件的標準名稱為: • 換言之, 標準名稱省略了 DN 中的 "CN="、"OU=" 等等保留字, 並改用 DNS 網域名稱來表示 DN 中的網域名稱。

  48. 登入名稱 • 使用者在登入 Windows Server 2008 主機或網域時, 可使用以下兩種名稱: • UPN (User Principal Name) • SAM (Security Account Manager) 帳戶名稱

  49. UPN • UPN 的格式與慣用的 Email 地址相似。 • 例如:frankie@xdom.com, 其中 frankie 是使用者名稱(一般又稱為『帳戶名稱』或『帳號』), xdom.com 是 frankie 所隸屬的 DNS 網域名稱。 • 開機啟動 Windows Server 2008 後, 首先出現請按 CTRL + ALT + DELETE 來登入的畫面, 使用者按下 Ctrl + Alt + Del鍵, 便可輸入 UPN 來登入網域, 如下圖。

  50. UPN

More Related