• 沒有找到結果。

混合雲之帳號與檔案內容權限管理與同步系統之實作-以Google Docs及Hadoop為例 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "混合雲之帳號與檔案內容權限管理與同步系統之實作-以Google Docs及Hadoop為例 - 政大學術集成"

Copied!
62
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊管理研究所 碩士學位論文. 指導教授:姜國輝 博士. 政 治 大. 混合雲之帳號與檔案內容權限管理與同步 立. ‧ 國. 學. 系統之實作-以 Google Docs 及 Hadoop 為例. ‧. Nat. io. sit. y. Developing Account and File Synchronization er. n. in Hybrid Clouda Platform-on example of Google iv l C n h e nand i U Hosts Docs, Hadoop g c hLocal. 研究生:翁雋傑. 中華民國一○一年一月.

(2) 致謝 在研究所的就學期間裡,首先要感謝姜國輝老師,總是在學生不懂如何持續 研究下去時給予了正確且快速的方向,並且不時地鼓舞學生,讓我能在研究很苦 的時仍能不輕易放棄,並且順利的完成本篇論文。並藉此感謝參與口試的口委: 朱惠中老師、郁方老師以及黃勝雄先生,能在口試完後給予論文上格式的提醒以 及內容的更改,以利我能更快速地完成此研究。 另外感謝曾經教導過學生的老師們以及資管所上的成員,每次修課均有額外 的收穫,並且能從中了解人生處世的道理。讓碩士班的就讀過程中不僅僅在專業. 政 治 大. 領域有成長,而能更了解業界以及人生處事上的種種狀況。. 立. 再來要感謝與我一起成長的碩士班同學、學長姐以及學弟妹們,尤其是與我. ‧ 國. 學. 同在姜國輝老師下做研究的永承。在彼此一起扶持且成長的時光裡,同學們種是 不時的伸出一隻手拉你一把,讓我在念碩士班的時光裡能順利完成學業。學長姐. ‧. 以及學弟妹們則是能不覺麻煩的幫忙跑腿做事。這段時間過得艱辛但是很愉快,. sit. y. Nat. 謝謝你們。. n. al. er. io. 最後要感謝家裡的父母親,能不讓我花費額外的心思顧著生活上的花費,也. i Un. v. 不曾給予我信心上的打擊,讓我能順利完成碩士學業,也藉此報答你們為我付出 的辛勞。. Ch. engchi. 翁雋傑 謹至於. 國立政治大學資訊管理研究所 民國 101 年 1 月. [I].

(3) 中文摘要 繼網際網路蓬勃發展後,人們的工作與生活更為便利。雲端運算問世之後, 更多企業與個人將雲端運算做資料備份與發佈的平台。企業使用雲端的方式有以 下三種:即公有雲、私有雲及混合雲。企業使用公有雲(Public Cloud)將服務與資 料儲存交由雲端提供商託管,例如使用 Google Docs、G-mail,以減少企業內部 的成本。企業亦可建置私有雲(Private Cloud),以提供檔案備援與內部服務。另 外,企業可結合公有雲與私有雲以構成混合雲(Hybrid Cloud),即使用公有雲儲 存敏感度不高之資料並將敏感度較高的資料存至私有雲或本地端。. 政 治 大. 本研究將探討企業在使用混合雲時遇到的帳號以及檔案內容與授權問題,實. 立. 作上公有雲應用服務以 Google Docs 為例、私有雲以 Hadoop 為例、本地端則以. ‧ 國. 學. Linux-base 電腦為例。本研究使用開放標準 OpenID 與 O’Auth 達到對公有雲的 帳號認證、檔案授權,以開發出一個跨本地端電腦或私有雲與公有雲帳號與檔案. ‧. 內容權限之管理與同步系統。本系統可解決在公有雲、私有雲與企業內部系統多. y. Nat. n. al. er. io. 問題。. sit. 重帳號的困擾與企業人員外部存取與內部存取時的權限不足或檔案版本不同的. Ch. engchi. i Un. v. 關鍵字:雲端運算、混合雲、公有雲、資訊安全、檔案同步、檔案權限管理. [II].

(4) Abstract Drawing on the rapidly growing Internet technology, people now work and live in a more convenient way. Due to the progress of cloud computing, more and more companies as well as people are using cloud computing as a platform in order to backup and publish data. There are three ways that how enterprises deploy cloud computing: public cloud, private cloud and hybrid cloud. In order to reduce costs, enterprises now days store their data using public cloud and entrust to the public cloud providers, such as using. 政 治 大. Google Docs, G-mail. Enterprises can also build private clouds to provide files and. 立. internal services backup. In addition, enterprises are able to combine public cloud and. ‧ 國. 學. private cloud into hybrid cloud. We are used to store less sensitive data on the public cloud, while using private cloud or local storage to store highly sensitive data.. ‧. This study aims to design a system that can solve the problems regarding. y. Nat. io. sit. authentication, file content synchronization and authorization, while enterprises. n. al. er. benefit by using hybrid cloud storage. System is designed by taking Google Docs as. Ch. i Un. v. an example for the public cloud, Hadoop as the example for private cloud, and. engchi. Linux-base computer as an example for local storage. This research addresses the open standard, namely: “OpenID” and “O’Auth”, in order to solve data content and non-consistency permission between public cloud, private cloud and local hosts.. Keywords: Cloud Computing, Hybrid cloud, Public Cloud, Information Security, File Synchronization, Account Synchronization, Permission Management. [III].

(5) 目錄 致謝 .................................................................................................................................... I 中文摘要 ........................................................................................................................... II Abstract ........................................................................................................................... III 目錄 .................................................................................................................................... i 表目錄 .............................................................................................................................. iv 圖目錄 ............................................................................................................................... v 第一章. 緒論 ................................................................................................................. 1. 1-1. 研究背景 ......................................................................................................... 1. 政 治 大 研究動機 ......................................................................................................... 2 立. 1-2. 研究目的 ......................................................................................................... 3. 學. ‧ 國. 1-3. 研究流程 ......................................................................................................... 3. 第二章. 文獻探討 ......................................................................................................... 5. 2-1. 雲端運算 ......................................................................................................... 5. ‧. 1-4. y. Nat. 2-1.2. 雲端運算種類............................................................................................. 6. 2-1.3. 雲端運算之認證安全、授權控制與檔案同步等相關安全議題 ............. 8. n. al. er. sit. 雲端運算類型............................................................................................. 5. io. 2-1.1. Ch. engchi. i Un. v. 2-2. Hadoop Distribute File Systems (HDFS) .......................................................... 12. 2-3. VMware vShield ................................................................................................ 13. 2-4. 檔案系統與檔案權限 ................................................................................... 14. 2-4.1. Google Docs 帳號與檔案權限控管 ......................................................... 14. 2-4.2. Linux 與 Hadoop 的檔案權限表達方式 ................................................. 16. 2-4.3. 權限同步的風險及問題........................................................................... 18. 2-5. OpenID 與 O’Auth ............................................................................................ 19. 2-5.1. OpenID ...................................................................................................... 19. 2-5.2. O’Auth ...................................................................................................... 21 i.

(6) 2-5.3. OpenID 與 O’Auth 之分際.................................................................... 22. 2-6. 小結 ............................................................................................................... 22. 第三章. 系統設計與架構 ........................................................................................... 24. 3-1. 系統概述 ....................................................................................................... 24. 3-2. 系統環境 ....................................................................................................... 24. 3-3. 系統架構 ....................................................................................................... 25. 3-4. 系統帳號與各端帳號的管理及同步 ........................................................... 26. 3-5. 系統流程 ....................................................................................................... 28. 3-6. 使用者特性 ................................................................................................... 29. 3-7. 操作概念 ....................................................................................................... 29. 3-8. 研究限制 ....................................................................................................... 30. 第四章. 系統開發與實作 ........................................................................................... 31. 4-1. 私有雲及本地端系統傳訊之方法 ............................................................... 31. 立. 政 治 大. 4-1.2. 以 AMQP 實作檔案同步 ......................................................................... 32. 以 Socket 實作檔案同步 .......................................................................... 31. sit. y. Nat. n. al. er. 系統身分認證之實作 ................................................................................... 33. io. 4-2. ‧. ‧ 國. 學. 4-1.1. i Un. v. 4-2.1. 使用者對系統註冊並認領帳號 ............................................................... 33. 4-2.2. 使用者改變檔案內容之認證 ................................................................... 33. Ch. engchi. 4-3. 系統與私有雲(Hadoop)及本地端檔案同步之實作 .................................... 34. 4-4. 系統與公有雲(Google Docs)檔案同步之實作 ........................................... 35. 4-5. 權限同步之實作 ........................................................................................... 37. 第五章. 系統測試 ....................................................................................................... 38. 5-1. 測試範圍 ....................................................................................................... 38. 5-2. 測試接受準則 ............................................................................................... 38. 5-3. 測試環境 ....................................................................................................... 39. 5-3.1. 硬體規格................................................................................................... 39 ii.

