網頁

2021/12/22

AWS Secrets Manager 建立secret

在AWS console的Secrets Manager建立一個secret。


Secrets Manager是用來儲存secret的服務。所謂secret通常是指密碼,例如資料庫密碼、API key、auth token等。

使用Secrets Manager的好處是可避免直接在應用程式中寫死密碼,且可設定輪替(rotation)功能來更新密碼

下面是一般的使用情境:

  1. 管理員[Admin]建立資料庫[Personal database]的密碼及權限。
  2. 管理員將資料庫的密碼存放在[Secrets Manager]並由[KMS]的key加密。
  3. 當應用程式[MyCustomApp]需存取資料庫時,向[Secrets Manager]請求密碼。
  4. [Secrets Manager]將密碼解密回傳給應用程式[MyCustomApp]。
  5. [MyCustomApp]使用取得密碼來存取資料庫。



建立secret

登入AWS console,選擇服務區域(region)。

在上方搜尋欄搜尋"Secrets Manager",點選[Secrets Manager]。



在Secrets Manager服務左側選單點選[Secrets],然後點選右側的[Secrets]區塊的[Store a new secret]建立新的secret。



[Select type]選擇secret類型,範例選擇[Other type of secret]。



[Key/value pairs]的前面欄位為key名稱,範例為secret;後面欄位是key對應的value,範例為12345。[Encryption key]選擇預設的[DefaultEncryptionKey]。按[Next]往下一步。



[Secret name and description]設定secret的名稱及敘述。範例[Secret name]命名為demo/custom/secret1



[Tags]、[Resources permissions]及[Replicate secret]維持預設。



[Secret rotation]選擇[Disable automatic rotation],即不使用secret自動輪替功能。



[Review]審視剛設定的結果。




[Sample code]顯示存取secret的程式範例。



最後點選[Store]按鈕完成。

在[Secrets]可看到新建好的secret。點選secret名稱進入[Secret details]



在[Secret details]點選右上方[Actions]選單的[Delete secret]可刪除secret。



刪除secret前需要等待至少7天才能真正被刪除,可設定7-30天。等待刪除的secret將無法被使用。點選[Schedule deletion]確認安排刪除。



已安排刪除的secret預設不會顯示在[Secrets]清單中,可點選右上的齒輪符號開啟[Preferences]。



在[Preferences]勾選[Show secrets scheduled for deletion]才能在[Secrets]清單顯示已安排刪除的secret。



點選進入安排刪除的secret的[Secret detals]上方會出現"This secret has been scheduled for deletion"的提示。




前面設定secret的[Key/value pairs]時,若[Encryption key]選擇預設的[DefaultEncryptionKey]則會在KMS的[AWS managed keys]新增一個加解密secret用的金鑰。




沒有留言:

張貼留言