軟件(jiàn)項目中API的(de)處理(lǐ)和(hé)安全:一×¥ (yī)對(duì)強大(dà)的(de)搭檔_¶&>北(běi)京軟件(jiàn)開(kāi)發公司
發表日(rì)期:2023-02-23 14:59:28 "↑€±文(wén)章(zhāng)編輯:宜天信達 浏覽次數(shù)φ★♠₩:
軟件(jiàn)項目中API 治理(lǐ)意味著(zhe)建立和(h↑✘₩♦é)執行(xíng)安全性、合規性、樣式、元₹>™↑數(shù)據、生(shēng)命周期、分(f£←♥ēn)類法和(hé)版本控制(zhì)的(de)标準。在當今需要( ☆✘≤yào)快(kuài)速決策和(hé)實施的↑δ≤×(de)快(kuài)節奏環境中,必須每天制(zhì)定标準并遵守這(>λ≤zhè)些(xiē)标準被認為(wèi)是(shì)有(y→ǒu)害的(de)。由于永無止境的(de)制(zhì✔↓☆)衡以及無法以敏捷的(de)方式對(du↔₹ì)市(shì)場(chǎng)狀況做(zu♠ ±ò)出反應,一(yī)些(xiē)項目拖延了(le)數Ω™ε←(shù)年(nián)。然而,在另一(yī)個(gè☆ )極端,沒有(yǒu)适當的(de)治理(lǐ)規則可(kě₹ ✘)能(néng)會(huì)導緻孤立的(de)項目缺乏采用(y£₩òng),并且可(kě)能(néng)容→ 易受到(dào)代價高(gāo)昂的(de)安全威脅。
為(wèi)了(le)在兩個(gè)極端之間♣₹₩(jiān)找到(dào)平衡點,設置有(yǒu)機(jī)的(de) AP¥→₽γI 治理(lǐ)規則很(hěn)重要(yào);它們應該适應您正≠<♣∏在使用(yòng)的(de)技(jì)術(shù),無論它們是₩₩±(shì)什(shén)麽,它們應該集成到(dào)您用(yòng)于≈∞≤API 管理(lǐ)的(de)工(gōng)具中,并且它們應該₩"¶→自(zì)動化(huà)以盡可(kě)能(néng)早地(d♣₩♥★ì)在流程中發出警報(bào)和(hé)•♣♥指導。目标是(shì)在不(bù)妨礙速度和(hé)創新的(↑≥de)情況下(xià)提高(gāo)生(shēng)×δ 産力。
随著(zhe)新的(de)市(shì)場(ch✘≤✔Ωǎng)趨勢、突出的(de)安全威脅和(hé)新興技(≈ jì)術(shù),負責 API 治理(lǐ)的(de♦₩σ)人(rén)員(yuán)必須應對(du→↔¥ì)變化(huà)的(de)挑戰。現(xiàn)在,讓我們來(lái)看(kà≠λn)看(kàn)當前的(de)治理(lǐ)挑戰以及如(rú)何應對(duì)☆♦這(zhè)些(xiē)挑戰的(de)建議(yì♣☆)。
1.多(duō)樣化(huà)的(de)API管理("✔lǐ)格局
如(rú)今,軟件(jiàn)公司對(du™↕γì)其API 管理(lǐ)工(gōng)具有(yǒu)複雜(zá β)的(de)要(yào)求。他(tā)們有(yǒu)幾個(gè)必須同時(©✘Ω♦shí)處理(lǐ)的(de)約束;他(tā)∏↓們客戶的(de)位置、不(bù)同業(yè)務部門(mén)所需的(de)能<©(néng)力、當地(dì)合規要(yào "σ)求、現(xiàn)有(yǒu)團隊人(≤→α✔rén)才和(hé)收購(gòu)等等。幾乎不(bù)可(k•♦♣αě)能(néng)找到(dào)一(yī)個(gè≥™ <)單一(yī)的(de)工(gōng)具來(lái)滿足所有(yǒu)這(zπ♣hè)些(xiē)限制(zhì),這(zhè)就(jiù©)是(shì)為(wèi)什(shén)麽當今的(de)組織必∞>須使用(yòng)分(fēn)布在多(duō) $≠個(gè)雲供應商之間(jiān)的(de)多××☆←(duō)個(gè)API 管理(lǐ)解決方案。
在這(zhè)個(gè)複雜(zá)的(de) >∞API 管理(lǐ)環境中,API 治理(l←β&ǐ)應該在支持多(duō)樣性的(de)'≠±同時(shí)創建和(hé)執行(xíng)标準。一(yī)個(gè)→↕☆地(dì)方可(kě)以對(duì)由不(bù)同供應商的(γ€σde)網關代理(lǐ)、部署在不(bù)同的(de)雲中并由不(bù♠✘¥<)同的(de)微(wēi)服務組成的(de) API 進行(xín★¶">g)分(fēn)類和(hé)管理(lǐ),這(zhèαγ×✘)将實現(xiàn)可(kě)見(jiàn)性和 ♦δ (hé)易于控制(zhì)。這(zhè)個(gè)單一(yī☆)的(de)地(dì)方将是(shì)部署的(de) API 的(deβ$ $)目錄,并在服務網格中的(de)任何地(dì¥σ↔&)方與微(wēi)服務一(yī)起代理(lǐ)。同時(shí),它将∑标準化(huà)他(tā)們的(de)元數(shù)據(包括命名約定☆♠♥•、所有(yǒu)者、附加文(wén)檔、支≤≤∏持團隊)、策略和(hé)版本控制(zhì)。通(tōng)過為(wèγ£i) API 産品經理(lǐ)、架構師(shīε♦ ±)和(hé)運維專業(yè)人(rén)員(yuán)提供工(gōn<≥♠₩g)具、儀表闆和(hé)通(tōng)信機(jī)制(zhì), ®它可(kě)以充當單一(yī)的(de)事(shì)實來(lái)源并向左轉÷≠→移治理(lǐ)。
2. API 的(de)激增
采用(yòng) API 已成為(wèi)不(bù)同業(yè)務部門(mé← λn)協同工(gōng)作(zuò)、與合作(zuò)夥伴聯系以及将某₽↔←×些(xiē)功能(néng)外(wài)包給第三方軟件(ji♠€àn)開(kāi)發供應商以節省時(shí)間(jiā♥©✘₩n)和(hé)精力的(de)标準業(yè×€₽)務方式。使用(yòng) API 來(lái)完成各種任務可(k→ ě)以簡化(huà)互操作(zuò)性并加快(kuài)應用(yòn£σ₩→g)程序開(kāi)發速度。然而,這(zhè)種©™業(yè)務方式造成了(le)一(yī)種通(tōng)常被稱為(wèβ★i) API 激增的(de)情況:組織所依賴的'→≈(de) API 太多(duō),而且很(hěn)難跟蹤所有♣✘π(yǒu)這(zhè)些(xiē) API 并÷>™确保它們的(de)安全。
這(zhè)是(shì)特别需要(yào)治理(lǐ)→★®♠的(de)地(dì)方。控制(zhì) API 生(shēng)命周>&∏期的(de)所有(yǒu)階段,從(cóng)設計♦∞₽(jì)到(dào)停用(yòng)、批準工(g ♦ōng)作(zuò)流程和(hé)通(tōng)知(zhī),将确保≈₽ API 通(tōng)過質量檢查。這(zhè)些(xiē)檢查将确保滿足有÷ ≠(yǒu)關命名、元數(shù)據和(hé)補充文(wén)檔的(de♦ )組織約定。同樣,将全局安全策略應用(yòng)于所有(©♦"yǒu) API 或合格的(de)子(zǐ)集,可(kě)确保 ♥÷≥API 不(bù)會(huì)在沒有(yǒu)必要(yào)保護的(d™πΩ₽e)情況下(xià)投入生(shēng)♣★産。
盡管将這(zhè)些(xiē)檢查添加到(dào)流程中可(kě™≈•)能(néng)看(kàn)起來(lái)像是(sh₽∞ì)在制(zhì)造官僚主義并使事(shì)情變≥慢(màn),但(dàn)實際上(shàng)并非如(rú)此÷±•×。正确的(de) API 管理(lǐ)工(gōng)具将這(zhè)些(x↕iē)步驟集成到(dào)日(rì)常操作(zuò)中并使流程自(zπλ←σì)動化(huà)。一(yī)個(gè)額外(wài)的$© σ(de)好(hǎo)處是(shì) API Marketplace 解決方案可≈✔"(kě)以對(duì)所有(yǒu) API(無論是(shì)$÷₩←內(nèi)置的(de)還(hái)是(shì)♠←第三方的(de))進行(xíng)分(fēn)類,并提供全面的(de)補充<<€信息,無論其提供商如(rú)何,都(dōu)可(kě)以更輕松地(dì)ε₹∞找到(dào)和(hé)使用(yòng)正确的(de) API,從®≈<(cóng)而提高(gāo)生(shēng)産δ✘≈率。它還(hái)可(kě)以在具有(yǒu)不(bù)同職責的(de)團隊¶σ之間(jiān)引入隔離(lí),發布可(kě)操作(z₹ €uò)事(shì)件(jiàn)和(hé)更改通∑✔φ(tōng)知(zhī),甚至控制(zhì) API 在不(bù)同自("¶≠™zì)定義生(shēng)命周期狀态下(xià)的(de)可(≠γ£♦kě)見(jiàn)性。
3. API格式越來(lái)越多(duō)
REST、SOAP、OData、Websocket、Gr≠aphQL、事(shì)件(jiàn)、消息↕∑€傳遞……組織對(du♥×¶ì)應用(yòng)程序到(dào)應用(yòng)程序&™通(tōng)信的(de)需求是(shì)無限的(de)。因此,響應↓ 不(bù)同用(yòng)例的(de) APδI 類型越來(lái)越多(duō)。但(dàn)是(shì),所有(yǒuσ₽)這(zhè)些(xiē)類型仍然存在一(yī)些(xi∞∑σē)共同的(de)基本要(yào)求。治理("₽±¶lǐ)程序應該将所有(yǒu)這(zhè)些(xiφ∏≤ē) API 格式甚至其他(tā)任意服務和(hé)資産視(shì$γ)為(wèi)一(yī)等公民(mín),并能(n∞¶éng)夠執行(xíng)相(xiàng)同的(© de)規則和(hé)政策。其中包括版本控制(zhì)、≠γ☆樣式、元數(shù)據、批準工(gōng)作(zuò)流、生(shēn₽✔g)命周期更改通(tōng)知(zhī)和(hé)通 ♠(tōng)用(yòng)的(de)基本安全策略。
除了(le)合規性要(yào)求之外(wài),開₹γ(kāi)發人(rén)員(yuán)門(mén)δ"≤戶解決方案還(hái)可(kě)以提供治理(lǐ)功能(néng)。它可(k↕ ¶ě)以允許對(duì)不(bù)同的(de) API 類型以及事(shì)件(←>Ωjiàn)、資産和(hé)應用(yòng)程序進行(xíng)編目,其中★↕包含強制(zhì)性和(hé)補充性元數(shù)據和(hé'ש)文(wén)檔,以便開(kāi)發人(rén)員(yuán)輕松查找和♥'(hé)使用(yòng)。除了(le)跨不(bù)同類型的(de)通(&×λtōng)用(yòng)元數(shù)據字段外(wài),≈÷€&還(hái)可(kě)以對(duì)其進行(xíng)自(zì ∑)定義以包含特定于類型的(de)表示,以提高(gāo)應用(yòng)程序開(÷γkāi)發人(rén)員(yuán)的(de)工(gō↕₹ng)作(zuò)效率。
4.自(zì)定義API旅程
每個(gè)組織都(dōu)有(yǒu)一(y™↓ī)個(gè)自(zì)定義的(de) API 旅☆×★程,這(zhè)取決于他(tā)們獨特的(de) CI/CD 流∞→程;他(tā)們用(yòng)于開(kāi)£₹發、測試、監控和(hé)其他(tā)步驟的(de)不(bù)同工(™$$≈gōng)具;以及團隊成員(yuán)擁有(yǒu)的(d€¥βαe)技(jì)術(shù)技(jì)能(néng)(一(yī)切都→<♠$(dōu)是(shì)代碼、低(dī)代碼、無代碼)。根據他(σ'∑tā)們的(de)情況,一(yī)個(gè)組織的(de) AP¥☆π✔I 程序由許多(duō)相(xiàng)互連接的(de)工(gōng)具♦&β組成。但(dàn)是(shì),必須在 ≤✔API 旅程的(de)每一(yī)步都(dōu)應用(yòng)治理♥☆©(lǐ)。僅舉幾例要(yào)求,可(kě)能( λ≥≥néng)有(yǒu)設計(jì)期間(jiān)的(de)樣式指β♦∞←南(nán)、開(kāi)發期間(jiān)的(de≥♥∑)不(bù)同測試用(yòng)例、生(shēng)産期間(jiā≠ββ↕n)的(de)運行(xíng)時(shí)策略規則以及更新和(hé)停用(yò§β±±ng)期間(jiān)的(de)依賴性和(hé)關系注意事(shì)項。φ¶≠₽
盡管各個(gè)北(běi)京軟件(jiàn)公司全面的(de) API 治理(lǐ)解決方案¥¶可(kě)能(néng)會(huì)提供模闆來(lái)滿足許多(duō&•)通(tōng)用(yòng)用(yòng)例,但(dàσ♦n)仍可(kě)能(néng)存在許多(duō)自(zì)定義需求。為(w♣•èi)了(le)滿足這(zhè)些(xiē)要(yào)≠"求,可(kě)能(néng)需要(yào)自(zì)定義代碼和(hé)集成。π£這(zhè)就(jiù)是(shì)為(wèi)什(shén)麽最好(hǎβ±o)将 API 治理(lǐ)程序設計(jì)為(wèi)可(kě)擴展的≈φ(de)。管理(lǐ) API、自(zì)定義擴展和(h×€✘é)可(kě)配置的(de)批準工(gōng)作(zuò)λ×♣★流将補充您的(de)治理(lǐ)解決方案以插入其他(tā↔δ↔)工(gōng)具。