(7) 5-3.2. 軟體規格................................................................................................... 39. 5-3.3. 測試資料來源........................................................................................... 40. 5-4. 測試方法 ....................................................................................................... 40. 5-4.1. 監控模組測試........................................................................................... 40. 5-4.2. 身分認證模組之測試............................................................................... 42. 5-4.3. 檔案同步之測試....................................................................................... 42. 5-4.4. 接受測試................................................................................................... 43. 5-5. 測試結果與分析 ........................................................................................... 44. 5-5.1. 測試結果................................................................................................... 44. 5-5.2. 測試結果之建議....................................................................................... 45. 立. 政 治 大. 結論與未來展望 ........................................................................................... 47. 6-1. 結論 ............................................................................................................... 47. 6-2. 未來展望 ....................................................................................................... 48. 第七章. 參考文獻 ....................................................................................................... 49. ‧. ‧ 國. 學. 第六章. n. er. io. sit. y. Nat. al. Ch. engchi. iii. i Un. v.

(8) 表目錄 表 1:HDFS 所提供的管理安全機制 ...................................................... 13 表 2:本系統採用之各端環境說明.......................................................... 25 表 3: 對認證膜組之使用案例圖............................................................ 30 表 4:對檔案同步之使用案例圖.............................................................. 30 表 5:測試資料表...................................................................................... 40 表 6:測試結果.......................................................................................... 45 表 7:修改後測試結果.............................................................................. 45. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. iv. i Un. v.

(9) 圖目錄 圖 1:本論文研究流程................................................................................ 4 圖 2:雲端種類的示意圖............................................................................ 8 圖 3:CA 驗證流程,引用自謝乙誠、尤淑芬, 2009 ....................... 9 圖 4:UID 驗證流程,引用自謝乙誠、尤淑芬, 2009 ..................... 9 圖 5:雲端認證方式,引用於 Harry Katzan & Jr., 2010 ........................ 10 圖 6:HDFS 架構圖,引用自 Hadoop 官網 ............................................ 12 圖 7:Google Docs 分享讀取檔案的方式(擷取至 Google Docs 共用文件. 政 治 大. 畫面) .................................................................................................... 15. 立. 圖 8:Linux 的檔案權限列表 ................................................................... 17. ‧ 國. 學. 圖 9:Hadoop 的檔案權限列表 ................................................................ 18 圖 10:OpenID 詳細運作圖 ...................................................................... 20. ‧. 圖 11:O’Auth 詳細運作圖 ...................................................................... 21. y. Nat. sit. 圖 12:系統環境圖.................................................................................... 24. n. al. er. io. 圖 13:系統架構圖.................................................................................... 25. i Un. v. 圖 14:帳號對應示意圖............................................................................ 27. Ch. engchi. 圖 15:系統流程圖.................................................................................... 28 圖 16:使用者案例圖................................................................................ 29 圖 17:以 socket 實作流程圖 ................................................................... 31 圖 18:以 AMQP 協定實作流程圖 .......................................................... 32 圖 19:首次使用系統及修改帳號對應流程............................................ 33 圖 20:使用者修改檔案身分認證流程.................................................... 34 圖 21:本地端同步至私有雲流程圖........................................................ 35 圖 22:公有雲檔案同步之流程................................................................ 36 v.

(10) 圖 23:Google Docs 所提供之 API .......................................................... 37 圖 24:監控模組測試流程圖.................................................................... 41 圖 25:身分認證模組測試流程圖............................................................ 42 圖 26:檔案同步模組測試流程圖............................................................ 43. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. vi. i Un. v.

(11) 第一章 1-1. 緒論. 研究背景. 雲端運算的發展為企業的資訊處理,帶來更多樣的選擇與更經濟的效益。企 業能夠使用公共雲端服務,如 Google Docs,快速地將資訊傳遞給客戶,能將資 源集中在處理資訊上,而不必費盡心力在建置網站的硬體、軟體與維護等這些工 具上。 雲端運算可分為公有雲端服務與私有雲端系統兩大範疇,一般企業的計算與. 政 治 大 如 Gmail 與 Yahoo Email立 也已經是廣為企業所採用的服務。公有雲端服務則能. 儲存需求並不龐大,較無建置私有雲端的效益。然而,公有雲端服務的電子郵件,. ‧ 國. 學. 使企業在網路的相關應用上獲得較好的支出與效益比,利用公有雲端服務時所遭 遇的問題與企業較為相關。尤其是因資訊安全所引起的實質與心理問題。. ‧. 除 Email 之外其他基於瀏覽器為介面的公有雲端服務,如 Google Docs 的. Nat. sit. y. 文件服務,從使用的便利與習慣性而言,在短期內仍無法取代目前慣用的桌上型. n. al. er. io. 應用程式。再者,由於雲端服務依賴於網路且資料文件存放於公司外部,在企業. i Un. v. 對網路效能與服務中斷的風險尚且缺乏信賴感的情況下,企業勢必仍採用內部能. Ch. engchi. 獨立運作的作業模式,而不會將公司的文件運作依賴於雲端服務。公共雲端服務 尚且在初級發展的階段,許多企業必備的雲端服務尚未成熟與完整,企業完全透 過雲端服務而運作的情況短期內亦不可能實現。但公有雲端服務仍有其效益與便 利,例如分享與隨時隨地用手機存取的功能,亦是企業希望能加以利用的功能。 在此情況下,企業將會面臨採用本地端或私有雲與雲端服務兩種模式並行的混合 環境(即混合雲)。 使用混合雲可能為企業所帶來生產力也可能為企業的檔案管理帶來混亂與 危機,而使得企業在擁抱新科技時顯得猶豫與裹足不前。混亂來自兩方面:「資 訊混亂」與「管理風險」。資訊混亂來自於企業內部檔案與公有雲端檔案之間不 1.

(12) 一致的情況,造成認知錯亂與失序。管理風險來自於企業內部的權限與公有雲端 的權限之間缺乏一致性的對應關係,使企業擔憂自己的數位資產在雲端上曝露在 非預期的閱讀(外洩)與編輯(竄改)風險。. 1-2. 研究動機. 企業在混合模式下運作時最可能遭遇的問題是資料一致性與權限一致性的 問題。資料一致性是指資料在外部雲端與公司內部之間的一致性。權限一致性是 指外部雲端資料的存取權限跟公司內部存取權限之間的一致性。在企業使用混合. 治 政 模式下運作時,將有可能發生以下三種運作模式:大 立 備份雲端資料:. 學. ‧ 國. . 例如將位於 Gmail、Hotmail 或 Yahoo Email 的郵件、Google Docs 的文件、. ‧. 投影片或試算表檔案備份回公司。這不僅是心理層面上的信賴感與安全感的問題,. 更新雲端資料:. y. sit. io. . er. 能遭受損害時。. Nat. 也是實際的需要,如企業在轉換系統服務者時,或者外部資料因帳號密碼外洩可. al. n. iv n C 將較新的文件更新到雲端服務。例如企業能利用 h e n g c h i U Google Docs. 將最新的價目. 表用發佈功能公佈給客戶,而不必建置網站與後台維護系統。但由於不適應 Google Docs 的使用介面,使用者可能寧可選擇用本地端用熟悉的辦公室軟體修 訂文件,然後再上傳。此一程序須仰賴人工作業,容易因疏忽而產生不一致的問 題。 . 更新資料權限:. 由於硬碟容量持續增加,儲存設備價格持續下降,企業將內部資料複製到雲 端儲存服務的誘因除了價格之外,共享功能也是重要因素。共享功能有兩層意義, (一)外部存取,提供內部員工於出差或拜訪客戶時,從公司外部存取。(二) 2.

(13) 客戶存取,提供非內部員工的使用者存取。當使用者從雲端存取時,使用的是雲 端使用者的身份,而內部存取時,使用的是內部認證系統的身份。完整的共享功 能也意味著在權限管理上要能達成內部與外部帳號與權限的整合。 為解決以上三種運作模式下所產生的資料一致性與權限一致性的問題, 故本論文實作出一個跨本地端與雲端的檔案與權限同步系統,並利用現行通行的 技術 OpenID 與 O’Auth,解決了認證上的 SSO 以及網路資源的存取問題。透過 實作的系統,使用者能更便利的同步公共雲端上的檔案及更新資料的權限。. 1-3. 研究目的. 立. 政 治 大. 有別於屬於傳統公共雲端的 IaaS, PaaS 與 SaaS 模式,本研究主要針對企業. ‧ 國. 學. 研究混合雲(Hybrid Cloud)的模式及其應用。研究研究目的是將企業內部系統帳. ‧. 號以及公有雲的帳號同步,以達到身分的一致,並將儲存於公司內部與外部公共. sit. y. Nat. 雲端的檔案內容與檔案權限管理同步化,達成一致性的檔案與權限。本研究的目. io. er. 的可分為下列三大主題:. al. (1). 帳號的對應:為達到以下兩大目標,以及解決企業內部系統與外部雲端. n. iv n C 帳號過多的問題,故將系統結合企業內部私有雲帳號與既有的系統帳號 hengchi U 以及公有雲的帳號作對應。. (2). 檔案內容的同步:基於保障網路安全的原則,探討文件與共享服務上的 資料備份與更新,特別針對公司內部文件檔案與 Google Docs 文件系統 之間的檔案同步。 (3). 檔案權限的同步:探討上述三種檔案同步模式下之檔案的權限管理,以 及公司內部身份、帳號、權限與外部雲端之身份、帳號與權限的同步。. 1-4. 研究流程. 本研究詳細研究流程如下圖: 3.

(14) 立. 政 治 大. n. sit. er. io. al. y. ‧. ‧ 國. 學. Nat. 圖 1:本論文研究流程. Ch. engchi. 4. i Un. v.

