国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nacos鑒權(quán)和配置加密—官方原版

這篇具有很好參考價值的文章主要介紹了Nacos鑒權(quán)和配置加密—官方原版。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、鑒權(quán)

按照官方文檔配置啟動,默認是不需要登錄的,這樣會導(dǎo)致配置中心對外直接暴露。而啟用鑒權(quán)之后,需要在使用用戶名和密碼登錄之后,才能正常使用nacos。開啟鑒權(quán)之前,application.properties中的配置信息為:


nacos.core.auth.enabled=false

開啟鑒權(quán)之后,application.properties中的配置信息為:


### If turn on auth system:
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true

1、自定義密鑰

開啟鑒權(quán)之后,你可以自定義用于生成JWT令牌的密鑰,application.properties中的配置信息為:


### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=SecretKey0123456789012345678901234567890123456789012345678901

自定義密鑰時,推薦將配置項設(shè)置為Base64編碼的字符串,且原始密鑰長度不得低于32字符。例如下面的的例子:


### The default token(Base64 String):
nacos.core.auth.default.token.secret.key=VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=

注意:鑒權(quán)開關(guān)是修改之后立馬生效的,不需要重啟服務(wù)端。

2、開啟服務(wù)身份識別功能

開啟鑒權(quán)功能后,服務(wù)端之間的請求也會通過鑒權(quán)系統(tǒng)的影響??紤]到服務(wù)端之間的通信應(yīng)該是可信的,因此在1.2~1.4.0版本期間,通過User-Agent中是否包含Nacos-Server來進行判斷請求是否來自其他服務(wù)端。

但這種實現(xiàn)由于過于簡單且固定,導(dǎo)致可能存在安全問題。因此從1.4.1版本開始,Nacos添加服務(wù)身份識別功能,用戶可以自行配置服務(wù)端的Identity,不再使用User-Agent作為服務(wù)端請求的判斷標準。

開啟方式:


### 開啟鑒權(quán)
nacos.core.auth.enabled=true

### 關(guān)閉使用user-agent判斷服務(wù)端請求并放行鑒權(quán)的功能
nacos.core.auth.enable.userAgentAuthWhite=false

### 配置自定義身份識別的key(不可為空)和value(不可為空)
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example

** 注意 ** 所有集群均需要配置相同的server.identity信息,否則可能導(dǎo)致服務(wù)端之間數(shù)據(jù)不一致或無法刪除實例等問題。

二、配置加密

為保證用戶敏感配置數(shù)據(jù)的安全,Nacos 提供了配置加密的新特性。降低了用戶使用的風(fēng)險,也不需要再對配置進行單獨的加密處理

前提條件

版本:

老版本暫時不兼容,目前只基于2.x版本進行了改造,推薦版本 > 2.0.4。

內(nèi)嵌數(shù)據(jù)庫啟動:

數(shù)據(jù)庫表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用來存儲每一個配置項加密使用的秘鑰。新版本的默認創(chuàng)建表的sql中已經(jīng)添加該字段。

如果之前使用過內(nèi)嵌數(shù)據(jù)庫的單機模式啟動,則需要刪除 nacos/data 文件夾,在重新啟動會重新創(chuàng)建表。

MySQL啟動:

數(shù)據(jù)庫表 config_info、config_info_beta、his_config_info中需要新增字段 encrypted_data_key ,用來存儲每一個配置項加密使用的秘鑰。新版本的默認創(chuàng)建表的sql中已經(jīng)添加該字段。

對于目前已經(jīng)搭建好的 Nacos 使用以下 sql 將字段添加到對應(yīng)的表中:
ALTER TABLE table_name ADD COLUMN `encrypted_data_key` text NOT NULL COMMENT '秘鑰'

插件化實現(xiàn)

Nacos鑒權(quán)和配置加密—官方原版

通過 SPI 的機制抽象出加密和解密的操作,Nacos 默認提供 AES 的實現(xiàn)。用戶也可以自定義加解密的實現(xiàn)方式。具體的實現(xiàn)在 nacos-plugin 倉庫。

在 Nacos 服務(wù)端啟動的時候就會加載所有依賴的加解密算法,然后通過發(fā)布配置的 dataId 的前綴來進行匹配是否需要加解密和使用的加解密算法。

