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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

如何在云上使用confd+ACM管理敏感数据

發布時間:2024/8/23 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在云上使用confd+ACM管理敏感数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在前面的一些文章中,我們介紹了如何在云上安全的存放配置數據,但是上面的方法都是有代碼侵入性的,也就是說需要修改應用程序,本文會講解如何使用 confd+ACM 在不修改代碼的情況下動態修改應用所需的配置,并且可以重新啟動應用加載最新的配置。這樣做可以在無代碼侵入的情況下加強應用程序的安全性和運維效率:

  • 安全性:應用程序的數據可能是敏感數據,ACM 具有健壯的訪問控制機制,可以對敏感數據進行加密來安全的保存密碼、API密鑰、證書等敏感信息;
  • 運維效率:當需要修改應用的某些配置內容時,如果只有一兩臺機器可以手工操作,但是當涉及幾十上百臺數量的時候,confd+ACM可以通過配置的發布批量進行配置修改和重啟操作;
  • 無代碼侵入:通過confd+ACM的組合可以做到無需修改應用代碼即可達到讓應用配置動態生效的效果

下面以應用的數據庫配置為例講解如何使用confd+ACM安全管理應用配置

準備工作

在操作本文的示例之前需要配置好開通ACM和對confd的使用有基本概念。

創建confd配置文件

創建confd所需的toml格式配置文件

vim /etc/confd/conf.d/myapp.toml

指定模版文件,
ACM中的加密配置需要以/cipher-開頭
check_cmd用于檢驗配置的正確性,防止錯誤配置導致應用加載失敗
reload_cmd用于重啟應用或者讓應用動態加載配置

[template] src = "jdbc.properties.tmpl" dest = "/tmp/jdbc.properties" keys = [ "/cipher-myapp/database/jdbc", ]#check_cmd = "check config is correct" reload_cmd = "restart app"

創建模版文件

vim /etc/confd/templates/jdbc.properties.tmpl

getv從ACM中獲取對應dataId的配置:
/cipher-myapp/database/jdbc對應的dataId為cipher-myapp.database.jdbc
confd基于kms會自動對/cipher-開頭的配置進行解密

{{$data := json (getv "/cipher-myapp/database/jdbc")}} jdbc.url={{$data.url}} jdbc.username={{$data.username}} jdbc.password={{$data.password}}

在ACM上創建所需的配置文件

創建dataId為cipher-myapp.database.jdbc的配置文件,group使用默認的DEFAULT_GROUP即可,配置內容為

{ "url":"jdbc:mysql://localhost:3306/dbName", "username":"testuser", "password":"testpassword" }

啟動confd

和官網文檔不同的是,要支持解密功能,需要設置confd的-openKMS開關,并且設置kms服務的regionId,這個信息可以從示例代碼中獲得

confd -backend nacos -endpoint {endpoint}:8080 -namespace {namespace} -accessKey {accessKey} -secretKey {secretKey} -openKMS true -regionId {regionId} -watch

生成配置文件

查看生成的/tmp/jdbc.properties配置文件,如果生成了該文件,并且文件內容如下則說明整個流程運行正常

jdbc.url=jdbc:mysql://localhost:3306/dbName jdbc.username=testuser jdbc.password=testpassword

變更ACM配置內容

當需要修改數據庫的連接串的時候,直接在ACM上修改cipher-myapp.database.jdbc配置,confd會重新生成數據庫配置文件,并讓應用加載最新配置。當然在實際生產環境中,可以使用ACM的Beta功能對幾臺機器先進行灰度發布,檢驗沒問題再繼續全量發布


原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。

總結

以上是生活随笔為你收集整理的如何在云上使用confd+ACM管理敏感数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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