(15) 第二章. 文獻探討. 本章介紹雲端運算類型以及混合雲的運作模式,並探討雲端運算上會發生的 安全議題,並進一步探討 OpenID 以及 O’Auth 與檔案內容及權限同步等相關的 標準。. 雲端運算. 2-1. 雲端運算(Cloud Computing)是屬於網路的一種運作模式,有學者認為雲端運 算的前身是網格運算(Grid Computing)。在雲端運算中,客戶能將自己的程式運. 政 治 大 隨手可得,卻又不知其運作的原理。在客戶隨時需要雲端上的資訊時,只需要接 立 算、資料儲存均交由雲端運算處理,而不是在客戶電腦內執行。雲的概念就像是. ‧ 國. 學. 上網路即能取得。. 雲端運算也是一種利用虛擬化技術(Virtualization)達到資源充分利用的運作. ‧. 模式。當客戶有龐大運算需求時,只須交由雲端做運算,雲端即會將運算的份量. Nat. sit. y. 交由眾多虛擬機器執行分散式運算(Distributed Computing),高效率並快速的運算. n. al. er. io. 出客戶所需的結果,中小企業並能使用雲端凝聚化(Consolidation)達到降低所需 管理的伺服器數量,以減低更多的管理成本。. Ch. engchi. i Un. v. 在現在的網際網路運作中,當客戶想要收信時,只需要連上網路,就能利用 Gmail 收取信件。當需要備份檔案時,也可利用 Drop Box 或 Google Docs 將檔案 給儲存在雲端上,想要取用時,只需在有網路的電腦上即可輕鬆取回。雖然使用 者並不知道信件、檔案存在雲端上的何處,卻能隨時輕鬆地取回檔案。這種運作 的概念即是雲端運算。. 2-1.1. 雲端運算類型. 雲端運算依其提供服務的方式又可大致分為三種,軟體即服務(Software 5.

(16) as a Service, SaaS)、平台即服務(Platform as a Service, PaaS)、基礎設施即服務 (Infrastructure as a Service, IaaS)。以下將介紹此三種服務的運作及應用例子: (1). 軟體即服務(SaaS) SaaS 提供服務的方式就好像軟體一樣,服務提供商(Service Provider)提供的 服務就有如軟體一般,能提供使用者軟體應用的服務。例如:Google Docs、 Salesforce.com。 (2). 平台即服務(PaaS) PaaS 提供的服務方式就好像平台一樣,使用者能藉著服務提供商所提供的. 政 治 大 有率、CPU 使用度……等等介面供使用者管理。例如:Google App Engine、 立 平台,將自己寫好的軟體佈署上去。而服務提供商也提供管理軟體的儲存空間佔. ‧ 國. (3). 基礎設施即服務(IaaS). 學. Windows Azure、Hadoop 建置出的私有雲環境亦屬之。. ‧. IaaS 提供服務的方式比較特別,對使用者就有如一個龐大的機房在雲端上,. sit. y. Nat. 當使用者需要機器運作時,即可向服務提供商申請,就好像立即獲得了一台機器. n. al. er. io. 可以運作。IaaS 實作的方式是利用虛擬化的技術,使用者可利用供應商提供的介. i Un. v. 面管理機器,而當機器運作超過特定的程度時,也能達到即時擴充的效果。例如: Amazon EC2、S3。. 2-1.2. Ch. engchi. 雲端運算種類. 雲端運算依照所擁有的種類大致可以分成三種,分別是公有雲(Public Cloud)、私有雲(Private Cloud)及混合雲(Hybrid Cloud)。以下分別對此三種雲端 運算種類做介紹: (1). 公有雲(Public Cloud) 由雲端服務提供商提供服務給大眾使用稱之為公有雲,公有雲上的服務在一 6.

(17) 定的使用額度內為免費使用,因此一般民眾只需向服務供應商註冊帳號後即可使 用公有雲上的服務。這種無論何時,隨時隨地均可獲得服務的方式普遍讓大眾接 受,也因此,公有雲為最常見普遍的雲端種類。例如:Google Docs、Google App Engine。 企業也可將自己的機房、資料中心佈署上公有雲,以減少企業內的機器管理、 營運成本,並將所有的管理成本交由公有雲的供應商來承擔,增加更高度的服務 可靠度。例如:Google Apps、Windows Azure、Amazon EC2、Amazon S3 均屬於 此類。. 政 治 大 由於企業擔心將企業相關資料佈署上公有雲有資訊安全的疑慮,因此建構私 立 (2). 私有雲(Private Cloud). ‧ 國. 學. 有雲在企業組織的網路內。透過虛擬化的技術減少硬體上的需求,進而達到建構 私有雲,私有雲也可由雲端服務提供商提供建立在企業私有網路內。私有雲在企. ‧. 業內部建構方式及運作均不相同,企業能藉著建構出的私有雲達到資料備份. sit. y. Nat. (Data Backup)、系統備援(System Redundancy)的效果,亦能提高服務的效率以及. n. al. er. io. 可靠程度。例如:利用 Apache Hadoop 能建構出私有雲的系統。 (3). 混合雲(Hybrid Cloud). Ch. engchi. i Un. v. 混合雲為企業跨公有雲及私有雲環境,比起公有雲及私有雲的環境,企業更 能有效的管理好各別的資源,例如利用公有雲 Amazon EC2 做運算,而將較敏感 的資源與資料存放在企業內部的資料中心或私有雲上。混合雲雖然比公有雲更安 全,且建構成本比私有雲較來的低,但是運作的方式卻更為複雜。企業在發產混 合雲時,應該慎重考慮哪些系統運作資源應放置在公有雲或私有雲上,而哪些較 敏感的資料應放置在企業內的資料中心或私有雲中。. 7.

(18) 圖 2:雲端種類的示意圖. 學. 議題. ‧ 國. 2-1.3. 政 治 大 雲端運算之認證安全、授權控制與檔案同步等相關安全 立 ‧. 本 章 節 將 探 討 雲 端 運 算 的 認 證 安 全 (Authentication) 、 存 取 控 制. y. sit. io. er. 訊安全的問題。. Nat. (Authorization)與檔案同步(File Synchronization)等企業在使用雲端時可能遇到資. al. (1). 認證安全(Authentication). n. iv n C  在使用雲端平台時,常常會運用到跨網站登入的方式,一般跨網站 hengchi U. 的單一登入認證又可分為最普遍的兩種: UID (Unique Identify)以及 CA(Centralized Authentication) (謝乙誠、尤淑芬, 2009)。 CA 的認證方式較單純,簡單來說就是系統本身不做身分驗證工作,而將身 分驗證工作均轉移到驗證伺服器上,詳細流程如下圖 3 所示:. 8.

(19) 立. 政 治 大. ‧ 國. 學.  圖 3:CA 驗證流程,引用自謝乙誠、尤淑芬, 2009. ‧. UID 的認證方式較複雜但也較安全,利用一次性的 token 來達到身分驗證。. n. al. er. io. sit. y. Nat. 並在 token 加入時戳變數,避免此 token 遭人盜用,詳細流程圖如下圖 4:. Ch. engchi. i Un. v.  圖 4:UID 驗證流程,引用自謝乙誠、尤淑芬, 2009 9.

(20) 在使用公有雲的雲端系統中,雲端供應商通常都會提供單一登入 (Single-Sign-On, SSO)認證方式,而此種驗證身分的方式與上述類似。這代表著 使用者必須透過雲端供應商所提供的登入介面登入至雲端平台後,才能繼續使用 相關的服務(如圖 3 上圖)。而當雲端上的服務需要帳號認證時,使用者透過雲端 平台的認證,雲端平台就會產生一個 Token 送至服務認證伺服器,進而達到單一 登入的效果(如圖 3 下圖)。(Harry Katzan & Jr., 2010). 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 5:雲端認證方式,引用於 Harry Katzan & Jr., 2010. 私有雲的運作皆在企業網路內,因此遇到的認證問題通常較單純,例如:忘 記密碼、同時登入……等較單純的狀況。混合雲在運作時可能遇到較嚴重的問題, 當企業內部員工需要登入混合雲整個系統時,將會面臨無法單一登入(SSO)的狀 況。因此,結合公有雲及私有雲的混合雲登入認證即是一個重要的安全議題。. 10.

