Elastic在 ECE 2.3 的 GA 版中提供基於角色的訪問控制和外部身份驗證功能

Elastic在 ECE 2.3 的 GA 版中提供基於角色的訪問控制和外部身份驗證功能
做者Rory Hunterhtml

咱們很高興地宣佈,隨着 Elastic Cloud Enterprise (ECE) 2.3 的發佈,基於角色的訪問控制和外部源身份驗證功能現已正式推出。經過這些功能,您能夠擁有 ECE 平臺訪問權限由角色控制的多個用戶。您能夠在 ECE 中本地添加用戶,並鏈接您本身的目錄服務器或身份提供商,以向現有用戶授予訪問權限。api

咱們最初在 ECE 2.2 中針對這些功能添加了公測版支持。除了在 2.3 版中消除了若干漏洞以外,咱們還添加了對 Active Directory 以及現有 LDAP 和 SAML 選項的支持。安全

工做原理?

爲 ECE 啓用 RBAC 會添加一個安所有署,這是一個管理全部身份驗證配置和權限的系統部署。當用戶嘗試登陸時,ECE 將使用此安所有署來執行身份驗證,並根據狀況回退給系統用戶。若是用戶成功經過身份驗證,ECE 則會應用用戶分配的角色並將他們轉換爲細粒度權限,進而控制每一個用戶能夠查看的數據以及能夠執行的操做。服務器

請注意,用戶的 ECE 角色與用戶爲在 ECE 中託管的部署所保留的任何憑據是分開的。用戶可能沒有對 ECE 的訪問權限,但具備對託管部署的管理訪問權限,反之亦然。restful

提供哪些角色?

ECE 在平臺和部署級別提供了一組豐富的操做。爲了減輕管理員在定義和維護他們本身角色定義方面的工做,ECE 提供了一組涵蓋最多見用例的預約義角色。這些角色將隨着更多功能的交付而不斷更新,所以,您無需擔憂將本身的定義保持最新狀態。ide

角色描述以下。用戶能夠擁有多個角色並根據須要進行組合,例如,「平臺管理員」能夠執行任何操做,所以,無需爲他們提供其餘角色。可是,「平臺查看人」能夠查看任何內容但不能更改,所以,您可能會將其與「部署管理人」角色組合使用。ui

平臺管理員

經過這一角色,用戶可以以與安裝過程當中建立的系統級 admin 用戶(或 ECE 1.x 中的 root)相同的方式查看全部數據,並在 ECE 中執行任何操做。這一角色一般僅由負責整個 ECE 平臺的管理員擁有。UI 中的「平臺」部分就是一個恰當的例子,由於它提供了有關(例如)分配器及其部署的信息,而且可以騰出分配器或將其置於維護模式。spa

平臺查看人

這一角色提供對整個平臺和託管部署僅查看的權限。關聯的權限與 readonly 系統級用戶擁有的權限相同。這對於自動化很是有用,例如監控 ECE 的狀態。rest

部署管理人

這一角色容許用戶在平臺上建立和管理部署。具備這一角色的用戶能夠對部署執行任何操做:擴展、縮小、配置快照、重啓節點和重置密碼等等,但它不容許用戶訪問任何平臺級別的操做和資源,例如部署模板、實例配置、分配器和系統部署等。code

這一角色適用於任何負責管理部署但不須要查看平臺級信息(如開發團隊負責人)的人員。

部署查看人

擁有這一角色的用戶能夠查看部署,但沒法以任何方式修改它們。這一角色適用於支持人員或開發團隊成員。

管理本機用戶

要在 ECE 中開始使用 RBAC,最簡單的方法就是建立本機用戶。這些用戶將保存在 Elasticsearch 本機 Realm 內的安所有署中,並且僅支持有限數量的屬性:用戶名、全名、電子郵件、密碼、角色,以及它們當前是否已啓用。

單擊導航菜單中的「User」(用戶),可查看您的身份驗證提供程序,其中一個是「Native users」(本機用戶)配置文件。打開這個配置文件就會將您轉到一個全部本機用戶的列表。該列表包括由 ECE 安裝程序建立的兩個系統用戶。這些用戶沒法進行編輯或刪除,而且沒法在此處重置其密碼,請參閱文檔,瞭解有關如何重置密碼的更多說明。

演示:建立本機用戶

在「Native users」(本機用戶)頁面中,您能夠建立、編輯和刪除本機用戶。這些用戶能夠像系統用戶同樣登陸 ECE,他們的訪問權限按照您分配給他們的角色進行控制。

用戶設置頁面

ECE 2.3 還添加了一個「User Settings」(用戶設置)頁面。單擊該頁面右上角的用戶圖標,而後單擊「Settings」(設置)。若是您以本機用戶身份登陸,則能夠編輯您的姓名和電子郵件,或更改密碼。若是您使用外部身份驗證提供程序中的用戶登陸,則會看到一個只讀頁面,其中包含一些基本信息、身份驗證配置文件的名稱和類型,以及您擁有的角色。

演示:編輯用戶設置

外部身份驗證提供程序

