Authentication

SAS 資訊安全 (11)

基本介紹

教學目標

初步了解在 SAS Viya 平台中資訊安全應用的基本概念。

重點概念

在 SAS Viya 平台中主要有四大資訊安全應用,分別為:

  1. 身份驗證
  2. 授權
  3. 加密
  4. 網站安全

首先身份驗證主要是驗證使用者或服務帳號識別,主要有三種驗證方式,分別為:

  1. Host Authentication
  2. Direct LDAP Authentication
  3. Dual Authentication

接著授權主要是決定使用者可以使用哪一些資源,在 SAS Viya 平台中授權階層主要由兩個授權系統所組成,分別為:

  1. CAS Authorization System
  2. General Authorization System

再來加密主要是透過轉換保護傳輸或儲存中的資料,針對 SAS Viya 平台的部署主要有兩種加密方式,分別為:

  1. Data in Motion
  2. Data at Rest

其中 Data in Motion 主要透過 TLS 安全連線保護傳輸中的資料,安裝 SAS Viya 平台預設會提供自簽憑證讓使用者能夠透過 HTTPS 安全連線直接存取 SASHome 網站。至於 Data at Rest 主要是設定資料加密的技術保護儲存中的資料,安裝 SAS Viya 平台預設不會啟動加密。

最後網站安全主要是處理不同類型的攻擊方式入侵網站應用程式,以及使用網站瀏覽器的安全功能,在 SAS Viya 平台針對網站安全風險主要有以下相關屬性,分別為:

  1. Cross-Origin Resource Sharing
  2. Cross-Site Request Forgery (CSRF)
  3. X-Frame-Options
  4. Content-Security-Policy
  5. X-Content-Type-Options
  6. X-XSS-Protection

總結 SAS Viya 平台相較於 SAS 9 平台針對身份驗證、授權、加密和網站安全有更完整的資訊安全應用,尤其是預設直接設定自簽憑證以利使用者進行安全連線,接著僅需更換自簽憑證為企業內憑證設定,理應就能滿足許多企業內部資訊安全最小需求。

相關資源

SAS Viya (9)

教學目標

初步了解在 SAS Viya 中的驗證選項與介面的概念。

重點概念

首先我們在了解 SAS Viya 3.2 中驗證選項之前,最好先了解 SAS Viya 3.2 主要有三種部署類型,分別為:

  1. 完整部署 (Full Deployment)
  2. 僅程式操作部署 (Programming Only Deployment)
  3. 僅視窗操作部署 (Visual Only Deployment)

其中所謂完整部署主要是指包括 SAS 雲端分析服務、微服務、狀態服務和 SAS 基礎元件的完整部署。所謂僅程式操作部署主要是指不包括微服務元件的部署,此部署方式若要使用 SAS 雲端分析服務,則僅能透過 SAS Studio 和 SAS 程式碼進行 SAS 雲端分析。所謂僅視窗操作部署主要是指不包括 SAS Studio 元件的部署,此部署方式若要使用 SAS 雲端分析服務,則僅能透過 SAS Visual Analytics 等網站應用程式進行 SAS 雲端分析。

接著根據不同的部署類型,我們主要有兩種介面讓使用者存取 SAS Viya 3.2 服務,分別為程式介面驗證和視窗介面驗證,主要差別在於程式介面驗證主要是以 SAS Studio 為主,視窗介面驗證主要是以 SAS Visual Analytics 等網站應用程式為主,此外 SAS Cloud Analytics Services 還有提供 Python 介面、Java 介面和 Lua 介面進行存取驗證。

再來在 SAS Viya 3.2 中的視窗介面驗證主要是整合狀態服務和無狀態服務,也就是微服務。使用者主要會透過 SAS Logon Manager 的視窗介面進行登入,其主要是透過 HTTP 代理的方式進行存取,請注意識別的微服務必須連接 LDAP 提供者以利提供使用者和群組資訊,所謂 LDAP 提供者可以是 Microsoft Active Directory 、Open LDAP、… 等。此外我們主要有是四種驗證選項讓使用者存取 SAS Logon Manager,分別為:

  1. LDAP Provider
  2. Kerberos
  3. OAuth
  4. SAML

透過上述四種驗證選項 SAS 雲端分析服務環境將會由 SAS Logon Manger 產生內部 OAuth Token 進行執行操作,在大部份的案例中實際工作階段主要是由 CAS Server Controller 透過 cas 服務帳號啟動 CAS Session Controller 也就是啟動 SAS 雲端分析服務。

最後程式介面驗證重點在於 SAS Studio 、 SAS Object Spawner 和 SAS Workspace Server 如何存取 SAS 雲端分析服務,在 SAS Viya 3.2 中我們可以針寸 CAS 和 SAS Studio 設定主機使用可插拔驗證模組 ,同時使用 PAM 的指令存取 CAS 建立驗證資訊之檔案。此外在 SAS Viya 3.2 中的 SAS Studio 在完整部署中主要是整合 HTTP 代理,所以 SAS Viya 3.2 使用者無法直接連線 SAS Studio 網站應用程式,並且在 SAS Studio 輸入的使用者帳號和密碼不會傳送給 SAS Logon Manager 進行驗證,而是 SAS Object Spawner 使用主機中的 PAM 設定驗證使用者名稱和密碼,此時是否需要本機帳號取決於 PAM 設定和 LDAP 提供者中的帳號,請注意 SAS Object Spawner 會透過 sas 服務帳號啟動 SAS Workspace Server。此時 SAS Worksapce 除了透過使用者帳號和密碼與 LDAP 提供者進行驗證之外,還會透過使用者帳號和密碼與 SAS 雲端分析服務進驗證,同時 CAS Controller 也會透過 PAM 的設定驗證使用者憑證和啟動工作階段處理程序。