(21) (2). 授權控制(Authorization) 在公有雲的存取控制中,通常伴隨著認證安全。使用者或企業在登入雲端平 台之後才能進行資料或資訊的存取控制,也才能藉由服務供應商管理屬於自己的 資源或授權給與其他使用者。 在混合雲的存取控制中,常常伴隨著權限不一致的狀況,例如:在私有雲或 資料中心中,檔案的權限與公有雲檔案的權限不一致,而導致企業的員工因為權 限不一致而無法確實的使用公有雲上的資源。 在實作上,授權控制往往利用 ACL(Access Control List),Google App、檔案. 政 治 大. 系統以及 vShield 等均是透過 ACL 來達到授權控制。透過每個檔案的 ACL 來紀. 立. 學. ‧ 國. 錄使用者的權限。. (3). 檔案同步(File Synchronization). ‧. 在企業或個人使用公有雲時,檔案不同步是通常的狀況。在使用者使用公有. sit. y. Nat. 雲時,電腦內的檔案與雲端上的檔案不一致,而使用者通常藉著雲端做備份(Back. n. al. er. io. Up)的動作,若不按時執行此動作,常發生忘記備份而遺失檔案的情況。企業則. i Un. v. 是會發生公有雲以及私有雲檔案不一致的問題,而無法達到備份的強大損失。再. Ch. engchi. 者,當資料與資訊更新時,檔案的不同步問題也亦然發生,若需隨時靠著人工方 式達到同步,則太消耗企業的人力且容易出錯。因此,檔案不同步的問題也是在 混合雲運作中不容小覷的一個重要議題。 在實作上,檔案同步均是將欲同步之檔案切割成許多小塊的分割檔案,並將 更改後的部分同步至檔案同步的目的地,並能藉此做到檔案的版本控制。Dropbox 以及 Hadoop Replication 均有實作此檔案同步之方法,另外在 Linux 及 Unix 作業 系統上的套件 rsync 也利用類似的方法來達到檔案同步。本研究在實作系統時則 透過檔案的取代來達到檔案同步,並且為了儲存的效率,不另外實作檔案版本控 管。 11.

(22) 2-2. Hadoop Distribute File Systems (HDFS). Hadoop 為 Apache 軟體基金會 旗下的一個計畫,是為了開發一套提供可靠性 (reliable), 延 展 性 (scalable) 以 及 分 散 式 計 算 (distributed computing) 的 公 開 軟 體 (Open Source), 目前包括下列子計畫: . Hadoop Common: 用來支援其他 Hadoop 計畫的最基本的原件。. . HDFS: 支援應用程式高效率存取的分散式檔案系統. . MapReduce: 能夠運作在大型叢集上且平行處理大型資料的軟體運作方 式。. 政 治 大. HDFS 為實現類似 Google File System(GFS)的子計畫,目的為對大量資料進. 立. 行分析且易於擴充的分散式檔案系統,能運作於廉價的普通硬體上,又可容錯,. ‧ 國. 學. 提供客戶總體性能較高的服務,下圖為 HDFS 運作圖。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 6:HDFS 架構圖,引用自 Hadoop 官網. HDFS 利用 master/slave 機制分為 Namenode 與 Datanode 管理資料,Namenode 儲存主要的 Metadata,Datanode 則儲存大小不一檔案 Blocks,當使用者需要對檔 12.

(23) 案進行新增、刪除、修改及讀取檔案時,均須訪問 Namenode 已取得所屬檔案的 Blocks 在哪個 Datanode,在藉由訪問 Datanode 已取得完整的檔案。 HDFS 亦提供一些機制達到可靠性、檔案一致性、效能控制,讓儲存資料更 具有安全性及增加管理的效率,下表列出相關機制並說明之:. 表 1:HDFS 所提供的管理安全機制 提供的機制. 可能遇到的問題. 可靠性機制 資料完整性. 運作的方式. 資 料 錯 誤 或 資 料 利用 CRC32 檢測資料是否錯誤。 崩毀 提供資料副本取代出錯資料. 心 跳 機 制 Datanode 失效或網 Datanode 定 期 向 Namenode 送 路問題 (Heartbeat) heartbeat Namenode 錯誤 提供 FSImage、Editlog 為備份的核心 Metadata 印象檔及日誌檔 多份儲存 Namenode 錯誤時能手動復 原. 立. ‧ 國. 分 散 式 檔 案 系 統 新增、刪除、修改及讀取檔案皆由 存取不一. Datanode 忙碌程度 以 Block 為檔案儲存的最小單位(64M) 不一 每個 Block 均勻分散在各個 Datanode 以分散讀取流量. sit. n. al. er. io. 2-3. Namenode 負責. y. 效能平衡控制. ‧. 檔案一致姓. Nat. 效能控制. 學. 一致姓. 政 治 大. Ch. VMware vShield. engchi. i Un. v. VMware 為虛擬機器常用平台之一,而使用者能利用 VMware vShield 解決 方案保護虛擬機器上的資料安全。並利用所提供支援虛擬化技術的虛擬資料中心 與雲端環境保護,提升整個組織的可視性和控管並加速符合 IT 規範。其中, VMware vShield 包含:  VMware vShield App:針對網路威脅提供應用程式保護  VMware vShield Edge:全面網路安全  VMware vShield Endpoint:卸載和簡化防毒  VMware vShield Zones:網路威脅的基礎保護  VMware vShield Manager:完整的安全性管理 13.

(24) 利用 VMware vShield 保護雲端環境能藉此達到更安全的虛擬機器環境。虛 擬機在主機之間移動時,配接卡安全會隨著虛擬機移動,提供虛擬機在動態雲端 環境中的安全支援。如此應用程式才能有效率地執行,同時保持使用者和敏感資 料的可信度與網路流量。並能在單一完整架構利用與 VMware vCenter Server 整 合的管理架構,保護所有層級的虛擬資料中心和雲端環境,這些層級包括與內主 機、網路、應用程式、資料和端點。藉由整合安全性基礎架構,排除與軟體代理 程式、安全性原則、專用安全性裝置的蔓延,並利用 VMware vShield 為解決方 案建立「氣隙防火牆」,降低端點、應用程式和周邊網路安全的複雜度。. 政 治 大 有效率地找出難以偵測的問題,同時控制檔案完整性監控、Rootkit 保護和資料 立 利用 VMware vShield 和 vSphere 平台特有的內部檢查功能,協助精確並. ‧ 國. 學. 外洩防護。透過 REST API,vShield 能與現有企業 IT 安全性防護工具共同運 作。能自訂整合 vShield 功能與協力廠商安全性解決方案,包括現有防毒和惡意. ‧. 程式清理解決方案。. sit. y. Nat. er. 檔案系統與檔案權限. io. 2-4. al. n. iv n C 在實作本系統前,必需對各端的檔案控管方式以及帳號登入方式有所了解, hengchi U 因此在此章節下依序對公有雲(Google Docs)、私有雲(Hadoop)以及本地端(Linux) 的帳號以及檔案資源、控管權限方式介紹,並將在最後討論權限同步的相關安全 問題。. 2-4.1. Google Docs 帳號與檔案權限控管. 企業希望使用 Google 所提供的公有雲環境時,可利用企業所擁有的網域名 稱(Domain name)向 Google 申請使用 Google Apps,之後使用 Google Apps 後均以 此網域名稱為帳號使用相關的應用服務。例如:企業向 Google 申請使用公有雲 14.

(25) 服務,並利用域名 www.nccu.edu.tw 申請,便可使用 Google Apps。若經 Google 驗制後為域名的管理者,則可以新增使用者。新增後的使用者就能利用 [email protected] 帳號使用 Google Apps。關於 Google Docs 的檔案管理方 式,與一般作業系統類似。使用者上傳的檔案,上傳者均擁有最大權限且是擁有 者。擁有者可將檔案分享給其他使用者,分享類型包含給予讀取檔案(read)的權 限以及存取檔案(write)的權限。若上傳的檔案不為文件,則讀取檔案權限亦為可 下載檔案的權限。而分享讀取檔案權限的方式如下圖:. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 7:Google Docs 分享讀取檔案的方式(擷取至 Google Docs 共用文件 畫面). (1). 公開在網路上:所有人均可以搜尋到且可觀看文件內容或下載檔案。 (2). 擁有連結的使用者:擁有者可藉著 Google Docs 將此文件/檔案的連結網 址,分享給所欲分享的他人,擁有者也可改變文件/檔案的連結,缺點 就是擁有此連結的使用者可馬上分享此連結給其他人觀看。 (3). 在企業內部分享此文件/檔案:只要是在企業內部的使用者,均可以搜. 15.

(26) 尋到此份文件/檔案。 (4). 在企業內部且擁有連結的使用者:與上述(2)類似,不過使用者必須是 企業內部的使用者才可以讀取文件/檔案。同樣的,擁有者一樣可以改 變文件/檔案連結。 (5). 私人:只有擁有者設定可存取的使用者才能存取此文件/檔案,擁有者 設定企業外部使用者可以存取也是被允許的,不過被設定的使用者至少 必須要有 Google 帳號。 另外擁有者可以設定編寫(write)文件的權限,設定的方式包含三種:所有人、. 政 治 大 編寫者是否有權利改變文件/檔案的權限。 立. 企業內部及指定使用者,對文件/檔案能存取的使用者必然也能讀取,亦可設定. ‧ 國. 學. Google Docs 利用網址以及企業網域的方式,有效的控管 Google Docs 內的 文件與檔案,並利用存取檔案權限大於讀取檔案權限的方式,讓擁有者可將文件. ‧. /檔案分享給其他使用者,且利用可更改的檔案連結分享方式,達到有效的授權. Linuxa與 iv l Hadoop 的檔案權限表達方式. n. 2-4.2. er. io. sit. y. Nat. 控管。. Ch. n engchi U. Linux 與 Hadoop 的檔案權限管理方式相同,均分為擁有者(Owner)、群組 (Group)與其他(Others)三種管理方式。Linux 與 Hadoop 列出的檔案權限如下圖:. 16.