客戶端發(fā)布的配置會在客戶端通過filter完成加解密,也就是配置在傳輸過程中都是密文的。而控制臺發(fā)布的配置會在服務(wù)端進行處理。

如何使用

Nacos 加解密插件是可插拔的,有沒有都不影響 Nacos 的核心功能的運行。如果想要使用 Naocs 的配置加解密功能需要單獨引用加密算法的實現(xiàn)??蛻舳撕头?wù)端都通過添加以下依賴來使用 AES 加解密算法,服務(wù)端推薦添加到 config 模塊下。


        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-aes-encryption-plugin</artifactId>
            <version>${nacos-aes-encryption-plugin.version}</version>
        </dependency>

${nacos-aes-encryption-plugin.version} 可以獲取插件的最新版本。

目前插件需要自己編譯,并未上傳至maven中央倉庫

如何編譯

編譯插件之前需要先編譯nacos并安裝至本地倉庫.

  1. git clone git@github.com:alibaba/nacos.git

  1. cd nacos && mvn -B clean package install -Dmaven.test.skip=true

若出現(xiàn)revision變量無法解析,請更新maven至最新版本
  1. git clone git@github.com:nacos-group/nacos-plugin.git

  1. mvn install

建議上傳到公司的maven倉庫

創(chuàng)建加密配置

  • 打開 Nacos 控制臺,點擊新建配置。

Nacos鑒權(quán)和配置加密—官方原版
  • 配置前綴使用cipher-[加密算法名稱]-dataId來標識這個配置需要加密,系統(tǒng)會自動識別并加密。例如使用 AES 算法來解密配置:cipher-aes-application-dev.yml。

Nacos鑒權(quán)和配置加密—官方原版
  • 點擊保存,查看數(shù)據(jù)庫

三、客戶端如何進行鑒權(quán)

Java SDK鑒權(quán)

在構(gòu)建“Properties”類時,需傳入用戶名和密碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-452742.html


properties.put("username","${username}");
properties.put("password","${password}");

示例代碼


