API網(wǎng)關(guān)
API網(wǎng)關(guān)基本概念
API
API(Application Programming Interface,應(yīng)用程序編程接口)是一些預(yù)先定義的函數(shù),應(yīng)用將自身的服務(wù)能力封裝成API,并通過(guò)API網(wǎng)關(guān)開(kāi)放給用戶(hù)調(diào)用。
API包括基本信息、前后端的請(qǐng)求路徑和參數(shù)以及請(qǐng)求相關(guān)協(xié)議。
API分組
API分組是同一種業(yè)務(wù)API的集合,API開(kāi)發(fā)者以API分組為單位,管理分組內(nèi)的所有API。
環(huán)境
為了方便管理API的生命周期,API網(wǎng)關(guān)定義了API受限使用范圍,這個(gè)受限使用的范圍,稱(chēng)為環(huán)境,例如API的測(cè)試環(huán)境,開(kāi)發(fā)環(huán)境等。
環(huán)境定義了API生命周期管理過(guò)程中的不同狀態(tài),API可以被發(fā)布到不同的自定義環(huán)境中。
調(diào)用不同環(huán)境的API,一般通過(guò)在API調(diào)用的請(qǐng)求頭增加指定的頭部參數(shù),頭部參數(shù)名固定為x-stage,它的取值叫環(huán)境名,用以區(qū)分不同的環(huán)境。
環(huán)境變量
在環(huán)境上創(chuàng)建可管理的一種變量,該變量固定在環(huán)境上。通過(guò)創(chuàng)建環(huán)境變量,實(shí)現(xiàn)同一個(gè)API,在不同環(huán)境中調(diào)用不同的后端服務(wù)。
流量控制
流量控制支持從用戶(hù)、應(yīng)用(憑據(jù))、源IP和時(shí)間段等不同的維度限制對(duì)API的調(diào)用次數(shù),保護(hù)后端服務(wù)。
API網(wǎng)關(guān)支持按分/按秒粒度級(jí)別的流量控制。
訪問(wèn)控制
訪問(wèn)控制策略是API網(wǎng)關(guān)提供的API安全防護(hù)組件之一,主要用來(lái)控制訪問(wèn)API的IP地址和帳戶(hù),您可以通過(guò)設(shè)置IP地址或帳戶(hù)的黑白名單來(lái)允許/拒絕某個(gè)IP地址或帳戶(hù)訪問(wèn)API。
應(yīng)用(憑據(jù))
應(yīng)用(APP)定義了一個(gè)API調(diào)用者的身份??梢詫⒁粋€(gè)API授權(quán)給多個(gè)應(yīng)用,也可以將多個(gè)API授權(quán)給同一個(gè)應(yīng)用。
簽名密鑰
簽名密鑰由一對(duì)Key和Secret組成,用于后端服務(wù)驗(yàn)證API網(wǎng)關(guān)的身份,在API網(wǎng)關(guān)請(qǐng)求后端服務(wù)時(shí),保障后端服務(wù)的安全。
當(dāng)簽名密鑰綁定API后,API網(wǎng)關(guān)向后端服務(wù)發(fā)送此API的請(qǐng)求時(shí),會(huì)增加相應(yīng)的簽名信息,此時(shí)后端服務(wù)依照同樣方式進(jìn)行簽名并得到簽名結(jié)果,如果和API網(wǎng)關(guān)傳過(guò)來(lái)的Authorization頭中簽名一致,則可證明API請(qǐng)求確實(shí)來(lái)自API網(wǎng)關(guān),而不是其他偽造請(qǐng)求。
VPC通道(負(fù)載通道)
API網(wǎng)關(guān)通過(guò)VPC通道訪問(wèn)部署在VPC內(nèi)的服務(wù),您可以借助API網(wǎng)關(guān)將部署在VPC中的后端服務(wù)開(kāi)放給第三方用戶(hù)調(diào)用。
自定義認(rèn)證
自定義認(rèn)證指在API調(diào)用過(guò)程中,用戶(hù)可自行定義認(rèn)證規(guī)則,實(shí)現(xiàn)API網(wǎng)關(guān)對(duì)調(diào)用方發(fā)起的請(qǐng)求、后端服務(wù)對(duì)API網(wǎng)關(guān)轉(zhuǎn)發(fā)的請(qǐng)求進(jìn)行有效性以及完整性校驗(yàn)。
自定義認(rèn)證包含以下兩種認(rèn)證:
前端自定義認(rèn)證:如果您希望使用自己的認(rèn)證系統(tǒng),而不是APP認(rèn)證/華為IAM認(rèn)證對(duì)API的訪問(wèn)進(jìn)行認(rèn)證鑒權(quán)時(shí),您可以使用自定義認(rèn)證,通過(guò)您自定義的函數(shù)進(jìn)行認(rèn)證鑒權(quán)。
后端自定義認(rèn)證:當(dāng)不同的后端服務(wù)使用不同的認(rèn)證系統(tǒng)時(shí),導(dǎo)致您需要為不同的認(rèn)證系統(tǒng)定制化開(kāi)發(fā)API,而APIG通過(guò)自定義認(rèn)證功能,將多種認(rèn)證系統(tǒng)集成,簡(jiǎn)化API開(kāi)發(fā)的復(fù)雜度。您只需要在APIG中創(chuàng)建自定義的函數(shù)認(rèn)證,APIG通過(guò)此函數(shù)對(duì)接后端認(rèn)證系統(tǒng),獲取后端服務(wù)的訪問(wèn)授權(quán)。
簡(jiǎn)易認(rèn)證
簡(jiǎn)易認(rèn)證指調(diào)用API時(shí),在HTTP請(qǐng)求頭部消息增加一個(gè)參數(shù)X-Apig-AppCode(參數(shù)值填A(yù)ppCode),而不需要對(duì)請(qǐng)求內(nèi)容簽名,API網(wǎng)關(guān)也僅校驗(yàn)AppCode,不校驗(yàn)請(qǐng)求簽名,從而實(shí)現(xiàn)快速響應(yīng)。
網(wǎng)關(guān)響應(yīng)
網(wǎng)關(guān)響應(yīng)指API網(wǎng)關(guān)未能成功處理API請(qǐng)求,從而產(chǎn)生的錯(cuò)誤響應(yīng)。API網(wǎng)關(guān)提供默認(rèn)的網(wǎng)關(guān)響應(yīng)(default),如果您需要自定義響應(yīng)狀態(tài)碼或網(wǎng)關(guān)響應(yīng)內(nèi)容,可在API分組管理中新增網(wǎng)關(guān)響應(yīng),其中響應(yīng)內(nèi)容符合JSON格式即可。
API網(wǎng)關(guān)常見(jiàn)問(wèn)題
API網(wǎng)關(guān)常見(jiàn)問(wèn)題
API網(wǎng)關(guān)相關(guān)視頻
API網(wǎng)關(guān)
05:43
API網(wǎng)關(guān)
02:11
API網(wǎng)關(guān)精選推薦
1對(duì)1咨詢(xún)專(zhuān)屬顧問(wèn)
華為云咨詢(xún)電話:950808或4000-955-988 轉(zhuǎn)1
華為云咨詢(xún)電話:950808或4000-955-988 轉(zhuǎn)1