(27) 政 治 大. 圖 8:Linux 的檔案權限列表. 立. ‧ 國. -l"指令後,即能看見所在資料夾下的完整內. 學. 當使用者在 Console 下了"ls. 容,以下將分別介紹上圖標號所代表的意義。. ‧. 檔案的權限與類別:首要英文字代表為何種檔案類型,例如首要英文字為". sit. y. Nat. d"代表為資料夾。之後的英文數字每三個一組,分別代表著擁有者、群組以及. n. al. er. io. 其他使用者的權限,以上圖為例,drwxr-xr-x 即代表著該檔案為資料夾,擁有者. i Un. v. 擁有讀取、寫入的權限,群組及其他的使用者擁有讀取的權限,”x”代表著執行. Ch. engchi. 或成為工作目錄,在此不加以討論。. (1). 檔案的擁有者:代表著檔案的擁有者為何人。 (2). 檔案的群組:代表著檔案的權組為何。 (3). 檔案的大小:檔案的大小為何。 (4). 修改的日期:檔案修改的最後日期。 (5). 路徑:檔案的路徑為何。. 17.

(28) 圖 9:Hadoop 的檔案權限列表. 政 治 大 Namenode 就會列出 HDFS 中的檔案詳細資訊,以下將介紹上圖代表的意義: 立. 當使用者在 Hadoop 的 Namenode 的電腦上下了"hadoop fs –ls "指令時,. ‧ 國. 學. (1). 檔案的權限:如上述 Linux 所代表的檔案權限。. (2). 檔案副本數:在 HDFS 中的檔案,均有檔案的副本存在,預設值為 3。. ‧. (3). 檔案的擁有者:代表檔案的擁有者為何。. n. i Un. (6). 檔案存取的時間:代表檔案的存取時間。. Ch. engchi. er. io. (5). 檔案的大小:代表檔案的大小為何。. al. y. sit. Nat. (4). 檔案所屬的群組:代表檔案的所屬群組為何。. v. (7). 檔案在 HDFS 的完整路徑:檔案在 HDFS 的完整路徑為何。. 2-4.3. 權限同步的風險及問題. 同步使用者權限是一個具有風險的功能,如果檔案的擁有者授權其他使用者 可以更改檔案內容的權限,那麼則有可能更容易造成檔案的內容混亂,且在同步 權限時,又有更多相關的問題因此產生,例如:擁有者授權使用者刪除之權限, 使用者認為該檔案不需要保留而將之刪除,再藉由檔案的同步導致該檔案經過授 權則不需經過擁有者的同意即可刪除,那麼檔案的授權即變成必須非常小心的動 18.

(29) 作。因此,使用者權限的同步與否即是本研究一項討論的重點。 權限的同步又可細分為完全權限同步及部分權限同步,以下將詳敘兩者之優 缺點: 完全同步權限即是指擁有者或使用者在改變權限之後,系統即將該檔案在公 私有雲的權限做更改,其優點為便利性,可讓擁有授權權限的使用者不需再多耗 費時間修改權限;缺點則為安全性,可能經過系統的權限同步後,而授權給不想 授權的使用者,也因此造成檔案擁有者的困擾。 部分權限同步是指在權限上做授權風險的判定,而只採取部分權限的同步,. 政 治 大 刪除"權限而造成的風險。其優點為可以避免因錯誤授權而造成的資訊混亂,缺 立. 例如:授權"刪除"風險太高,因此在同步檔案權限時,即可以避免錯誤授權". ‧ 國. 學. 點則為造成使用者的不便利性,且會因為沒有修改檔案內容的權限而造成檔案的 重複但擁有者不同的狀況。. ‧. 因此,本研究為考量權限同步的安全,在實作權限同步的功能上將採與部分. sit. n. al. er. io. 擾。. y. Nat. 權限同步,讓擁有者有最高權限,但又不因對其他使用者授權造成擁有者的困. 2-5. Ch. OpenID 與 O’Authe n g c h i. i Un. v. OpenID 與 O’Auth 分別是在網路上的身分認證(Authentication)以及權限授權 (Authorization)的認證標準,在實作系統時會透過兩種標準來達到公有雲的身分 認證以及服務授權,因此以下章節將探討此兩種標準。. 2-5.1. OpenID. OpenID 是為了解決不能單一點登入(SSO)問題而生的一種開放標準,使用者 只需要藉著一組 OpenID 的帳號密碼認證,就可以在其他需要帳號認證的網站進 19.

(30) 行登入,並使用其服務。OpenID 最大的好處就是不需要記住每個網站的帳號密 碼。提供 OpenID 的認證為 OpenID 供應方(OpenID Provider, OP),能藉著 OpenID 登入網站的稱為依賴方(Relying Party,RP)。例如:使用者從 OP 方申請到 OpenID 後,能藉者此一組 OpenID 帳號密碼登入到他方 RP 中使用服務。 OpenID 的運作方式如下圖:. 立. 政 治 大. ‧. ‧ 國. 學 er. io. sit. y. Nat. n. a l 圖 10:OpenID 詳細運作圖 iv n Ch engchi U. 以下將依序介紹圖中運作方式的動作: (1). 申請 OpenID (2). 用 OpenID 登入 (3). 認證 OpenID 是否合法 (4). 要求使用者輸入密碼 (5). 使用者輸入密碼 (6). 認證成功或失敗. 20.

(31) 2-5.2. O’Auth. O’Auth 與 OpenID 不同,但很容易混淆。O’Auth 能提供第三方網站透 過 O’Auth API 存取資源而不給予帳號密碼。提供 O’Auth 服務的稱為服務提供方 (Service Provider,SP),使用者使用的第三方網站稱為客戶端。例如:使用者在客 戶端網站希望存取 SP 的內容資源,而藉著 SP 所提供的 O’Auth API 存取而不告 知客戶端帳號密碼。. O’Auth 的運作方式如下圖:. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 11:O’Auth 詳細運作圖. 以下將依序介紹圖中運作方式的動作: (1). 使用者在客戶端希望存取 SP 資源 (2). 客戶端向 SP 申請存取需求 (3). SP 給予客戶端臨時存取 token,並將使用者導到 SP 網站認證 (4). 使用者登入 SP 帳號密碼 21.

(32) (5). SP 給予使用者存取 token,並將使用者導到客戶端 (6). 使用者決定是否允許客戶端存取 SP 資源,允許後客戶端獲得存取 token (7). 使用者能藉著客戶端存取 SP 資源. 2-5.3. OpenID 與 O’Auth 之分際. OpenID 與 O’Auth 的差別在於,使用者使用 OpenID 能確實讓每個網站都認 證出使用者的身分,與認證安全較有關。O’Auth 則是讓使用者能不確切的告訴 第三方網站帳號密碼而存取到遠端的資源,與授權安全較有關。OpenID 與 O’Auth. 治 政 大 並沒有確切的關係,因此,現在網站大多同時提供兩種混合運作的方式,達到單 立 一點登入以及授權相關的認證。. ‧. ‧ 國. 學. 2-6. 小結. y. Nat. er. io. sit. 企業在混合雲運作的模式下儲存檔案,即會造成檔案不一致、檔案權限不一 致及過多帳號不方便控管的等等問題。因此,本研究為解決上述問題,實作一跨. n. al. Ch. i Un. v. 公有雲、私有雲及本地端之檔案權限及內容控管系統,系統主要功能包括下列主 要三項:. engchi. (1). 檔案的同步: 為解決檔案公有雲及私有雲或本地端的不一致問題,系統必須在檔案內容有 變更時,同步至其他尚未變更的地方。 (2). 權限的同步: 在權限的同步上,本系統採用部分同步的方式,讓擁有者擁有最高權限,但 授權的使用者將只有讀取/下載的權限,以此種部份權限同步的方式解決檔案內 容混亂的狀況。在實作上,權限的同步將與 O’Auth 有關,透過 O’Auth 達到改 變其他端檔案權限的改變。 22.

(33) (3). 身分驗證: 在使用系統時能確認使用者的身分,但又不需多記一組系統帳號增加使用者 的困擾。因此在本功能的實作上參考 OpenID 之作法,讓不同的帳號達到身分一 致的認證。而在系統內部達到透過帳號的對應來達到身分一致。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 23. i Un. v.

(34) 第三章 3-1. 系統設計與架構. 系統概述. 為解決企業在使用混合雲會遇到的帳號認證以及檔案與權限不同的問題,本 研究將實作出系統模擬解決此問題。系統分為三大部分:公有雲、私有雲以及本 地端。公有雲以 Google Docs 為例,並利用 Hadoop 架構出私有雲相關環境,為 考慮企業使用雲端系統時,並非企業內部擁有私有雲,而可能是資料中心,故在 研究階段時暫以本地端電腦為例。系統並提供身分同步的功能,以便模擬企業利. 政 治 大. 用公有雲時,所需處理的帳號認證相關問題。. 立 系統環境. ‧. ‧ 國. 學. io. sit. y. Nat. n. al. er. 3-2. Ch. engchi. i Un. 圖 12:系統環境圖. 24. v.

(35) 本系統共分為三大部分,公有雲、私有雲、本地端,下表說明各端採用的環 境: 表 2:本系統採用之各端環境說明 公有雲 說明. 私有雲. 本地端. 以公有雲服務 Google 以 Hadoop 私有雲系統為 Docs 為例,記錄企業 例,HDFS 將檔案分散於 常用的文字編輯相關 各個 Datanode 間 檔案. 以 Linux 系 統 ubuntu 10.04 為例。為模擬企業 資料中心儲存伺服器,故 採用 Linux-base 系統. 軟硬體環境 Google 公共雲端環境 以虛擬化技術創建 3-5 台 CPU:Intel(R) Core(TM) 虛擬機器,並以 Hadoop 2 Quad CPU Q8400 @ 架構出私有雲 2.66GHz RAM:DDR3 1333 2GB. 立. 政 治 大. 500G 作業系統: Ubuntu 10.4. ‧. ‧ 國. 學. 系統架構. n. al. er. io. sit. y. Nat. 3-3. HD:WD 7200 轉 3.5 吋. Ch. engchi. i Un. v. 圖 13:系統架構圖. 系統架構如上圖。使用者可藉著登入系統管理私有雲以及本地端某一資料夾 25.

