Access Control

SAS 資訊安全 (6)

基本介紹

教學目標

初步了解 SAS Visual Analytics 與 SAS LASR Analytic Server 授權權限的存取控制。

重點概念

身為 SAS Visual Analytics 管理者將會需要有效率的管理 SAS LASR Analytic Server,此時要如何確保對的資料被對的人存取。在 SAS Visual Analytics 中主要有三個層級權限的設定,分別為:

  1. 角色和群組存取權限。
  2. 中繼資料存取權限。
  3. 作業系統存取權限。

角色和群組存取權限

在 SAS Visual Analytics 使用者主要以角色為基礎存取網頁應用程式元件,主要有三項主要的任務,分別為:

  1. 新增或刪除使用者。
  2. 定義群組和角色。
  3. 指定使用者至適當的群組和角色。

使用者會被指定至在中繼資料中基於工作功能之不同類型的角色和群組,角色會對應能力,能力是指使用者執行元件的操作,此外 SAS Visual Analytics 主要提供五個預先定義的角色,至於管理者要如何指定正確的群組和角色至使用者帳號則要先回答下述四個問題,分別為:

  1. 使用者需要讀取其它人建立的報表內容嗎?
  2. 使用者需要建立報表或探索資料嗎?
  3. 使用者需要建立和載入資料嗎?
  4. 使用者需要啟動或停止 SAS LASR Analytic Server 嗎?

預先定義的角色主要有五種,分別為:

  1. Visual Analytics: 基本:主要提供來賓存取和入門使用者的功能。
  2. Visual Analytics: 檢視報表:主要提供基本所有功能之外,還提供註解和個人化功能。
  3. Visual Analytics: 分析:主要提供檢視報表所有功能之外,還提供建立報表和勘查的功能。
  4. Visual Analytics: 資料建置:主要提供分析所有功能之外,還提供準備資料的功能。
  5. Visual Analytics: 管理:主要提供除了建置資料之外的所有功能。

在 SAS Visual Analytics 中我們會進行的業務作業,對應至角色的功能,請參考下表。

功能 基本 報表檢視 分析 資料建置 管理
檢視報表
檢視預存程式
匯出列印
電子郵件
個人化
增加和檢視註解
探索資料
自訂圖形
匯出資料

在 SAS Visual Analytics 中我們會進行的管理作業主要有,主要只有分析、資料建置和管理角色才能夠進行管理作業,請參考下表。

功能 基本 報表檢視 分析 資料建置 管理
匯入資料
匯入本機檔案
匯入伺服器上的 SAS 資料集
從資料來源來匯入
重新整理資料
匯出為影像
匯出為報表
分送報表
建置分析模型
建置資料
管理環境
管理行動裝置
管理 LASR Analytic Server
監控 LASR Analytic Server
管理授權
瀏覽 HDFS

(註:請注意若有授權 SAS Visual Statistics 則只有分析角色才可以使用「建置分析模型」的功能。)

至於在 SAS Visual Analytics 中群組和角色的關係為何,請參考下表:

群組 角色
PUBLIC
SASUSERS Visual Analytics: 基本
Visual Analytics 使用者 Visual Analytics: 報表檢視、Visual Analytics: 分析
Visual Analytics 建置管理員 Visual Analytics: 資料建置
Visual Analytics 資料管理員 Visual Analytics: 管理
SAS 管理員 中繼資料伺服器: 使用者管理

一般來說,我們在建立 SAS Visual Analytics 帳號時,會先將該使用者分派至所屬的群組,可能是專案或部門中,其中 PUBLIC 群組代表所有能登入 SAS 伺服器的使用者,SASUSERS 群組代表所有具有 SAS 使用者內部帳號 (user@saspw),並且為使用者授權角色的功能,像是檢視報表或探索資料。此外除了管理使用者之外,也會管理伺服器上的資料內容存取權限,甚至限制不同使用者存取同一張報表時,限制可以存取的內容。基本上,當我們在規劃伺服器上的使用者時,可以區分為伺服器管理師、資料管理師、資料分析師和報表設計師等,所謂伺服器管理師主要為系統服務人員,負責管理伺服器,所謂資料管理師主要為應用程式人員,負責載入資料至伺服器,所謂資料分析師和報表設計師主要為業務單位人員,負責分析資料和製作報表。

中繼資料存取權限

SAS LASR 授權服務主要會與中繼資料授權層級管理使用者存取在 LASR 伺服器 In-memory 中的資料,其中權限定義,請參考下表。