try {
    // Initialize the configuration service, and the console automatically obtains the following parameters through the sample code.
    String serverAddr = "{serverAddr}";
    Properties properties = new Properties();
    properties.put("serverAddr", serverAddr);

    // if need username and password to login
        properties.put("username","nacos");
        properties.put("password","nacos");

    ConfigService configService = NacosFactory.createConfigService(properties);
} catch (NacosException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
?? 文章下方有交流學(xué)習(xí)區(qū)!一起學(xué)習(xí)進步!也可以前往官網(wǎng),加入官方微信交流群??????
?? 創(chuàng)作不易,如果覺得文章不錯,可以點贊?? 收藏?? 評論??
?

到了這里,關(guān)于Nacos鑒權(quán)和配置加密—官方原版的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Nacos開啟鑒權(quán)后讀取不到配置文件,get data from Nacos error,dataId:http error, code=403,dataId=

    報錯信息 解決辦法 我開始沒加鑒權(quán),使用的是application.yml是可以的,加了之后要將application.yml換成bootstrap.yml。 spring cloud Alibaba組件版本依賴關(guān)系 2021.x 分支 適配 Spring Boot 2.4,Spring Cloud 2021.x 版本及以上的 Spring Cloud Alibaba 版本按從新到舊排列如下表(最新版本用*標記):

    2024年03月23日
    瀏覽(51)
  • Office 365 官方原版鏡像下載

    中文說明:專業(yè)增強版-簡體中文版 文件名稱:O365ProPlusRetail.img 下載地址:https://officecdn.microsoft.com/db/492350F6-3A01-4F97-B9C0-C7C6DDF67D60/media/zh-CN/O365ProPlusRetail.img 中文說明:專業(yè)增強版-繁體中文版 文件名稱:O365ProPlusRetail.img 下載地址:https://officecdn.microsoft.com/db/492350F6-3A01-4F97-B9

    2024年02月12日
    瀏覽(33)
  • Java Sockets詳解—官方原版

    Java Sockets詳解—官方原版

    通常情況下,服務(wù)器運行在特定的計算機上,并且具有綁定到特定端口號的Socket。服務(wù)器只是等待,監(jiān)聽Socket,等待客戶端發(fā)出連接請求。 在客戶端:客戶端知道服務(wù)器正在運行的機器的主機名以及服務(wù)器正在偵聽的端口號。要發(fā)出連接請求,客戶端會嘗試在服務(wù)器的計算機

    2024年02月03日
    瀏覽(28)
  • WebSocket—STOMP詳解(官方原版)

    WebSocket—STOMP詳解(官方原版)

    WebSocket協(xié)議定義了兩種類型的消息(文本和二進制),但其內(nèi)容未作定義。該協(xié)議定義了一種機制,供客戶端和服務(wù)器協(xié)商在WebSocket之上使用的子協(xié)議(即更高級別的消息傳遞協(xié)議),以定義各自可以發(fā)送何種消息、格式是什么、每個消息的內(nèi)容等等。子協(xié)議的使用是可選的

    2024年02月04日
    瀏覽(21)
  • 老電腦安裝win11官方原版系統(tǒng)

    老電腦安裝win11官方原版系統(tǒng)

    提示:本處以微軟2023年下半年發(fā)布的windows11 23H2 版本作為案例演示 例如:隨著window系統(tǒng)的更新迭代,很多軟件已不支持老的windows系統(tǒng),老的電腦硬件也不滿足新系統(tǒng)的安裝要求,老電腦買了才幾年換新電腦不劃算,很多人都開始了老電腦安裝新系統(tǒng)的學(xué)習(xí),本文就介紹了老

    2024年02月03日
    瀏覽(29)
  • Spring Mvc 文件上傳(MultipartFile )—官方原版

    要啟動Spring Boot MVC應(yīng)用程序,首先需要一個啟動器。在這個示例中,已經(jīng)添加了spring-boot-starter thymelaf和spring-boot-starter web作為依賴項。要使用Servlet容器上傳文件,您需要注冊一個MultipartConfigElement類(在web.xml中為<multipart-config>)。多虧了Spring Boot,一切都可以自動配置!

    2024年02月14日
    瀏覽(19)
  • Nacos 中的配置文件如何實現(xiàn)加密傳輸

    Nacos 中的配置文件如何實現(xiàn)加密傳輸

    小伙伴們知道,Spring Cloud Config 很早就提供了配置文件的加解密功能,并且支持對稱加密和非對稱加密兩種不同的模式。Nacos 作為分布式配置中心+服務(wù)注冊中心的合體,在配置文件加密這塊一直差點意思,不過好在,如果你使用的 Nacos 版本大于 2.0.4 這個版本,那么現(xiàn)在也可

    2024年02月12日
    瀏覽(17)
  • springBoot配置文件賬號密碼加密存儲(springCloud nacos)

    springBoot配置文件賬號密碼加密存儲(springCloud nacos)

    ????????最近公司有要求,項目中的配置文件不允許明文存儲,全部要改為密文,收集了一些資料,在這里做下記錄總結(jié)。 在Application啟動主類中加入啟動注解 @EnableEncryptableProperties 注:加密因子password配置在配置文件中也會涉及到安全問題,更安全的做法是:將其作為系

    2024年02月16日
    瀏覽(27)
  • 微服務(wù)nacos或者yml配置內(nèi)容部分加密jasypt

    1.引入依賴(版本自定): 2.yml新增配置: 注:algorithm是加密算法,官方默認的加密算法是 PBEWITHHMACSHA512ANDAES_256,但是如果你用的是 JDK1.8,還用不了這個算法,JDK9以上才支持,所以可以把這個算法改成PBEWithMD5AndDES。 2.1.2版本默認加密方式為:PBEWithMD5AndDES 3.0.3版本默認加密

    2024年02月10日
    瀏覽(19)
  • Spring Cloud Gateway GlobalFilter(全局過濾器)詳解(官方原版)

    GlobalFilter接口具有與GatewayFilter相同的簽名。這些是有條件地應(yīng)用于所有路由的特殊過濾器。 當(dāng)請求與路由匹配時,過濾web處理程序會將GlobalFilter的所有實例和GatewayFilter的所有路由特定實例添加到過濾器鏈中。這個組合過濾器鏈由org.springframework.core.Ordered接口排序,您可以通

    2024年02月09日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包