(36) 之檔案與資源,並藉著系統帳號對應之功能,管理與系統帳號相對應之 Google 帳號內的 Google Docs 檔案。使用者也可不藉由系統對檔案與資源做更改,之後 監控模組通知系統做更改的狀況,使用者可再登入系統做同步的管理。以下就各 模組功能及運作方式做詳細的描述:. . 網站:. 網站用來給予使用者做帳號登入及管理帳號對應資訊用,並且用來顯示各端 檔案內容及檔案權限用。. 政 治 大 認證模組專門接受帳號以及密碼的資訊,讓使用者給予不同的帳號也能識別 立 . 認證模組:. ‧ 國. 學. 該使用者為同一身分,其中記錄著帳號對應的資訊以及認證是否為合法使用者。 . 同步模組:. ‧. 用來接收檔案變更通知及發布檔案同步給其他客戶端,其中這部分另外會處. sit. . y. Nat. 理檔案重複同步的狀況。. n. al. er. io. 監控模組(私有雲及本地端):. i Un. v. 負責發送及接收檔案同步之通知,以及負責傳達系統訊息給與使用者。. 3-4. Ch. engchi. 系統帳號與各端帳號的管理及同步. 為達到檔案權限與檔案內容同步化的功能,必須先達到系統帳號以及公有雲 帳號、私有雲帳號或本地端帳號之身分同步,並讓使用者登入系統並不限定於使 用何種帳號登入,而能使用任一帳號登入系統,以方便管理公有雲、私有雲或本 地端的檔案。在系統內會記錄系統帳號與各端的帳號資訊,並且提供帳號管理功 能管理新增或移除系統帳號與各端帳號對應關係,如下圖:. 26.

(37) 政 治 大. 圖 14:帳號對應示意圖. 立. ‧ 國. 學. 使用者首次使用系統時,必需提供所擁有的 Linux、Hadoop 或 Google 的帳 號,讓系統能產生帳號對應之資訊,例如上圖:使用者提供自己所擁有的帳號. ‧. L1、H2 與 G3,系統則將這些帳號對應至 U1 之中。為了避免使用者多耗費心力. sit. y. Nat. 牢記系統之帳號密碼,系統的帳號對應資訊並不會讓使用者得知,因此,使用者. n. al. er. io. 並不知道系統帳號 U1 之存在。之後若使用者須再次登入系統,即可以使用任一. i Un. v. 帳號登入系統中,而能藉由系統紀錄的帳號對應資訊,使用其他帳號與密碼(L1、 H2 或 G3)登入系統中。. Ch. engchi. 27.

(38) 3-5. 系統流程. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. v. 圖 15:系統流程圖. 使用者在登入系統後,可藉由使用者介面管理自己帳號的對應,可新增或刪 除所要對應的公有雲、私有雲及本地端的帳號。並可透過使用者介面觀看出在公 有雲、私有雲以及本地端有哪些檔案資源與檔案權限,有效的管理公有雲、私有 雲或本地端的檔案資源以及權限,而當使用者改變監控之資料夾的檔案資源時, 則能選擇是否同步到其他端,直到使用者登出系統。 28.

(39) 使用者特性. 3-6. 本系統使用者為中小企業公司的主管階級,主要願意將本地資源發布至雲端 上及方便本地端資源控管,需具備一般電腦操作能力及使用公有雲相關服務者。. 操作概念. 3-7. 使用者使用案例如下圖:. 政 治 大. 立. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i Un. 圖 16:使用者案例圖 使用者案例圖如下說明:  . Name:認證模組. . Actor: User. . Goal: 確認是否為合法使用者. Step: 29. v.

(40) 表 3: 對認證膜組之使用案例圖 Actor actions:. System responses:. 1.使用者提供帳號密碼. 2.系統回應通過帳號認證之通知與結果  . Name: 檔案內容的同步. . Actor: Owner / 擁有者. . Goal: 改變檔案內容. 政 治 大 表 4:對檔案同步之使用案例圖 立. Step:. System responses:. ‧ 國. 學. Actor actions:. 1.擁有寫入權限的使用者. ‧. Nat. y. sit. n. al. er. 研究限制. io. 3-8. 2.系統回覆同步狀況. Ch. engchi. i Un. v. 本研究為解決企業採用混合雲時可能發生的檔案內容與檔案權限不同步以 及內部帳號與雲端帳號同步之問題,故在同步檔案內容與權限時不考慮傳輸上的 安全問題(監控、同步目的端被竄改等等)。另外本實作之系統假設架構於企業內 部,故在實作本系統時也暫不考慮外部入侵(如:使用者帳號被盜、系統遭駭客 入侵)等等的相關安全問題。 另外由於公有雲環境之限制,故無法針對公有雲上的檔案內容的改變,同步 至私有雲端及本地端。而若是將私有雲及本地端同步至公有雲上,必須通過公有 雲提供商之身分認證,即透過本系統網站登入頁面處理使用者公有雲上之帳號資 料以及提供管理帳號資訊,並用來顯示使用者在各端的檔案資源為何。 30.

(41) 第四章. 系統開發與實作. 為達到安全且穩定的檔案同步方式,故在通訊的協定上,採用 AMQP 所實 作之 Rabbit MQ 套件。利用 Message Queue 來達到即使同步的接受端發生狀況時, 能自動的達成未執行之工作項目。. 4-1. 私有雲及本地端系統傳訊之方法. 在檔案同步的傳輸方式上,原先以 socket 檔案傳輸為主,不過在經過實作之. 政 治 大. 後,還是以 AMQP 協定的實作為主。此章節將討論以以上兩種在處理檔案同步. 立. 時傳輸檔案的優點與缺點。. ‧ 國. 學. 4-1.1. 以 Socket 實作檔案同步. ‧ sit. y. Nat. 流程如下所述,實作一個自動產稱檔案及目錄之程式,時時變更由監控模組. io. er. 所監控的資料夾,執行檔案及資料夾的新增、刪除及修改,每個指令中間間斷 5. al. iv n C hengchi U 步模組即會改變自己的資料夾與檔案內容。而當需要監控模組上傳時,集會發送 n. 秒。當每執行一個指令,監控模組即會發送通知給系統的檔案同步模組,檔案同. socket 資訊給監控模組,最後再由監控模組將該檔案上傳,詳細流程如下圖。. 圖 17:以 socket 實作流程圖 (1). 變更程式修改檔案或資料夾內容。 (2). 監控模組發送修改通知給同步模組。 (3). 若需由監控模組上傳檔案,同步模組發送 socket 資訊給予監控模組。 31.

(42) (4). 監控模組接收到 socket 資訊,則開始上傳檔案。 優點:傳輸快且穩定。缺點:不可同時處理訊息的傳輸及檔案的傳輸。若斷 線要回復續傳不易,同時處理超過一個檔案的同步時,速度較慢。. 4-1.2. 以 AMQP 實作檔案同步. 在系統傳輸訊息上用 Message Queue 的方式傳輸,其作法為發送端將訊息先 傳入 Message Queue 內,而接受端則在能處理的時間執行訊息的接收。當需要將 檔案上傳至系統時,則監控模組將檔案內容轉成訊息後傳送。實作利用 Message. 治 政 大 Queue 的作法也能解決斷線後同步的續傳及超過一個檔案同時進行同步的問題, 立 詳細流程如下圖。. ‧. ‧ 國. 學. io. sit. y. Nat. n. al. er. 圖 18:以 AMQP 協定實作流程圖. Ch. (1). 變更程式修改檔案或資料夾內容。. engchi. i Un. v. (2). 監控模組發送修改訊息給同步模組,若為檔案內容的修改,則將檔案內容 轉成訊息一併傳出。 (3). 同步模組從 Message Queue 接受修改訊息,若若為檔案內容的修改,則將 檔案內容寫入。 優點:在 Message Queue 內可同時並存檔案內容及通知的訊息;可解決斷線 後的續傳、伺服器當機等等的問題;可讓接收端處理不同的檔案同步。缺點:需 要將檔案的內容轉成訊息傳輸。. 32.

(43) 4-2. 系統身分認證之實作. 當使用者登入系統時,系統會給予使用者某一特定身分,而在系統內部該使 用者就運用該身分使用系統。例如使用者 A 利用任一帳號登入至系統內部,系 統及給予 User A 之身分識別;在系統內部即利用 User A 識別,而不再使用該端 點的帳號認證。 身分認證之實作主要為了讓使用者能更方便的將檔案資源同步至公有雲上, 也因此將公有雲、私有雲及本地端帳號連結再一起,讓使用者能更方便的登入至 系統。. 立. 使用者對系統註冊並認領帳號. ‧ 國. 學. 4-2.1. 政 治 大. ‧. 使用者首次使用系統時,便會向系統執行帳號認領之動作。使用者提供基本 的個人資訊並填入各端的帳號密碼,系統則利用使用者提供的資訊在私有雲及本. y. Nat. n. al. er. io. 授權。流程圖如下圖:. sit. 地端作基本的身分認證,接著透過 OpenID 與 O’Auth 讓 Google 對系統該帳號的. Ch. engchi. i Un. v. 圖 19:首次使用系統及修改帳號對應流程 (1). 使用者新增或刪除對應之帳號與密碼。 (2). 網站接受後給予系統認證模組。 (3). 系統認證模組與私有雲及本地端認證成功後傳回成功訊息。. 4-2.2. 使用者改變檔案內容之認證 33.