總結在 SAS Viya 3.2 中提供非常完整的身份驗證解決方案,每家企業會有專屬的身份驗證方式,此時如何在導入 SAS 解決方案時有效整合現行身份驗證的方式,將會是 SAS Viya 3.2 相較於 SAS 9 更能夠為企業組織帶來使用者單一登入與帳號密碼統一管理的效益。此外目前許多企業是採用 Windows Active Directory 進行身份驗證,此時我們僅需要在 SAS Environment Manager 中針對 Identify Service 設定下述資訊,就能夠載入Windows Active Directory 中的使用者帳號和群組資訊進行控管,當成 LDAP 提供者,但請注意某些服務必須搭配主機帳號對應才能夠正常存取使用。

1
2
3
4
5
6
7
8
9
10
11
config:
application:
sas.identities.providers.ldap.connection:
host: '<LDAP HOSTNAME>'
port: 389
userDN: '<Service Account DN>'
password: '<Service Account Password>'
sas.identities.providers.ldap.group:
baseDN: '<OU to start user search from>'
sas.identities.providers.ldap.user:
baseDN: '<OU to start group search from>'

相關資源

SAS Viya (8)

教學目標

初步了解在 SAS Viya 中針對資訊安全三個方面的應用。

重點概念

首先在 SAS Viya 中針對資訊安全主要有三個方面的應用,分別為:

  1. 驗證 (Authentication)
  2. 授權 (Authorization)
  3. 加密 (Encryption)

接著驗證主要識別使用者身份或服務帳號方面的安全,我們主要會透過下述三種模式進行驗證,分別為:

  1. 主機驗證 (Host Authentication)
  2. 直接驗證 (Direct LDAP Authentication)
  3. 雙重驗證 (Dual Authentication)

其中所謂主機驗證是指透過主機進行任何驗證機制的處理請求,當我們登入至 SAS Studio 時將會關聯 Object Spawner 要求主機驗證憑證,當驗證成功將會啟動工作站伺服器,此外當我們從 SAS Studio 中使用 CAS 服務時,則必須在 CAS 伺服器主機進行驗證。所謂直接驗證是指過 LDAP 提供者進行直接的驗證,此外針對單一登入 (Single Sign On,SSO) 也支援 IWA、OAuth 和 SAML 等機制,請注意 IWA、OAuth 和 SAML 僅能修改登入服務 SAS Logon Manager 的識別驗證機制,無法修改識別服務 Identities Service 的使用者和群組資訊,當我們登入 SAS Visual Analytics 或 SAS Environment Manager 時,則必須使用此模式進行驗證。所謂雙重驗證主要是同時使用主機驗證和直接驗證,若是 servicesBaseUrl 選項被設定時,則 CAS 需要進行雙重驗證,其中 LDAP 提供者又可分為相同提供者 (Shared Provider) 和不同提供者 (Different Provider),當我們登入 CAS Server Monitor 和從 SAS Studio 存取 CAS 服務時皆需要使用雙重驗證,此外當我們透過 SAS Visual Analytics 或 SAS Environment Manager 存取 CAS 服務時必須確認 OAuth Token 是有效才能夠正常操作。

再來授權主要是決定哪一個資源被可哪一個使用者使用,SAS Viya 授權層級主要由兩個授權系統所組成,分別為:

  1. CAS 授權系統 (CAS authorization system)
  2. 一般授權系統 (General authorization system)

其中任何系統皆使用不同的模型保護不同的資源類別,請注意初始和預設存取是被限制的,主要有五個重點,分別為:

  1. 任何未被授予的存取是被禁止的。
  2. 預先定義的物件會被預先定義的規則或存取控制所保護。
  3. 只有特定群組或角色的成員才能夠存取特權管理的功能。
  4. 使用者存取物件的管理是會被繼承、同時也能設定規則和直接設定。
  5. 一般使用者是有限的存取,僅可以存取個人資料庫和共享的資料夾。

最後加密主要是將資料轉換為無法理解的形式來進行傳輸或儲存的安全應用,分別為:

  1. 資料傳輸 (Data in Motion)
  2. 資料儲存 (Data at Rest)

其中所謂資料傳輸主要是提供 TLS 安全性,並且遵循最高的資安標準,在安裝時 SAS Viya 提供 HTTPS 安全存取的方式。所謂資料儲存主要是針對 PATH、HDFS 和 CASLIB 進行加密設定。

總結本篇主要是簡單介紹 SAS Viya 中針對資訊安全三個方面的應用,分別為驗證、授權和加密,其實也就是企業中經常提到的資訊安全之應用,分別為:

  1. 單一登入應用,也就是驗證應用。
  2. 權限控管應用,也就是授權應用。
  3. 安全連線應用,也就是加密應用。

相關資源