權限 受影響動作
管理 (A) 在 LASR 資料館中載入和匯入表格,在 SAS LASR Analytic Server 上停止伺服器或設定表格限制。
讀取 (R) 在 LASR 資料館中載入和匯入表格,在 LASR 表格中讀取資料,在加密的 SASHDAT 資料上增加、刪除或載入資料。
寫入 (W) 在 LASR 表格上卸載和重新載入表格,在 LASR 表格中附加列、刪除列和編輯計算欄。
讀取中繼資料 (RM) 檢視物件,其中包括報表、表格、資料館和資料,請注意我們需要該物件讀取中繼資料的權限。
寫入中繼資料 (WM) 編輯、重新命名、刪除和設定物件的權限,也就是在物件之間建立特定關聯。
寫入成員中繼資料 (WMM) 在資料夾上新增或移除物件。

管理者會使用者中繼資料授權層級管理透過 SAS Visual Analytics 存取 SAS LASR Analytic Server 中的資源,以利進行分析,請參考下表。

工作 LASR 伺服器 LASR 資料館 LASR 資料夾 LASR 表格
載入表格 RM RM、R、WM、A RM、R、WMM、W
讀取工作 RM RM RM RM、R
附加或刪除列 RM RM RM RM、R、W
編輯計算欄 RM RM RM RM、R、W
載入停止清單 RM、WM RM、R、WM、A RM、R、WMM、W
卸載表格 RM RM RM RM、R、W
啟動伺服器 RM
停止伺服器 RM、A
設定伺服器的表格限制 RM、WM、A
將資料館指派給伺服器 RM、WM RM、WM
在中繼資料中註冊表格 RM、WM RM、WMM
更新表格的中繼資料 RM RM RM、WM
刪除中繼資料中的表格 RM、WM RM、WMM RM、WM

(註:載入 LASR 表格物件,需要有作業系統讀取和寫入資料夾的權限。)

若要建立、更新或刪除報表,還需要 SAS Content Server 的存取權限,也就是報表和勘查中繼資料層級的權限,此外若我們要進行資料查詢和使用 LASR 星狀結構描述時,也需要中繼資料層級的權限,請參下表。

工作 LASR 伺服器 LASR 表格 LASR 資料夾 報表 勘查 查詢或結構描述
開啟報表或勘查 RM RM、R RM RM
匯出報表或勘查 RM RM、R RM RM
修改報表或勘查 RM RM、R RM、WM RM、WM
儲存報表或勘查 RM RM、WMM
刪除報表或勘查 RM RM、WMM RM、WM RM、WM
儲存新的查詢或結構描述 RM RM RM、WMM
執行查詢或結構描述 RM RM RM
編輯和儲存查詢或結構描述 RM RM RM RM、WM
刪除或重新命名查詢或結構描述 RM RM、WMM RM、WM

在 SAS Visual Analytics 中主要是使用中繼資料授權方式管理使用權限,因此針對伺服器上的物件皆可以設定授權,以及表格的列層級授權。此時我們會透過 SAS Visual Analytics 管理者網頁進行授權頁設定授權權限,請參考下表。

授權權限 允許圖示 列層級允許 拒絕圖示 菱形圖示 方形圖示
直接允許套用 ACT 存取
直接拒絕套用 ACT 存取
直接允許存取
直接拒絕存取
間接允許存取
間接拒絕存取
直接允許條件式存取
間接允許條件式存取

其中所謂直接代表為該物件直接進行設定,而間接則是代表該物件繼承的授權,例如我們為 LASR 資料夾設定了讀取中繼資料的權限,則在 LASR 資料夾中的 LASR 表格則繼承此授權,也就是間接存取。此外表格的列層級的授權,主要是讓同一個表格針對不同使用者或群組有不同的讀取權限,像是各分行協理只能看到該分行的財務報表,因為製作財務報表的 LASR 表格僅有一個,所以對該表格設定各分行協理的特定列層級權限授權,請注意若是採用 LASR 星狀結構描述則要設定全部結構描述的權限。

作業系統存取權限