(44) 使用者透過私有雲或本地端帳號修改檔案內容完成時,監控檔案模組會先將 使用者帳號與密碼傳達給認證模組,確認是合法使用者後,系統認證模組即會告 知檔案同步模組開始進行同步,流程圖如下:. 政 治 大. 圖 20:使用者修改檔案身分認證流程. 立. (1). 使用者修改檔案或資料夾內容。. ‧ 國. 學. (2). 監控模組給予系統使用者帳號、密碼及欲修改檔案的路徑。 (3). 系統認證模組認證為合法使用者並告知檔案同步模組開始進行同步。. ‧ y. Nat. io. sit. 系統與私有雲(Hadoop)及本地端檔案同步之實作. n. al. er. 4-3. i Un. v. 系統接收到監控模組的通知時即進行檔案內容的同步,同步的過程是即時的,. Ch. engchi. 也就是當使用者作一連串的改變時,系統驗證後是合法的使用者,則系統就將改 變的狀況一項一項同步至其他端。本章節將詳述私有雲檔案與本地端檔案同步方 式與詳細流程。 使用者在改變檔案/資料夾時,檔案監控模組則回發送訊息給系統的認證模 組,此訊息包含了"修改時間"、"修改方式"、"檔案路徑"、"使用者帳號 "以及"檔案內容",當認證模組接收到後即進行身分認證,像使用者索取帳號 之密碼,使用者提供密碼認證為合法使用者後,系統的同步模組才執行接收的修 改訊息改變檔案內容及結構,直到系統端也修改完成後,同步模組再同步至另一 端,下圖以本地端同步至私有雲端為例: 34.

(45) 政 治 大. 立. 圖 21:本地端同步至私有雲流程圖. ‧ 國. 學. (1). 使用者修改檔案內容。. (2). 監控模組將修改訊息及使用者帳號發送給系統。. ‧. Nat. sit. (4). 系統同步完成後,將同步訊息發送至私有雲端。. y. (3). 認證為合法使用者,則檔案同步模組開始執行同步動作。. n. al. er. io. 在私有雲及本地端之檔案同步為考慮使用者之便利性,故不另外執行身分認. i Un. v. 證之工作。認證模組接收由監控模組所發送之訊息後,指經由帳號比對來確認是 否為合法系統使用者。. 4-4. Ch. engchi. 系統與公有雲(Google Docs)檔案同步之實作. 由於在公有雲之檔案內容改變無法不透過公有雲提供商的通知而得知,故本 系統無法處理當公有雲檔案內容改變之後同步到私有雲及本地端的狀況。因此本 章節將詳述由本地端或私有雲發生系統改變時,同步到公有雲之情況。 系統接受到檔案變更之通知後,將會與 Google Docs 要求存取之權限。利用 使用者所提供之 Google 帳號進行 Google App 之認證與授權。 35.

(46) 當系統必須同步至公有雲時,系統會利用使用者所提供之 Google 帳號,向 Google Account Server 進行第一次的帳號認證,當認證成功後。Google App Server 會在給予一 token,系統再利用此 token 及 Google 帳號向特定的 Google App 要求 授權。當認證成功後,會授予系統一副存取之 token,系統即可透過此一 token 來達到檔案同步至公有雲之動作。在同步期間,Google App Server 會不定時要求 授權認證,即利用已授權之 token 交換新授權之認證。以此來達到授權之安全。 詳細流程圖如下圖:. 立. 政 治 大. sit. y. Nat. (1). 使用者修改檔案內容。. ‧. ‧ 國. 學 圖 22:公有雲檔案同步之流程. io. er. (2). 監控模組將修改訊息及使用者帳號發送給系統。 (3). 系統向 Google Account Server 進行身分認證。. n. al. (4).. C hAccount token。 U n i 認證成功後送回 Google engchi. v. (5). 再利用 token 取得 Google App 之授權。 (6). 得到 Google App 之授權 token。 (7). 取得授權後通知同步模組進行同步。 (8). 將檔案同步至公有雲檔案。. 在同步檔案至公有雲時,使用的是 Google Docs API,其中包括資料夾及檔 案管理的 API 可供系統使用,在取得權限之後即可使用。. 36.

(47) 圖 23:Google Docs 所提供之 API. 學. ‧ 國. 4-5. 政 治 大 權限同步之實作 立. 檔案同步時常伴隨著權限同步。為了考量檔案在公有雲、私有雲及本地端之 授權安全性,故本系統在權限同步之實作上,採用部分權限同步之方式。使用者. ‧. 在新增檔案後成為擁有者,而其他使用者均只有"讀取"之權限。以此種方式保. y. Nat. io. sit. 護檔案在公有雲、私有雲及本地端之安全性以避免由不同使用者修改檔案內容的. n. al. er. 資訊混亂狀況,但又讓擁有者擁有檔案最高權利的便利性。. Ch. engchi. 37. i Un. v.

(48) 第五章. 系統測試. 系統實作完成後執行系統測試,本章節將詳述系統測試之範圍、方法。. 5-1. 測試範圍. 本章節主要描述本系統的測試計畫,以確認在系統運作前,各模組均可正確 輸出並傳輸正確之資訊。因此將著重於整合測試 (Integration Test)與接受度測試 (Acceptance Test),進一步找出本系統中的缺失、並測試各個模組於整合時衝突 的情況是否會發生。並希望透測試的結果與分析,達到順利並正確執行各模組, 以正確完成各模組之系統整合。. 立 測試接受準則. ‧ 國. 學. 5-2. 政 治 大. ‧. 測試的接受準則如下:. io. er. (2). 檔案內容同步模組需正常執行檔案管理功能。. sit. y. Nat. (1). 認證模組需正常執行使用者管理功能。. al. iv n C hengchi U 監控模組能即時得知特定資料夾內檔案狀況。 n. (3). 檔案內容同步模組需正常執行內容同步功能。 (4).. (5). 監控模組能得知正在使用的使用者帳號。 (6). 監控模組與系統認證模組需彼此溝通交換正確之資訊。 (7). 測試程序需要依循所訂定的程序進行,且測試結果必須符合預期測試結 果方能接受。 (8). 測試程序需要依照本測試計畫所訂定的程序進行,所有測試結果需要能 符合系統需求規格書,預期測試結果方能接受。 (9). 以測試案例為單位,當測試未通過時,需要進行該單元的測試,其接受 的準則與前一項規定相同。 38.

(49) 5-3. 測試環境. 5-3.1. 硬體規格. 依據測試環境架構圖內容,進行測試之硬體規格說明,如下列所示: . Server 端:.  CPU:Intel(R) Core(TM) 2 Quad CPU Q8400 @ 2.66GHz  RAM:DDR3 1333 2GB. 政 治 大.  HD:WD 7200 轉 3.5 吋 500G. 立. Client 端(Hadoop):. 學. ‧ 國. .  CPU:Intel(R) Core(TM) 2 Quad CPU Q8400 @ 2.66GHz. ‧.  RAM:DDR3 1333 2GB  HD:WD 7200 轉 3.5 吋 500G. y. Nat. Client 端(Linux):. io. sit. . n. al. er.  CPU:Intel(R) Core(TM) 2 Quad CPU Q8400 @ 2.66GHz. Ch.  RAM:DDR3 1333 2GB. engchi. i Un. v.  HD:WD 7200 轉 3.5 吋 500G . Client 端(Google Cloud):.  由於此 Client 端為在網路上雲端之應用故無硬體環境。. 5-3.2. 軟體規格. 依據測試環境架構圖內容,進行測試之軟體規格說明,如下列所示: (1).. Server 端:.  作業系統:Linux 10.04- Server 版 39.

(50)  資料庫: MS SQL Server 2005 (2).. Client 端(Hadoop):.  作業系統:Ubuntu 10.4  虛擬機器三台所組成的私有雲 (3).. Client 端(Linux):.  作業系統:Ubuntu 10.4 (4).. Client 端(Google Cloud):.  使用平台:GAE. 政 治 大.  其他相關:Google Application 等服務應用(如:Google Docs). 立. ‧ 國. 測試資料來源. 學. 5-3.3. 表 5:測試資料表. y. Nat. 數量. 測試來源. io. sit. 測試項目. 9 (3*3). 測試檔案內容. 足夠數量(隨機程式產生). 設定模擬之使用者相關資訊. n. al. er. 測試帳號. 5-4. ‧. 本系統測試資料來源如下表:. Ch. engchi. i Un. v. 模擬檔案與資料夾之檔案資源. 測試方法. 系統測試又分為各模組測試與整合測試,以確認各模組執行功能正常後再進 行模組的整合測試。. 5-4.1. 監控模組測試. 詳細測試流程圖如下圖:. 40.

