本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定參數存放區
參數存放區是的功能 AWS Systems Manager。它為組態資料管理和機密管理提供安全的階層式儲存。您可以將密碼、資料庫字串、Amazon 機器映像 (AMI) 和授權代碼IDs等資料存放為參數值。
搭配使用參數存放區的先決條件。 NET框架應用
-
一個活躍的 AWS 帳戶
-
Microsoft 視覺工作室
,已安裝 -
AWS Command Line Interface (AWS CLI)版本 2,已安裝並配置為訪問您的 AWS 帳戶 (請參閱說明)
-
AWS Toolkit for Visual Studio,已設定 (請參閱說明)
-
系 Systems Manager 參數,使用 Secrets Manager 主控台或 AWS CLI
範例
若要從中的參數存放區擷取值ASP。 NET核心 Web 應用程式或API:
-
將下列 NuGet 套件新增至ASP。 NET核心網絡API。
Amazon.Extensions.Configuration.SystemsManager
-
在
Program.cs
檔案中,進行下列變更。-
添加
using
語句(1)。using Amazon; using Amazon.Extensions.NETCore.Setup;
-
加入 AWS Systems Manager 組態 (2)。
builder.Configuration.AddSystemsManager("/dev/myapp", new AWSOptions { Region = RegionEndpoint.EUWest2 });
注意
您應該動態或從環境變
RegionEndPoint
數 (Region = RegionEndpoint.GetBySystemName("eu-west-2")
) 呼叫/myapp/dev
和參數。請勿在生產環境中對這些值進行硬編碼。 -
-
創建一個新的類文件並命名它
ParameterOptions.cs
。打開文件並添加以下代碼。public class ParameterOptions { public const string ParameterName = "Tenant"; public string key1 { get; set; } = string.Empty; public string key2 { get; set; } = string.Empty; }
-
若要從「參數存放區」擷取值,請對控制器類別檔案進行下列變更 (例如
ValuesController.cs
)。-
添加構造函數(1)。
private readonly IConfiguration _configuration; public ParametersController(IConfiguration configuration) { _configuration = configuration; }
-
從參數存放區 (2) 擷取值。
var parameterOptions = new ParameterOptions(); _configuration.GetSection(ParameterOptions.ParameterName).Bind(parameterOptions); return new string[] { parameterOptions.key1, parameterOptions.key2 };
-
資源
-
AWS Secrets Manager 旋轉 Lambda 函數
(GitHub 儲存庫) -
AWS 。 NETSystems Manager 的配置擴展,示例文件夾
(GitHub存儲庫) -
如 Secrets Manager 用. NET
(AWS 安全博客)