在 SAS 平台中主要有外部帳號和內部帳號,所謂外部帳號指作業系統帳號,而內部帳號指中繼資料伺服器帳號,基本上,我們設定帳號主要會先建立外部帳號 (作業系統帳號) ,加入至 SAS 伺服器使用者群組之後,接著在 SAS Management Console 中建立內部帳號 (中繼資料伺服器帳號),請注意若是 SAS Visual Analytics 管理者若是要具有上傳資料的權限時,則其帳號必須是外部帳號 ,且新增登入定義不需要輸入密碼,以及若一般使用者被授權上傳資料時,則其內部帳號必須有對應外部帳號,然而要如何有效規劃設定,請參考下表。

職稱 職責 群組 角色 內部帳號 外部帳號
系統管理師 管理伺服器 Visual Analytics 資料管理員 Visual Analytics: 管理
資料科學家 上傳資料與伺服器資料共同進行資料探索與進階分析 Visual Analytics 建置管理員 Visual Analytics: 資料建置
業務分析師 透過現有資料製作視覺化分析報表 Visual Analytics 使用者 Visual Analytics: 分析 ×
專案經理 檢視報表追蹤進度。 Visual Analytics 使用者 Visual Analytics: 報表檢視 ×

當我們建立群組時建議以專案和部門建立不同群組,至於針對相同功能的使用者則建議以功能和職責建立不同角色,其中一個使用者可以同時加入不同群組和角色,但是建議一個使用者僅對於一個群組和一個角色,請注意請勿修改 SAS 預設 Visual Analytics 角色功能,因為預設角色為最佳實務的規劃,若有需求是必須修改角色對應功能設定,則請新增新的 SAS 角色,其中包括所需的預設角色之後進行修改。

但若是我們期望該部門或專案只能看到相關資料夾的資料,所以我們會利用 SAS 資料夾管理使用者權限,主要透過 SAS Management Console 進行資料夾權限的授權設定,並且當我們針對主資料夾進行權限設定之後,子資料夾也會直接繼承該權限設定,若有需要也是可以停止繼承進行權限設定。

存取 SAS LASR Analytics Server 授權流程

當使用者開啟 SAS Visual Analytics 網頁客戶端存取資料或報表,就會需要存取 SAS LASR Analytics Server,此時就會需要進行授權,主要有六個步驟,分別為:

  1. SAS Visual Analytics 網頁客戶端會發出存取資料請求至 SAS LASR 授權服務中。
  2. SAS LASR 授權服務會發出請求至 SAS 中繼資料伺服器中。
  3. SAS 中繼資料伺服器會回傳授權決定和安全金鑰至 SAS LASR 授權服務中。
  4. SAS LASR 授權服務會回傳簽章允許 至 SAS Visual Analytics 網頁客戶端中。
  5. SAS Visual Analytics 網頁客戶端會發出簽章允許 至 SAS LASR 分析伺服器中。
  6. SAS LASR 分析伺服器回傳存取資料的結果。

其中當 SAS LASR Analytic Server 啟動時,將會與 SAS Metadata Server 建立安全金鑰,因此客戶端透過 SAS LASR Authorization Service 與 SAS Metadata Server 確認該使用者是否具備中繼資料層級的相關權限,若是則回傳簽章允許 ,其中包括安全金鑰,以利 SAS Visual Analytics 客戶端透過授權資訊 (Signed Grant) 至 SAS LASR Analytic Server 存取資料,此時 SAS LASR Analytic Server 會透過安全金鑰驗證簽章允許 是否有效。

總結 SAS Visual Analytics 與 SAS LASR Analytic Server 授權權限的存取控制非常具有彈性能夠有效符合企業的報表分析需求,但是若沒有深入了解存取控制的管理方式將會造成後續維運的問題,需要特別小心僅慎。

相關資源

SAS 資訊安全 (1)

基本介紹

教學目標

初步了解 SAS 解決方案中資訊安全相關設定。

重點概念

SAS 解決方案是否足夠安全這是個很好的問題,一般來說,我們對於安全的認知僅限於驗證帳號密碼和加密傳輸中的資料,然而在安裝 SAS 解決方案時則會有許多安全相關的設定,分別為:

  1. 設定傳輸層網路安全協定。
  2. 設定伺服器之間安全連線。
  3. 設定使用者帳戶和稽核記錄。

不論我們是否為需要關注關於公司安全政策 IT 專家,或者 SAS 管理需要有能力說明 SAS 功能和設定 SAS 軟體符合 IT 標準, 或者稽核人員需要審核特定有關安全弱點的問題,皆建議可以了解 SAS 解決方案是如何透過設定符合資安管理與政策規範。

設定傳輸層網路安全協定

