LDAP

SAS Viya (19)

教學目標

初步了解 SAS Viya 平台中如何整合 LDAP 部署身份識別的服務。

重點概念

首先在 SAS Viya 平台部署中,身份識別主要是由環境設定的身份識別提供者所管理,其中身份識別提供者必須是 LDAP 伺服器,當我們部署 SAS Viya 平台之後,初始設定就需要設定從 LDAP 伺服器取得使用者和群組的身份識別資訊。此時對於 LDAP 基本了解將有助於 SAS Viya 平台管理員可以使用與 LDAP 管理員相同語言進行溝通。

接著什麼是 LDAP,LDAP 主要是存取目錄伺服器的的輕量級協定,目錄伺服器主要是一個分層物件導向的資料庫,LDAP 伺服器主要可以用於組織任何事情,最常見的用途就是作為一個身份管理系統,以利組織使用者和群組成員。其中 LDAP 目錄主要是以樹狀方式進行組織,目錄為目錄實體的樹,實體包括一組屬性,屬性有名稱和一個或多個值,像是 uid 為使用者名稱、cn 為通用名稱、displayName 為顯示名稱、objectclass 為物件類型…等。此外我們會使用 DNS 名稱表示樹的組織結構,像是 OU=org1, DC=sas, DC=com,所謂 DC 為網域元件,OU 為組織單位,主要為實體的分組或集合,同時組織單位可以包含其它組織單位。但是我們要如何在目錄的樹中找到我們需要的物件呢?此時在目錄中每個實體皆有一個唯一的識別碼,稱為專有名稱 (Distinguished Name,DN),同時也就是目錄樹中物件的完整路徑,像是使用者 Leo 的專有名稱為「uid=Leo, OU=org1, DC=sas, DC=com」或在 AD 網域中為「CN=Leo, OU=org1, DC=sas, DC=com」。此外我們也能夠查詢和過濾 LDAP 伺服器所提供的資訊,像是 (&(objectclass = inetorgperson)(o = org1)) 則是返回所有 inetorgperson 類型的物件,並且組織屬於 org1 的人員。

再來為什麼我們需要知道 LDAP 的概念?因為我們必須更新 SAS Viya 平台中的身份識別設定才能夠開始使用 SAS Viya 平台,作為一個管理員,最常見的設定項目主要有兩項,分別為:

  1. baseDN:主要讓 LDAP 伺服器從此實體開始搜尋樹中的實體。
  2. objectFilter:主要讓 LDAP 伺服器識別和限制返回的使用者和群組。

請注意在 SAS Viya 平台中我們主要會設定三個項目,分別為:

  1. sas.identities.providers.ldap.connection :主要設定 LDAP 伺服器的連線資訊,重要屬性欄位為 host、port、userDN、password、…等。
  2. sas.identities.providers.ldap.group:主要設定 LDAP 伺服器讀取群組的資訊,重要屬性欄位為baseDN 等,至於 objectFilter 屬性欄位則會根據組織需求進行調整。
  3. sas.identities.providers.ldap.user:主要設定 LDAP 伺服器讀取使用者的資訊,重要屬性欄位為baseDN 等,至於 objectFilter 屬性欄位則會根據組織需求進行調整。

最後若是我們要設定 Active Directory 為 LDAP 提供者,則僅需要設定下述屬性欄位即可。此外除了設定 389 連接埠搜尋網域中的物件之外,我們還能夠設定 3268 連接埠,以利以全域目錄的方式支援搜尋網域森林中的 Active Directory 物件,無論物件儲存在什麼位置,皆會以最快的速度和最低的網路流量在森林中進行搜尋。

1
2
3
4
5
6
7
8
9
10
11
config:
application:
sas.identities.providers.ldap.connection:
host: '<Active Directory 主機名稱>'
port: 389
userDN: '<服務帳號專有名稱>'
password: '<服務帳號密碼>'
sas.identities.providers.ldap.group:
baseDN: '<開始搜尋群組的組織專有名稱>'
sas.identities.providers.ldap.user:
baseDN: '<開始搜尋使用者的組織專有名稱>'

總結目前 SAS Viya 平台透過 LDAP 提供者進行身份識別的整合應用,但是在企業大多是以 Active Directory 伺服器為主,此時我們可以透過簡單的設定將「特定單一組織」中的所有使用者和群組載入 SAS Viya 平台中進行身份識別的應用。

相關概念

Cognos 設定管理 (2)

基本介紹

教學目標

初步了解 Cognos 單一登入設定。

重點概念

單一登入 (Single Sign-On) 是一種機制,主要藉由使用者驗證和授權的一次行為會允許使用者存取所有有存取權限的電腦和系統,不需要再輸入多重密碼,因此單一登入減少人為錯誤和系統錯誤,雖然有大量的需要但是實作困難。所以 Open Group 就提出一種開放式基於輕量型目錄存取協定 (Lightweight Directory Access Protocol,LDAP) 之目錄模型針對單一登入進行定義,以利各家廠商工具進行單一登入應用的開發與測試。

IBM Cognos Business Intelligence 除了支援 LDAP 身份驗證和授權存取協定之外,更能支援單一登入之應用。主要先完成基於 LDAP 協定進行 Cognos 的登入作業,並且不允許匿名登入,例如: Active Directory ,接著再透過 Cognos 管理工具在「安全」->「驗證」中選擇對應的「命名空間」,新增「進階屬性」為 singleSignOnOption = IdentityMapping ,確認無誤之後重新啟動 Cognos 伺服器就能完成單一登入的應用。

上述設定雖然簡單,但卻為我們解決問題,每個企業都會有入口網站,所有工具的存取權限皆會透過入口網站進行控管,一般來說會傳遞參數可是不會包括使用者密碼,只會有 Token 存取權證,並且授權存取或稽核記錄皆會有許多資安政策的限制,以及後續管理維護等考量規劃,讓事情變的更複雜導致問題看似無解,只能藉由客製化程式的方式解決問題,此時就會耗費大量資源,就只為了達到單一登入應用。此時只要透過設定,就能同時在符合資安政策的情況下解決單一登入的問題,並且簡化後續維護與管理。

最後並非所有問題皆能完全透過設定解決,此時就必須透過官方 SDK 進行客製化開發,例如: 根據入口網站的權限進行使用者對應授權報表群組的設定,就必須以客製化開發來解決問題。

相關資源