若是您已有 LDAP、Active Directory 或 SAML 服務器,則能夠將 ECE 配置爲使用它們進行身份驗證和受權。您甚至能夠配置多個服務器,並按照您以與 Elasticsearch 相同方式設置的順序嘗試身份驗證。使用現有的身份驗證源意味着您只需在一個位置管理用戶。外部提供程序的角色映射配置容許您在 ECE 中將用戶屬性映射到角色,所以,用戶屬性的任何更改(如組成員身份)都會由 ECE 自動獲取。

在身份驗證提供程序概述頁面中,單擊「Add provider」(添加提供程序)並選擇一個類型。在下一頁,將配置該提供程序。下面讓咱們逐步完成基本 LDAP 設置的配置選項。

演示:建立 LDAP 提供程序

LDAP 身份驗證提供程序

常規設置:

  1. 每一個配置文件都有一個名稱。除了使用它來標記配置文件外,這個名稱還用來生成一個 Realm ID。請注意,建立配置文件後,Realm ID 將不會再更改。
  2. 必須至少設置一個 LDAP 服務器,包括開始時的 ldap:ldaps: 協議。若是選擇基於 DNS 的負載平衡策略,則只能指定單個服務器。
  3. 選擇負載平衡策略時,請記住上述限制。

可信證書:

  1. 若是您的 LDAP 服務器以客戶端須要保存特定 SSL/TLS 證書的方式受到保護,則須要準備捆綁文件並經過 URL 將其提供給 ECE。如需瞭解更多詳細信息,請參閱文檔
  2. 若是您的捆綁包受密碼保護,請在此處提供密碼。

綁定憑據:

  1. 若是憑據須要綁定到 LDAP 服務器,您能夠在此處設置它們。
  2. 或者,若是不須要憑據,則單擊「Bind anonymously」(匿名綁定)切換按鈕。

搜索模式設置:

  1. 您能夠針對用戶搜索指定每條詳細信息。有關這些字段的信息,請參閱文檔。至少,您可能須要設置「Base DN for users」(用戶的基本 DN),例如「cn=users,dc=example,dc=com」。
  2. 或者,若是您須要使用模板來執行 LDAP 查詢,請單擊「Template」(模板)單選按鈕,而後提供一個或多個模板。

組搜索設置:

  1. 與搜索模式設置很是類似,您能夠配置 ECE 應如何搜索用戶組。您可能須要設置「Base DN for groups」(組的基本 DN),例如「ou=groups,dc=example,dc=com」。

角色映射:

  1. 用戶須要擁有一個或多個角色才能經過 ECE 執行任何操做。針對成功經過身份驗證的全部用戶,您能夠指定一些將分配給他們的默認角色。例如,您能夠向全部用戶授予「Deployments viewer」(部署查看人)角色,以便他們能夠查看 ECE 中託管的全部部署而沒法編輯任何內容。
  2. 另外一種分配角色的方法是經過角色映射。這些只是簡單規則,指明若是用戶 DN 或組 DN 匹配某個值,則會分配一個或多個指定的角色。您能夠根據須要擁有任意數量的映射,例如,爲 IT Ops 用戶提供「Deployment viewer」(部署查看人)的映射,爲全部開發人員提供「Deployment manager」(部署管理人)的映射,以及爲全部管理員提供「Platform viewer」(平臺查看人)的映射。

完成後,單擊Create profile(建立配置文件),ECE 即會從新配置安所有署。您如今應該使用各類 LDAP 用戶進行登陸,檢查他們是否能夠進行身份驗證,以及他們的角色是否正確。您能夠從用戶設置頁面直接檢查角色,也能夠經過瀏覽 UI,確保他們可以查看的內容和執行的操做符合預期。

Active Directory 和 SAML 身份驗證提供程序

歸納來說,從 ECE 的角度看這個流程相似於 LDAP。您能夠建立 SAML 或 Active Directory 身份驗證提供程序,爲其命名,指定 ECE 應如何與服務器通訊,以及定義應適用的映射。

有關配置 SAML 身份驗證提供程序Active Directory 身份驗證提供程序的完整說明,請參閱文檔。

REST API 支持

全部上述操做也可使用 REST API 來執行。例如,要提取全部用戶的列表,甚至是當前已禁用的用戶:

GET /api/v1/users?include_disabled=true

假設您須要授予新的系統管理員 Sarah 的權限。您能夠按以下所示爲她建立一個新的本機用戶:

POST /api/v1/users { "user_name": "sarah", "security": { "roles": ["ece_platform_admin"], "password": "deadb33f" } }

若是您隨後想更改 Sarah 的訪問權限,則能夠發送一個僅包含要更改字段的 PATCH 請求,在本例中角色爲:

PATCH /api/v1/users/sarah { "security": { "roles": ["ece_platform_viewer"] } }

最後,您可使用 DELETE 請求刪除 Sarah 的賬戶:

DELETE /api/v1/users/sarah

有關身份驗證提供程序端點的詳細信息和示例,請參閱 REST API 文檔

即刻開始使用

有關 ECE 2.3 中的完整更改列表,請務必查看發行說明。若是您想本身試用,可當即開始免費試用 30 天

相關文章
相關標籤/搜索