傳輸層安全連線 (Transport Layer Security,TLS) 、安全 Socket 連線層 (Secure Socket Layer,SSL) 和加密協定皆是被設計於提供通訊安全,其中 TLS 和 SSL 協定主要皆是提供網路資料隱私,資料完整性和身份驗證的功能,其中若在 HTTP 超連結文字傳輸協定上加上 TLS 或 SSL 協定就會是所謂的 HTTPS 安全連線,主要提供網站伺服器已被加密的安全通訊。至於要如何進行身份驗證則主要會以憑證為基礎,主要是採用 X.509 憑證其中會有被使用於 TLS Handshake 的公開金鑰。所謂 TLS Handshake 協定主要責任是進行身份驗證和金鑰交換以利建立安全 Session。此外安全的應用程式資料主要會在建立 Handshake 期間透過對稱性金鑰進行加密,然而若想要深入了解憑證是如何被簽署、憑證如何被鏈結和憑證如何被驗證有效,則可以參考「Tips and Techniques for Using Site-Signed HTTPS with SAS 9.4」 文章會有更詳細的解說,此外有關 TLS 憑證細節則可參考 RFC 5280 技術標準

當訊息在伺服器之間進行資料交換時將可能會發生被攔截訊息或被模擬行為的風險。當我們進行安全連線設定流程時,管理者需要建立適當的憑證格式,請注意一定要被組織中的第三方單位進行簽署,或者向憑證頒發機構發出請求產生包括公開金鑰的憑證,同時進行簽署,所謂憑證頒發機構 (Certificate Authorities,CA) 是可被信任的單位,主要包括公開金鑰,此時我們僅需要根據伺服器傳送時被簽署的憑證就能夠持續進行識別。然而 SAS 官方所提供的文件主要皆是假設憑證皆是建立被網站簽署的憑證,此外在部署時第三方簽署憑證會以 Mozilla CA 憑證清單 為主。

對於 TLS Handshake 主要會要驗證 X.509 憑證,像是網站簽署或第三方簽署的憑證,此外驗證演算法還會確認憑證是否有問題,直到被信任憑證頒發機構被找到時,此時就會建立安全連線,至於客戶端則會持有被信任憑證頒發機構的清單。然而不同類型的客戶端會有不同信任提供者,像是 SAS 9.4 M3 版本中新的信任提供者主要為 SAS Security Certificate Framework,其被使用於 Java 應用程式和 SAS 網頁應用程式伺服器,此外我們在 SAS 9.4 M3 版本中可以透過 SAS Deployment Manager 加入網站簽署和 Root CA 的憑證至 SAS Security Certificate Framework 中。

在 SAS 9.4 M3 版本中任何安全皆會包括 SAS Private Java Runtime Environment 和 SAS Security Certificate Framework,因此任何在 SAS 中被安全的 Java 程序皆會使用 SAS Security Certificate Framework 當成信任提供者,請注意 SAS 已經不再使用預設 JSSE Truststore (cacerts) 為信任提供者,至於 SAS Private Java Runtime Environment 主要則是使用 JRE Truststore 建立信任。

至於 SAS Deployment Manger 是如何安裝 Trusted CA Bundle,第一步安裝 Mozilla Bundle 主要會將 Mozilla CA Certificate List 相關的兩個憑證檔案 cacerts.pem 和 cacerts.jks 儲存至 SASHome/SASSecurityCertificateFramework/1.1/cacerts 的目錄中,第二步建立 Trusted CA Bundle 主要會將 Mozilla CA Certificate List 轉換為 Trusted CA Bundle 相關的兩個憑證檔案 trustedcerts.pem 和 trustedcerts.jks 儲存至 SASHome/SASSecurityCertificateFramework/1.1/cacerts 的目錄中,第三步在 SAS Private JRE 中建立 Trusted CA Bundle 主要會將 Trusted CA Bundle 相關的憑證檔案 trustedcerts.jks 轉換為 jssecacerts 儲存至 SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/security 的目錄中,第四步將客戶的 CA 憑證匯入至 Trusted CA Bundle 中,主要是將客戶的 CA 憑證轉換為 trustedcerts.pem 和 trustedcerts.jks 憑證檔案儲存至 SASHome/SASSecurityCertificateFramework/1.1/cacerts 的目錄中,接著再將 trustedcerts.jks 憑證檔案轉換為 jssecacerts 憑證檔案儲存至 SASHome/SASPrivateJavaRuntimeEnvironment/9.4/jre/lib/security 目錄中。

