日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

在ASP.Net Core和JAVA中,使用Azure配置密钥——Key Vault

發布時間:2023/12/4 asp.net 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在ASP.Net Core和JAVA中,使用Azure配置密钥——Key Vault 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ?思路淺析? ? ? ?? ? ? ??

在軟件開發中,項目安全是重中之重,特別是在多部門或者開源項目中,如何保存我們的密鑰,但又不影響本地的開發,更需要我們開發者需要考慮的問題,這里簡單的列舉了下平時開發中我們做的方案:

1、本地直接采用localhost的形式開發。無論是DB還是ES/Redis/MQ,或者是其他的,都一股腦用本地的參數,然后部署到K8s的時候,使用Configmap的形式掛載。也是一種方案,但是會使dev和prod之間隔離的比較厲害
2、使用遠程配置中心來統一處理本地和生產直接的數據。比如常見的就是Apollo,Azure的Key Vault技術等等。推薦的方式。
3、每次上線都手動修改。這顯然是不合理的。

作為經常使用Azure的開發者,決定使用Key Vault技術嘗試一波,并在ASP.NetCore和SpringBoot中,來一個Demo嘗試。

PS:本文采用的都是世紀互聯的azure.cn的。

? ?前期準備賬號? ?

首先,需要注冊一個Azure賬號。

其次,需要注冊一個應用程序,注冊的時候,填寫Client密碼,密碼要好好保存喲,以后會多次使用。

搜索app registration,注冊一個賬號

輸入應用名稱,其他的都默認即可

接下來,在Certificates & secrets中,添加Client secrets

有了應用,就可以在應用內設置密鑰了。

這個時候我們已經有兩個參數了,分別是ClientId和ClientSecret。

? ?配置key vault? ?

步驟 1 -?添加Key vault服務

繼續在頂部搜索Key vault關鍵字

創建一個全新的key vault服務,選擇自己的訂閱和資源組,設置下名稱

創建完成后,就可以在keyvault的overview頁,看到另外兩個參數了:

另外兩個參數,一個是vault的uri,一個是tenantid也準備好了。

到這里四個參數都已經準備好了。

步驟 2?- 參數設置

點擊settings下面的secrets選項,創建或導入配置:

在彈出的新頁面中,選擇Manual方式,輸入name和value,配置數據庫的用戶名:

然后就創建完成了,可以仿照的把sqlserver的密碼也配置一下

現在,萬事具備,只差寫代碼了。

? ?新建一個Core項目? ?

步驟 1 - 創建一個ASP.NetCore5.0 API項目

過程很簡單,就不多說了,創建好后,添加nuget包:

<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.1.21" /> <PackageReference?Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets"?Version="1.10.9"?/>

然后,將上邊四個變量放到環境變量里,本地開發可以在launchSettings.json里

"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"launchUrl": "swagger","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development","AZURE_TENANT_ID": "你的tenantid","AZURE_CLIENT_ID": "你的客戶端id","AZURE_CLIENT_SECRET": "你的客戶端密鑰","AZURE_KEY_VAULT_URI": "https://blog-core-keyvault.vault.azure.cn/"}}

步驟 2?- 配置Program,連接配置中心

在Program.cs里配置

Host.CreateDefaultBuilder(args).ConfigureAppConfiguration((hostingContext, config) =>{var env = hostingContext.HostingEnvironment;var tenantId = Environment.GetEnvironmentVariable("AZURE_TENANT_ID");var clientId = Environment.GetEnvironmentVariable("AZURE_CLIENT_ID");var clientSecret = Environment.GetEnvironmentVariable("AZURE_CLIENT_SECRET");config.AddJsonFile("appsettings.json", true).AddJsonFile($"appsettings.{env.EnvironmentName}.json", true).AddEnvironmentVariables();string vaultUri = "https://blog-core-keyvault.vault.azure.cn/";config.AddAzureKeyVault(vaultUri, clientId, clientSecret);}).ConfigureWebHostDefaults(webBuilder =>{webBuilder.UseStartup<Startup>();});

如果這個時候,啟動應用沒有報錯的話,那恭喜你,已經連接成功了,接下來就是獲取指定的參數了。

步驟 3?-?任何地方獲取Key Vault的值

這里使用方法就是和普通的appsettings.json里的一模一樣了,注入configuration即可:

_configuration.GetValue<string>("MSSQL-USER-PASSWORD");

好啦,在ASP.NETCore應用中,連接Azure Key Vault已經說完了,看看Java如何操作吧。

? ?新建一個JAVA項目? ?

步驟 1 -?創建一個Sring Boot項目

過程也是很簡單,可以用Idea創建,也可以使用官方的模板來創建,就不多說了,創建好后,添加pom包:

<dependency><groupId>com.azure.spring</groupId><artifactId>azure-spring-boot-starter-keyvault-secrets</artifactId> </dependency

然后,將上邊四個變量放到配置文件里,