(51) 立. 政 治 大. ‧. ‧ 國. 學 圖 24:監控模組測試流程圖. sit. y. Nat. 以程式執行資料夾及檔案操作,並記錄所作之動作,監控模組接到事件後並. n. al. er. io. 記錄下來,最後比較兩者之差異與否。. Ch. engchi. 41. i Un. v.

(52) 5-4.2. 身分認證模組之測試. 詳細測試流程圖如下圖:. 立. 政 治 大. ‧. ‧ 國. 學 er. io. sit. y. Nat. n. a圖l 25:身分認證模組測試流程圖 iv n C 以程式代替使用者進行身分認證之測試,程式隨機挑選帳號進行登入,由認 hengchi U 證模組執行身分認證與公有雲授權,並紀錄該帳號存取公有雲、私有雲及本地端 檔案內容是否合法。並隨機創建使用者帳號與密碼嘗試登入系統內。. 5-4.3. 檔案同步之測試. 檔案同步流程圖如下圖:. 42.

(53) 立. 政 治 大. n. al. er. io. sit. y. ‧. ‧ 國. 學. Nat. 圖 26:檔案同步模組測試流程圖. i Un. v. 以程式改變特定資料夾內之檔案內容與資料夾結構,並將改變的訊息傳送給. Ch. engchi. 檔案同步模組,檔案同步模組收到訊息後將之記錄下來並改變資料夾與檔案結構, 之後比對訊息、資料夾及檔案結構以確認檔案同步是否正確。. 5-4.4. 接受測試. 接受測試即是模擬系統將各模組整合起來後的運作狀況是否符合使用者需 求,亦即使用者在使用系統時,系統的身分認證、檔案同步及各模組間的訊息溝 通是否順利且正常,並是否能將檔案內容及資料夾結構部屬至公有雲上。 下述為系統整合測試之測試重點: 43.

(54) (1). 使用者能管理自己對應之帳號,並新增修改對應帳號。 (2). 使用者能改變檔案內容,並透過驗證來達到正確地同步。 (3). 監控模組能正確傳達檔案改變之訊息與使用者帳號資訊給系統。 (4). 執行檔案同步前,將先執行身分認證,並為合法使用者才執行檔案同 步。 (5). 系統檔案同步給私有雲及本地端正常運作。 (6). 系統檔案同步給公有雲端正常。 (7). 若有非合法使用者修改檔案,將另存一份檔案,而不覆蓋原檔案內容。. 政 治 大. (8). 檔案權限擁有者為檔案創建者,其餘使用者僅有讀取權限。. 立 5-5.1. 測試結果. ‧. ‧ 國. 測試結果與分析. 學. 5-5. y. Nat. er. io. sit. 整合測試共計 3 項案例,每案例測試 1000 次,成功超過 985(含)以上次數(6 sigma ),得算 Pass。 接受測試計一項案例,該案例測試 1000 次,成功超過 985(含). n. al. Ch. 以上次數(6 sigma ),得算 Pass。. engchi. 下表為測試指令間隔一秒之測試結果:. 44. i Un. v.

(55) 表 6:測試結果 測試成功/測試數量. 通過與否. 監控模組測試. 1000/1000. 通過. 身分認證模組測試. 996/1000. 通過. 檔案同步模組測試. 487/1000. 尚未通過. 接受測試. 378/1000. 尚未通過. 檔案同步模組測試與接受測試均採用程式隨機對檔案內容及資料夾結構做. 政 治 大 同步模組處理之速度不及,尤其是檔案內容修改超過 2MB 時,同步速度過慢而 立. 改變,由於每項指令(即改變檔案內容或資料夾結構之動作)間隔過小,導致檔案. ‧ 國. 學. 造成後續指令無法即時同步,若能將每項指令執行間隔拉長,則能增加成功案例。 下表為將每項指令運行間隔拉長至 5 秒之測試結果:. sit. 通過與否. er. io. a1000/1000 通過 iv l C n h i U 通過 996/1000e n g c h. n. 身分認證模組測試. 測試成功/測試數量. y. ‧. Nat 監控模組測試. 表 7:修改後測試結果. 檔案同步模組測試. 783/1000. 尚未通過. 接受測試. 677/1000. 尚未通過. 5-5.2. 測試結果之建議. 使用者改變檔案與資料夾之時間過短,導致系統無法完整同步至公有雲及私 有雲或本地端的檔案內容,因此本系統在檔案同步工作的處理上略顯不足,針對 測試結果期望能做以下改善: 45.

(56) (1). 建立一工作佇列模組,將使用者改變檔案內容之動作一一記錄下來並交 由系統處理。 (2). 建立通知使用者檔案同步狀況之訊息,讓使用者能得知目前檔案同步之 狀況以及待完成的檔案同步工作。 (3). 探討 Dropbox 及 Hadoop replication 之運作原理,以加強檔案同步之速 率。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. 46. i Un. v.

(57) 第六章 6-1. 結論與未來展望. 結論. 雲端運算的興起為資訊處理帶來更多樣的選擇與經濟效益。眾多企業與個人 將雲端運算平台做為資料備份與發佈的工具;企業可結合公有雲與私有雲形成混 合雲,使用公有雲儲存敏感度不高之資料並將敏感度較高的資料存至私有雲或本 地端。公有雲端服務為企業所帶來的生產力也可能為企業的資訊管理帶來混亂與 危機。混亂來自兩方面,亦即「資訊混亂」與「管理風險」。資訊混亂來自於私. 政 治 大 錯亂與失序。管理風險來自於私有雲或本地端之企業內部的權限與公有雲端的權 立 有雲或本地端之企業內部檔案與公有雲端檔案之間不一致的情況,這會造成認知. ‧ 國. 學. 限之間缺乏一致性的對應關係,使企業擔憂自己的數位資產在雲端上曝露在非預 期的閱讀(外洩)與編輯(竄改)之風險。. ‧. 本研究旨在解決使用混合雲時遇到的帳號與檔案內容安全管控以及授權問. sit. y. Nat. 題。本研究參照開放性標準 OpenID 與 O’Auth 來達成公有雲的標準化帳號認證. n. al. er. io. 與檔案授權,並開發了跨私有雲/本地端電腦與公有雲帳號及檔案內容權限之管. i Un. v. 理與同步系統。換言之,透過本研究可解決公有雲、私有雲與本地端系統間多重. Ch. engchi. 帳號不一及用戶外部存取與內部存取權限混亂或檔案版本不同的問題。實作上, 公有雲以 Google Apps 為主,並且實現了以 Linux 為主之本地端電腦以及以 Hadoop 為主之私有雲上必要之軟體機制。 本研究也從系統管理者的角度,提出一個適用於雲端服務的佈署架構,使得 網站帳號系統能用最小的成本與最快的速度達成佈署的目的,讓使用者能不透過 網站的登入及公有雲端的認證,快速的將檔案內容發布至公有雲上的儲存平台, 並讓使用者能一目了然公有雲、私有雲及本地端檔案資源狀況。. 47.

(58) 未來展望. 6-2. 本研究模擬企業在使用混合雲時,所會遇到的公有雲及私有雲或本地端檔案 內容不一致情況,透過本研究所開發之系統能有效的解決上述情況。但是隨著網 路通訊的日益進步,企業更可能產生混合使用雲端及企業內部系統,因此,未來 本研究希望能將本系統達到更方便使用且有效管理各方資源。並能達到公有雲定 時查看檔案資源之功能,讓企業更能有效的管理混合雲。並能達到檔案資源能正 確且安全授權的流程及方法。並針對後續研究建議如下: (1). 結合更多公有雲上之應用程式,方便使用者管理屬於該帳號之檔案內 容。. 政 治 大. 立. (2). 手機平台上的可行性,將系統簡化為手機可執行之系統。. ‧ 國. 學. (3). 加強帳號安全性,加入其他認證方式增加帳號之安全性。. ‧. (4). 增加檔案同步的可行性,利用 Dropbox 或 Hadoop replication 之演算法. n. al. er. io. sit. y. Nat. 實作檔案內容同步。. Ch. engchi. 48. i Un. v.

數據

圖  5:雲端認證方式,引用於 Harry Katzan & Jr., 2010
圖  6:HDFS 架構圖,引用自 Hadoop 官網
圖  7:Google Docs 分享讀取檔案的方式(擷取至 Google Docs 共用文件 畫面)  (1).  公開在網路上:所有人均可以搜尋到且可觀看文件內容或下載檔案。  (2)
圖  12:系統環境圖
+3

參考文獻

相關文件

●報名資料填寫完畢後,於首頁可點選欲列印之報名表,即可進入列印檢視頁面,請利用瀏覽器列

Google Science Journal 簡介..

‡ RFID 運作原理是透過一片小型硬體的無線射頻辨識技 術晶片( RFID chips),利用內含的天線來傳送與接

由於自簽的電子證書並非由知名憑證授權單位簽署,因此當使用者進入網 站時會被瀏覽器標注為不安全(例如使用 Google Chrome

• 利用資訊科技解決問題:停課期間,學校利 用Zoom視像教學,並以Google Classroom作

Google Drive 雲端硬碟..

李天民 電腦, 通識 Google Apps for Education 建立及管理 Google AppScript, Google Classroom

李天民 電腦 , 通識 Google Apps for Education 建立及管理 Google AppScript, Google Classroom 平板電腦管理.