oid 值 内存使用_如何使用Choerodon LDAP以及配置定时任务
作者:李楷文
Choerodon作為多云管理平臺,可以通過LDAP的方式對接企業(yè)已有的應(yīng)用,通過同步用戶到Choerodon平臺,使企業(yè)用戶無需注冊就可使用LDAP的賬戶和密碼登錄到Choerodon平臺,實現(xiàn) DevOps 開發(fā)運維一體化和敏捷管理的等目標,極大地降低了企業(yè)用戶遷移負擔。
本文將從LDAP的概念,如何使用Choerodon LDAP以及配置定時任務(wù)三個方面進行介紹。
什么是LDAP
LDAP是輕量級目錄訪問協(xié)議(Lightweight Directory Access Protocol)的縮寫,是一個開放的,中立的,工業(yè)標準的應(yīng)用協(xié)議,用于與目錄服務(wù)進行交互。LDAP有許多種實現(xiàn),比如Open LDAP和微軟的Active Directory等,類似于關(guān)系型數(shù)據(jù)庫的多種不同的實現(xiàn),如oracle和mysql等。
LDAP基于TCP/IP協(xié)議,使用Client/Server架構(gòu),允許客戶端在目錄服務(wù)器中執(zhí)行各種操作,包括存儲和檢索數(shù)據(jù),搜索與給定標準集匹配的數(shù)據(jù),對客戶端進行身份驗證等。LDAP的標準TCP端口對于未加密的通信是389,對于通過TLS加密的通道的LDAP是636,這里可以類比HTTP協(xié)議默認端口為80,HTTPS協(xié)議默認端口為443。
LDAP目錄使用有層次的、樹形結(jié)構(gòu)存儲數(shù)據(jù),具有優(yōu)異的查詢,瀏覽和搜索性能,但寫入性能差,沒有事務(wù)處理和回滾等功能,不適合頻繁修改數(shù)據(jù)。通常用于存儲公司員工信息,用戶使用同一個賬戶和密碼就可以登錄到多個不同的服務(wù),也可以存儲公用證書和安全密鑰,公司物理設(shè)備信息等。
基本概念
Directory Servers
目錄服務(wù)器是一種存儲樹形條目信息的網(wǎng)絡(luò)數(shù)據(jù)庫,與關(guān)系型數(shù)據(jù)庫存儲行和列的關(guān)系信息不同,可以被認為一種NoSQL數(shù)據(jù)庫。
Entries
LDAP entry(LDAP條目)是有關(guān)實體的信息集合,每個條目由下面三部分組成:DN,屬性集合(attributes)和對象類集合(object class)。
DNs and RDNs
DN是distinguished name的縮寫,是entry的唯一標識,同時記錄了entry所在的目錄樹層級位,類似于文件系統(tǒng)的上下文路徑。
一個DN由零個或多個相對可分辨的名稱或者RDN組成。每個RDN由一個或者多個屬性-值組成(通常是一個)。例如uid=superlee,dc=choerodon,dc=io這個DN,由3個RDN組成,RDN的順序指定了DIT(directory information tree)中相關(guān)條目的位置,從左到右以降序表示層級結(jié)構(gòu),即父目錄在偏右側(cè),上述DN的父目錄的DN為ou=choerodon,ou=io,uid是RDN的屬性,superlee是RDN的值。
Root DSE是一個長度為0的字符串DN的特殊條目,每一個LDAP server 必須要有一個這樣公開的特殊條目。
Attributes
Attributes用于保存條目的數(shù)據(jù)。一個條目可以有多個attribute,每一個attribute都有一個attribute type (屬性類型),零個或多個attribute options(屬性選項)以及一組包含實際數(shù)據(jù)的值。
屬性類型指定LDAP client和server應(yīng)該如何處理該屬性,必須包含對象標識符(OID)和零個或多個名稱。
屬性選項不常用,但是可以提供一些元數(shù)據(jù),如對該屬性的值進行多語言處理。
如圖所示,該entry包含了多個attribute。
Object Classes
對象類標記條目的類型,每個條目有一個結(jié)構(gòu)對象類,指明條目所代表的對象類型(person/group/device等),還有零個或多個輔助對象類,提供其他特征。
Object Identifiers (OIDs)
對象標識符,用于唯一標識LDAP協(xié)議中的各種元素,OID由一系列由句點分隔的數(shù)字組成(例如,“1.2.840.113556.1.4.473”是表示服務(wù)器端排序請求控件的OID)。
可以使用ldapsearch命令查詢LDAP server是否支持分頁查詢。
ldapsearch -H ldap://ldap.server.address:389 -x -D "uid=superlee,dc=choerodon,dc=io" -W -b "" -s base -a always "(objectClass=*)如果返回值里包含1.2.840.113556.1.4.473,那么服務(wù)器就是支持分頁查詢的。
其他術(shù)語
- base DN: 基準DN,通常指一個屬性結(jié)構(gòu)的頂部,如下的樹形結(jié)構(gòu)的base DN就是dc=gp,dc=gl,dc=google,dc=com
- DIT: directory information tree
- entryUUID: 包含DIT條目的通用唯一ID(UUID)的屬性。
- LDIF: LDAP數(shù)據(jù)交換格式。IETF術(shù)語,用于加載(導(dǎo)入)和保存(導(dǎo)出)條目到LDAP啟用目錄的文本格式。用于數(shù)據(jù)的導(dǎo)入導(dǎo)出,每行都是“屬性: 值”對,見openldap ldif格式示例(http://uee.me/aVvkE)
- dc: domain component,通常指域名的每個組件,如http://www.baidu.com可以被寫成dc=www,dc=baidu,dc=com
- cn: common name,被廣泛用作命名某些“東西”或真實世界實體的屬性。
- ou: organizational unit name,表明用戶所屬的組織單元,屬于多個組織使用逗號隔開。
- l: locality name,局部名,地方名
- st: state or province name,州或者省份名稱
- o: organizational name,組織名
- c: country name,國家名
- street: street name,街道名
- uid: user id,用戶id
Choerodon LDAP使用
詳情可閱讀《Choerodon LDAP文檔》
這里做一些補充說明。
Choerodon的LDAP在組織層級,即每個組織都有各自的LDAP配置,配置好LDAP后即可同步到當前組織下,用戶登錄的時候根據(jù)登錄名查詢對應(yīng)的組織,然后找到對應(yīng)的LDAP server去認證,認證通過則登錄成功,否則則登錄失敗。
如果組織下的LDAP已經(jīng)被停用,則該組織下的所有LDAP用戶都不能登錄。
Choerodon只支持可以分頁查詢的LDAP server。
- 2: 主機名,即ldap server的地址,必須以ldap://或者ldaps://開頭。
- 4: 這個值是每次分頁查詢用戶的數(shù)量以及發(fā)送saga事件的用戶數(shù)量。
- 5: 查詢和連接LDAP server的超時時間,單位為秒。
注意: 管理員登錄賬戶和密碼,要有在base DN上的登錄權(quán)限,否則測試連接會報登錄失敗。
- 1: 用戶對象類,一般設(shè)置為person,用于檢索符合這個類型的條目。支持輸入多個object class,使用逗號分隔。
- 2: 讀取entry的該屬性設(shè)置到iam_user表的login_name字段,作為登錄名。
- 6: uuid,LDAP對象的唯一標識,大多數(shù)是entryUUID屬性,Microsoft Active Directory可能是objectGUID屬性,如果您的的ldap服務(wù)器確實不支持uuid,使用能唯一標識對象的字段即可,比如uid或者entryDN。記錄部分用戶同步失敗的uuid,方便到LDAP server查詢。
- 7: 額外的過濾條件用于同步用戶,允許為空,表達式必須以“(”開始,以“)”結(jié)束,語法參考ldap search syntax(http://uee.me/aVvmj)。
注意: 測試連接里的屬性匹配,抓取了base DN下的100個滿足已經(jīng)設(shè)置的用戶對象類和自定義篩選條件的條目,然后去校驗設(shè)置好的loginName,email等 屬性是否存在,如果不存在該屬性名就返回不匹配。
Choerodon LDAP定時任務(wù)配置
Choerodon 支持配置LDAP同步用戶和禁用用戶定時任務(wù),定時任務(wù)配置文檔。
組織層設(shè)置同步定時任務(wù)
首先進入組織層的任務(wù)明細界面
然后在當前界面點擊創(chuàng)建任務(wù)按鈕
任務(wù)支持簡單任務(wù)和cron表達式任務(wù),這里以簡單任務(wù)作實例,每天同步一次,執(zhí)行30次。
超時策略:
- 阻塞: 下次觸發(fā)時間若上次觸發(fā)任務(wù)未完成,則暫停定時任務(wù),任務(wù)不再被執(zhí)行。
- 串行: 下次觸發(fā)時間若上次觸發(fā)任務(wù)未完成,兩次任務(wù)可按照觸發(fā)時間依次被執(zhí)行。
- 并行: 下次觸發(fā)時間若上次觸發(fā)任務(wù)未完成,兩次任務(wù)可以同時被執(zhí)行。
點擊下一步選擇iam-service,Choerodon有兩個內(nèi)置的定時任務(wù),同步定時任務(wù)和禁用用戶定時任務(wù)。禁用用戶定時需要設(shè)置filterStr,用來篩選需要禁用的用戶。這個篩選表達式必須以'('開始,以')'結(jié)束,語法參考ldap search syntax。
點擊下一步選擇通知對象,之后點下一步確認信息后創(chuàng)建即可。
全局層設(shè)置同步定時任務(wù)
首先使用具有site層權(quán)限的賬戶登錄,然后按如下順序點擊菜單,進入任務(wù)明細界面。
然后在當前界面點擊創(chuàng)建任務(wù)按鈕,這里和組織層的操作一致。
在配置執(zhí)行程序時,Choerodon內(nèi)置了兩個默認的LDAP相關(guān)的全局層任務(wù)。其中同步用戶需要設(shè)置組織code參數(shù),表明同步該組織下的用戶,過濾停用用戶需要設(shè)置組織code和篩選停用用戶的條件。之后選擇下一步和需要通知的對象確認即可。
關(guān)于Choerodon豬齒魚
Choerodon豬齒魚開源多云技術(shù)平臺,是基于開源技術(shù)Kubernetes,Istio,knative,Gitlab,Spring Cloud來實現(xiàn)本地和云端環(huán)境的集成,實現(xiàn)企業(yè)多云/混合云應(yīng)用環(huán)境的一致性。平臺通過提供精益敏捷、持續(xù)交付、容器環(huán)境、微服務(wù)、DevOps等能力來幫助組織團隊來完成軟件的生命周期管理,從而更快、更頻繁地交付更穩(wěn)定的軟件。
大家也可以通過以下社區(qū)途徑了解豬齒魚的最新動態(tài)、產(chǎn)品特性,以及參與社區(qū)貢獻:
- 豬齒魚官網(wǎng):http://choerodon.io
- Github:https://github.com/choerodon
- 碼云:https://gitee.com/choerodon
由Choerodon豬齒魚核心團隊創(chuàng)立的 BuildRun(https://gobuildrun.com),基于豬齒魚帶來了多云架構(gòu)環(huán)境下基于視覺的企業(yè)級應(yīng)用創(chuàng)建、集成、部署、生命周期管理和分發(fā)的能力。
BuildRun 以云原生的現(xiàn)代化軟件架構(gòu)來幫助企業(yè)提升軟件開發(fā)生產(chǎn)力和業(yè)務(wù)敏捷性,提供多云低代碼應(yīng)用平臺和多云應(yīng)用生命周期管理平臺,幫助企業(yè)隱藏應(yīng)用開發(fā)和運行時的基礎(chǔ)架構(gòu)復(fù)雜性,讓每個人專注于業(yè)務(wù)邏輯,促進團隊快速、持續(xù)地將想法轉(zhuǎn)化為真正的商業(yè)價值。
團隊在云原生技術(shù)和架構(gòu)(DevOps、持續(xù)交付、微服務(wù)和容器)應(yīng)用場景,如企業(yè)數(shù)字化轉(zhuǎn)型、企業(yè)中臺等方面擁有豐富的經(jīng)驗,公司客戶包括商業(yè)地產(chǎn)、建筑工程、醫(yī)藥、家居、汽車配業(yè)、大型工業(yè)等企業(yè),為您提供最合適的解決方案。
免費注冊試用:https://apps.gobuildrun.com/#/base/register-organization
總結(jié)
以上是生活随笔為你收集整理的oid 值 内存使用_如何使用Choerodon LDAP以及配置定时任务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是投屏码?(为什么是竖屏)
- 下一篇: 自定义报表 java_报表为什么会没完没