設定伺服器之間安全連線

在 SAS 解決方案中的伺服器需許我們透過網頁瀏覽器存取資料和執行多種任務,其中針對 SAS 網頁伺服器和 SAS 網頁應用程式伺服器會需要網路安全和隱私,所謂 SAS 網頁伺服器主要是被設定單一連線至 SAS 網頁應用程式伺服器的入口,通常我們將會需要啟用 TLS 安全,同時設定 SAS 網頁伺服器支援 HTTPS 安全連線,基本上 SAS 部署精靈皆會自動完成這些安全安裝與設定。

至於 SAS 網頁應用程式伺服器主要是透過 SAS 網頁伺服器與外部網路進行溝通,然而有些企業會要求設定 SAS 網頁伺服器和 SAS 網頁應用程式伺服器皆要支援 HTTPS 安全連線,也就是在每個伺服器中設定 HTTPS 安全連線確保 SAS 網頁應用程式皆是在安全環境中進行溝通。一般來說,SAS 網頁伺服器可以在透過 SAS 部署精靈和 SAS 部署管理員自動進行設定,然而 SAS 網頁應用程式伺服器必須手動設定 HTTPS,主要步驟為:

  1. 設定 SAS 網頁應用程式伺服器中連接資訊。
  2. 設定 SAS 網頁應用程式伺服器中 JVM 選項。
  3. 設定 SAS 網頁伺服器。
  4. 重新啟動 SAS 網頁伺服器和網頁應用程式伺服器。

此外 SAS 網頁伺服器也能夠進行手動設定,主要步驟為:

  1. 設定 SAS 網頁伺服器之 httpd-ssl.conf 設定檔。
  2. 設定 SAS 網頁應用程式伺服器中連接資訊。
  3. 設定 SAS 內容伺服器連線資訊。
  4. 設定 SAS 視覺分析伺服器,確認更新 SAS LASR 授權服務。
  5. 設定 SAS 環境檔案。
  6. 設定 SAS 環境管理員。
  7. 設定 SAS 內容伺服器中 JVM 選項。
  8. 重新啟動 SAS 網頁伺服器和網頁應用程式伺服器。

設定使用者帳戶和稽核記錄

在企業通常會需要 IT 單位執行有關於系統使用情況的稽核報表,一般來說內部稽核主要被設計於監控系統和軟體使用的情況,外部稽核則主要會皆對外部稽核員的要求提供符合規範的報表,像是 SOX、PCI-DSS、HIPAA、…等,然而現今許多規範和稽核審查還是主要專注於使用者活動和哪個人存取什麼樣的資訊。

在 SAS 解決方案中主要能夠整合不同外部使用者的帳號進行驗證,像是 Active Directory 、 LDAP 、… 等目錄服務,接著針對 SAS 中繼資料進行授權,主要授權哪些使用者可以存取什麼資料和應用程式,同時建議針對每個使用者在 SAS 中繼資料中建立個別的識別,同時關聯外部使用者的帳號進行驗證 ,此外 sasadm@saspw 和 sastrust@saspw 則是沒有關聯外部使用者帳號的內部使用者帳號屬於特殊情況,請注意針對 SAS 中繼資料進行使用者的存取控制將會是一門深奧的學問,將會再之後進行深入的介紹。

至於報表的呈現主要則會透過 SAS 環境管理員和 SAS 視覺分析管理員進行報表樣版的設定,請注意通常系統會收集與分析在系統層級與使用者相關的活動,像是在 SAS 環境管理員中則有 Auditing and the Service Architecture Framework 主要收集稽核矩陣的相關資料,以及報表中主要提供標準報表和摘要報表,此外 SAS 視覺分析管理員中也有提供使用者操作行為的稽核報表,以及 SAS 網頁應用程式伺服器也可以透過設定的方式產生稽核報表所需的資料。

總結 SAS 解決方案有許多安全相關的設定,像是設定傳輸層網路安全協定、設定伺服器之間安全連線和設定使用者帳戶和稽核記錄,主要專注於 SSCP 認證中資訊安全通識體系中的存取控制和網路與通訊安全的兩大領域,因此我們可以先透過設定的方式讓 SAS 解決方案更安全,接著針對無法符合資安規範的部份進行客制化 Java 程式開發,理應就能夠滿足企業大部份資安管理與政策規範的要求。

相關資源