微服務的權限控制方法及裝置與流程
2023-06-03 02:25:31
本發明涉及電子信息技術領域,尤其涉及一種微服務的權限控制方法及裝置。
背景技術:
隨著網際網路公司的技術架構逐步轉向微服務化,大型公司的微服務化應用數量大量增加,服務之間的權限控制越來越重要,而密鑰是權限管理中認證的重要手段。目前的實現技術主要有兩種:
一種是手工管理密鑰和權限文件並分發,並在微服務中使用。這種方式初期管理比較簡單,但隨著微服務的運行,將產生較多的密鑰更新需求和權限變更需求。這時,手工管理的方式,出現了密鑰、權限文件管理複雜、升級困難等問題。
第二種是集中管理密鑰和權限文件,每次請求的時候,經過集中式的權限管理平臺驗證調用是否被授權。這種方式可以保證較強的一致性,實現較為簡單。但隨著應用的訪問量逐步增大,集中式的管理方式逐步會帶來性能問題,並且,由於授權自身也是一個服務,並且處於業務路徑裡,所以高可用方面也需要特殊考慮,在架構上引入了較大的複雜性。
綜上,現有的權限管理技術或存在變更困難,或存在架構複雜度提升的問題。
上述內容僅用於輔助理解本發明的技術方案,並不代表承認上述內容是現有技術。
技術實現要素:
本發明的主要目的在於提供一種微服務的權限控制方法及裝置,旨在解決現有的權限管理技術或存在變更困難,或存在架構複雜度提升的問題。
為實現上述目的,本發明提供的一種微服務的權限控制方法,包括以下步驟:
接收權限請求指令;
在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;
在身份信息驗證通過後,下發所述身份信息對應的密鑰信息以使用與所述請求指令對應的微服務。
優選地,所述對所述請求指令對應的身份信息進行驗證的步驟包括:
提取所述請求指令攜帶的IP信息;
對所述IP信息進行驗證,在所述IP信息驗證通過後,判斷所述身份信息通過驗證。
優選地,所述下發所述身份信息對應的密鑰以使用與所述請求指令對應的微服務的步驟包括:
獲取所述身份信息對應的密鑰信息以及權限文件,將所述密鑰和所述權限文件發送至請求指令發送端,以供所述發送端直接根據所述密鑰和權限文件使用與所述請求指令對應的微服務。
優選地,所述方法還包括:
通過微服務拉取權限變更的方式;
獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存。
優選地,將獲取的密鑰和權限文件與對應的身份信息關聯保存的步驟之後,還包括:
通過ZK中間件向微服務的客戶端下發變更通知信息。
此外,為實現上述目的,本發明還提供一種微服務的權限控制裝置,包括:
接收模塊,用於接收權限請求指令;
驗證模塊,用於在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;
下發模塊,用於在身份信息驗證通過後,下發所述身份信息對應的密鑰信息以使用與所述請求指令對應的微服務。
優選地,所述驗證模塊包括:
提取單元,用於提取所述請求指令攜帶的IP信息;
判斷單元,用於對所述IP信息進行驗證,在所述IP信息驗證通過後,判斷所述身份信息通過驗證。
優選地,所述下發模塊,還用於獲取所述身份信息對應的密鑰信息以及權限文件,將所述密鑰和所述權限文件發送至請求指令發送端,以供所述發送端直接根據所述密鑰和權限文件使用與所述請求指令對應的微服務。
優選地,所述微服務的權限控制裝置還包括:
拉取模塊,用於通過微服務拉取權限變更的方式;
獲取模塊,用於獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存。
優選地,所述下發模塊,還用於通過ZK中間件向微服務的客戶端下發變更通知信息。
本發明通過接收權限請求指令;在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;在身份信息驗證通過後,下發所述IP信息對應的密鑰信息以使用與所述請求指令對應的微服務。在接收到請求指令時,自動對發送請求指令對應的身份信息進行驗證,在驗證通過後,自動下發密鑰信息,具有管理方便、高效的目的。
附圖說明
圖1為本發明微服務的權限控制方法的第一實施例的流程示意圖;
圖2為圖1中步驟S20一實施例的細化流程示意圖;
圖3為本發明微服務的權限控制方法的第二實施例的流程示意圖;
圖4為本發明微服務的權限控制方法的第三實施例的流程示意圖;
圖5為本發明微服務的權限控制裝置的第一實施例的功能模塊示意圖;
圖6為圖5中驗證模塊一實施例的細化功能模塊示意圖;
圖7為本發明微服務的權限控制裝置的第二實施例的功能模塊示意圖。
本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
具體實施方式
應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
本發明實施例的主要解決方案是:接收權限請求指令;在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;在身份信息驗證通過後,下發所述IP信息對應的密鑰信息以使用與所述請求指令對應的微服務。在接收到請求指令時,自動對發送請求指令對應的身份信息進行驗證,在驗證通過後,自動下發密鑰信息,具有管理方便、高效的目的。
由於現有的權限管理技術或存在變更困難,或存在架構複雜度提升。
基於上述問題,本發明提供一種微服務的權限控制方法。
參照圖1,圖1為本發明微服務的權限控制方法的第一實施例的流程示意圖。
在一實施例中,所述微服務的權限控制方法包括:
步驟S10,接收權限請求指令;
步驟S20,在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;
微服務架構風格是一類將單一應用程式作為由眾多小型服務構成之套件加以開發的方式,其中各項服務都擁有自己的進程並利用輕量化機制(通常為HTTP源API)實現通信。這些服務圍繞業務功能建立而成,且憑藉自動化部署機制實現獨立部署。這些服務匹配一套最低限度的中央式管理機制,且各服務可通過不同程式語言編寫而成並使用不同的數據存儲技術。隨著社會對安全存儲和傳輸數據需求的迅猛增長,密碼技術應用也在快速的發展。越來越多的敏感數據需要在開放網絡上傳輸,密碼技術提供了一種安全的滿足各種應用需求的途徑。通過數據加密技術、防篡改的數字籤名、數字身份認證等來保護需要存儲和傳輸的敏感數據。權限請求指令是用於請求獲得權限要求的指令,在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證,以確定發送權限請求指令的終端是否具備訪問權限及具備的權限類型等,例如,認證服務號具有獲取用戶地理位置的權限,而未認證服務號不具備獲取用戶地理位置的權限。終端用戶希望獲取相應權限,通過終端的窗口界面發送相應的權限請求指令,伺服器接收該權限請求指令,並對所述請求指令對應的身份信息進行驗證。
參照圖2,圖2為圖1中步驟S20一實施例的細化流程示意圖。
步驟S21,提取所述請求指令攜帶的IP信息;
步驟S22,對所述IP信息進行驗證,在所述IP信息驗證通過後,判斷所述身份信息通過驗證。
指令發送端(通常表示終端)的IP信息是固定的,可以通過IP信息確定對應的終端,本發明一實施例通過提取請求指令攜帶的IP信息,對所述IP信息進行驗證,所述IP信息驗證通過,判斷所述身份信息通過驗證,即表示對應的終端具有相應的操作權限;此外,終端也可能通過其他方式進行身份驗證,例如,MAC地址認證、通過認證的路由設備認證及終端標識碼等方式。
步驟S30,在身份信息驗證通過後,下發所述身份信息對應的密鑰信息以使用與所述請求指令對應的微服務。
通過對敏感數據進行加密等方式,使具有相應權限的終端才能訪問,保障數據的安全性;在終端通過身份信息驗證後,下發所述IP信息對應的密鑰信息,終端通過該密鑰信息使用與所述請求指令對應的微服務,例如,發送登錄請求指令的終端,通過驗證該終端的IP信息確定該終端曾登錄過該帳號,則判斷該終端的身份信息通過驗證,可以登錄該帳號;當驗證該終端的IP信息確定該終端為初次登錄該帳號,則判斷該終端的身份信息未通過驗證,當然,還可以通過發送提示信息,使終端提供更多可進行驗證的信息以通過身份驗證,例如,提供簡訊驗證碼或回答密保問題等方式。
本發明一實施例中,下發所述身份信息對應的密鑰以使用與所述請求指令對應的微服務的步驟包括:
獲取所述身份信息對應的密鑰信息以及權限文件,將所述密鑰和所述權限文件發送至請求指令發送端,以供所述發送端直接根據所述密鑰和權限文件使用與所述請求指令對應的微服務。
在認證通過後直接向終端發送權限文件,無需客戶端的用戶手動配置,即可直接通過密鑰和權限文件來使用相應的微服務,管理簡單、方便。
本實施例通過在接收到請求指令時,自動對發送請求指令對應的身份信息進行驗證,在驗證通過後,自動下發密鑰信息,具有管理方便、高效的目的。
參照圖3,圖3為本發明微服務的權限控制方法的第二實施例的流程示意圖。基於上述微服務的權限控制方法的第一實施例,所述方法還包括:
步驟S40,通過微服務拉取權限變更的方式;
步驟S50,獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存。
終端的權即有可能發生改變,為了保證終端訪問權限的可靠性,通過微服務拉取權限變更的方式,本發明一實施例通過微服務輪詢拉取變更信息的方式主動獲取終端的權限變化等;獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存,通常採用緩存在內存中的方式,當接收到權限請求指令時,在內存中進行權限校驗操作。
本實施例通過在微服務拉取權限變更的方式,實時掌握終端權限動態,並將密鑰和權限文件保存在內存中,管理方便,驗證速度快。
參照圖4,圖4為本發明微服務的權限控制方法的第三實施例的流程示意圖。基於上述微服務的權限控制方法的第二實施例,所述方法還包括:
步驟S60,通過ZK中間件向微服務的客戶端下發變更通知信息。
ZK中間件(即ZooKeeper中間件),ZooKeeper是一個分布式的、開放源碼的分布式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。ZooKeeper是一個為分布式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。利用ZK中間件的上述優點,本發明一實施例通過ZK中間件向微服務的客戶端下發變更通知信息,具有信息發送及時等優點。
本實施例通過ZK中間件向微服務的客戶端下發變更通知信息,具有信息發送及時等優點。
本發明進一步提供一種微服務的權限控制裝置。
參照圖5,圖5為本發明微服務的權限控制裝置的第一實施例的功能模塊示意圖。
在一實施例中,所述微服務的權限控制裝置包括:接收模塊10、驗證模塊20及下發模塊30。
所述接收模塊10,用於接收權限請求指令;
所述驗證模塊20,用於在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證;
微服務架構風格是一類將單一應用程式作為由眾多小型服務構成之套件加以開發的方式,其中各項服務都擁有自己的進程並利用輕量化機制(通常為HTTP源API)實現通信。這些服務圍繞業務功能建立而成,且憑藉自動化部署機制實現獨立部署。這些服務匹配一套最低限度的中央式管理機制,且各服務可通過不同程式語言編寫而成並使用不同的數據存儲技術。隨著社會對安全存儲和傳輸數據需求的迅猛增長,密碼技術應用也在快速的發展。越來越多的敏感數據需要在開放網絡上傳輸,密碼技術提供了一種安全的滿足各種應用需求的途徑。通過數據加密技術、防篡改的數字籤名、數字身份認證等來保護需要存儲和傳輸的敏感數據。權限請求指令是用於請求獲得權限要求的指令,在接收到權限請求指令後,對所述請求指令對應的身份信息進行驗證,以確定發送權限請求指令的終端是否具備訪問權限及具備的權限類型等,例如,認證服務號具有獲取用戶地理位置的權限,而未認證服務號不具備獲取用戶地理位置的權限。終端用戶希望獲取相應權限,通過終端的窗口界面發送相應的權限請求指令,伺服器接收該權限請求指令,並對所述請求指令對應的身份信息進行驗證。
參照圖6,圖6為圖5中驗證模塊20一實施例的細化功能模塊示意圖。所述驗證模塊20包括:
提取單元21,用於提取所述請求指令攜帶的IP信息;
判斷單元22,用於對所述IP信息進行驗證,在所述IP信息驗證通過後,判斷所述身份信息通過驗證。
指令發送端(通常表示終端)的IP信息是固定的,可以通過IP信息確定對應的終端,本發明一實施例通過提取請求指令攜帶的IP信息,對所述IP信息進行驗證,所述IP信息驗證通過,判斷所述身份信息通過驗證,即表示對應的終端具有相應的操作權限;此外,終端也可能通過其他方式進行身份驗證,例如,MAC地址認證、通過認證的路由設備認證及終端標識碼等方式。
所述下發模塊30,用於在身份信息驗證通過後,下發所述身份信息對應的密鑰信息以使用與所述請求指令對應的微服務。
通過對敏感數據進行加密等方式,使具有相應權限的終端才能訪問,保障數據的安全性;在終端通過身份信息驗證後,下發所述IP信息對應的密鑰信息,終端通過該密鑰信息使用與所述請求指令對應的微服務,例如,發送登錄請求指令的終端,通過驗證該終端的IP信息確定該終端曾登錄過該帳號,則判斷該終端的身份信息通過驗證,可以登錄該帳號;當驗證該終端的IP信息確定該終端為初次登錄該帳號,則判斷該終端的身份信息未通過驗證,當然,還可以通過發送提示信息,使終端提供更多可進行驗證的信息以通過身份驗證,例如,提供簡訊驗證碼或回答密保問題等方式。
所述下發模塊30,還用於獲取所述身份信息對應的密鑰信息以及權限文件,將所述密鑰和所述權限文件發送至請求指令發送端,以供所述發送端直接根據所述密鑰和權限文件使用與所述請求指令對應的微服務。
在認證通過後直接向終端發送權限文件,無需客戶端的用戶手動配置,即可直接通過密鑰和權限文件來使用相應的微服務,管理簡單、方便。
本實施例通過在接收到請求指令時,自動對發送請求指令對應的身份信息進行驗證,在驗證通過後,自動下發密鑰信息,具有管理方便、高效的目的。
參照圖7,圖7為本發明微服務的權限控制裝置的第二實施例的功能模塊示意圖。所述微服務的權限控制裝置還包括拉取模塊40及獲取模塊50。
所述拉取模塊40,用於通過微服務拉取權限變更的方式;
所述獲取模塊50,用於獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存。
終端的權即有可能發生改變,為了保證終端訪問權限的可靠性,通過微服務拉取權限變更的方式,本發明一實施例通過微服務輪詢拉取變更信息的方式主動獲取終端的權限變化等;獲取最新的密鑰和權限文件,並將獲取的密鑰和權限文件與對應的身份信息關聯保存,通常採用緩存在內存中的方式,當接收到權限請求指令時,在內存中進行權限校驗操作。
本實施例通過在微服務拉取權限變更的方式,實時掌握終端權限動態,並將密鑰和權限文件保存在內存中,管理方便,驗證速度快。
進一步地,所述下發模塊30,還用於通過ZK中間件向微服務的客戶端下發變更通知信息。
ZK中間件(即ZooKeeper中間件),ZooKeeper是一個分布式的、開放源碼的分布式應用程式協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。ZooKeeper是一個為分布式應用提供一致性服務的軟體,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。利用ZK中間件的上述優點,本發明一實施例通過ZK中間件向微服務的客戶端下發變更通知信息,具有信息發送及時等優點。
本實施例通過ZK中間件向微服務的客戶端下發變更通知信息,具有信息發送及時等優點。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。