azure.keyvault.enabled=true azure.keyvault.uri=https://blog-core-keyvault.vault.azure.cn/ azure.keyvault.client-id=你的應用id azure.keyvault.client-key=你的應用密鑰 azure.keyvault.tenant-id=你的tenantid azure.keyvault.authority-host=https://login.chinacloudapi.cn

注意最后一個配置很重要,需要指定host地址,因為默認的是azure.com的,如果你是azure.com的可以不用指定。

步驟 2?-?任何地方獲取Key Vault的值

這里使用方法就是和普通的yml里的一模一樣了,配置變量,打上@Value注解即可:

@SpringBootApplication public class KeyvaultApplication implements CommandLineRunner {@Value("${MSSQL-USER-NAME}")private String mySecretProperty;public static void main(String[] args) {SpringApplication.run(KeyvaultApplication.class, args);}@Overridepublic?void?run(String...?args)?{System.out.println("property your-property-name value is: " + mySecretProperty);} }

好啦,在JAVA應用中,連接Azure Key Vault也說完了,大家可以嘗試動手聯系一下喲。

? ? ? 總結? ? ??

本文以 ASP.NET Core 和 JAVA 為例講解了如何在 Azure 中連接Key Vault配置,整體流程簡單方便,文檔特別清晰,再一次為微軟Doc文檔而歡呼。

*Source Link:

  • https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/spring/azure-spring-boot-starter-keyvault-secrets

  • https://devblogs.microsoft.com/dotnet/category/net-core/?WT.mc_id=DOP-MVP-5003704

*Github:

  • https://github.com/anjoy8/Blog.Core/

彩蛋

犧牲了很多個周末的時光,前前后后近一年的時間,我和其他幾個小伙伴(主要是另外三個小伙伴來做的),將我這兩年的博客整理了一本書——《ASP.Net Core 5.0入門與實戰》,元旦就可以出版啦!!!有需要的小伙伴可以到時候在各大平臺搜索喲,還有一個月的倒計時。

友情提醒,大部分的內容都我這三年來寫的博客相關的,也有新的內容,比如VUE3.0等等,良性購買喲。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的在ASP.Net Core和JAVA中,使用Azure配置密钥——Key Vault的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美午夜一区二区 | 99福利在线| 免费人成 | 亚洲精品成人久久 | 青娱乐最新视频 | 精品一区免费 | 人人爽人人干 | 国产人澡人澡澡澡人碰视频 | 精品久久综合 | 亚洲欧美视频二区 | 国产理论片在线观看 | 欧美日韩免费一区二区三区 | www.av777| 国产ts丝袜人妖系列视频 | 黄色av播放 | 中文字幕免费在线观看视频 | 日韩精品一区二区在线看 | 欧美黄色片 | 99久99 | 最新av免费观看 | 成人在线观看网站 | 四虎4hu| 成人亚洲玉足脚交系列 | 国产精品老熟女一区二区 | 天天色亚洲 | 欧美 变态 另类 人妖 | 国产精品久久久久久亚洲毛片 | 香蕉福利视频 | 国产精选在线 | 青娱乐国产视频 | 日韩一级伦理片 | 国产区高清| 欧美激情h| 国产主播av在线 | 91片黄在线观 | 亚洲乱子伦 | 淫僧荡尼巨乳(h)小说 | 综合 欧美 亚洲日本 | 中文字幕欧美人妻精品 | 国产美女主播在线 | 91av免费 | 澳门黄色一级片 | 88av视频 | 男女高潮网站 | 免费啪| 久久天堂av综合合色蜜桃网 | www.日韩一区 | 女性裸体瑜伽无遮挡 | 精品日韩欧美 | 久久久看片| 日韩精品视频免费 | 九九视频在线 | 在线观看日本网站 | 国产精品伦一区二区三区 | 青苹果av | 在线成人免费 | www成人免费视频 | 日本少妇18p | 国产麻豆电影在线观看 | 给我看高清的视频在线观看 | 国模精品一区 | 亚洲视频在线看 | 午夜aaa片一区二区专区 | 精品久久久久久久免费人妻 | 亚洲一级中文字幕 | 欧美激情xxx | 中国在线观看免费高清视频播放 | 国产高清不卡视频 | 美女被爆操网站 | 成人一级生活片 | 99精品一区二区三区 | 很黄很污的视频网站 | 91美女精品网站 | 人妖一区二区三区 | 手机看黄色 | 夜夜摸夜夜操 | 女人十八毛片嫩草av | 99精品毛片| 黑色丝袜吻戏亲胸摸腿 | 激情亚洲视频 | 欧美日韩国产大片 | av天堂一区二区三区 | 中文字幕超碰在线 | 国产91精品高潮白浆喷水 | 奇米一区二区三区 | 99视频在线看 | 欧美日韩一区二区三区四区五区 | 日产久久久久久 | 葵司av电影| 福利精品| 中文在线观看高清视频 | 久久影视精品 | 日韩视频二区 | 在线观看免费国产 | 国产小视频在线 | 国模无码视频一区二区三区 | 天天射综合网站 | 亚洲av无码乱码国产麻豆 | 一区二区高清视频 |