SecretsManagerCache - AWS Secrets Manager

SecretsManagerCache

适用于从 Secrets Manager 请求的密钥的内存中缓存。您使用 GetSecretStringGetSecretBinary 从缓存中检索密钥。您可以通过传入构造函数中的 SecretCacheConfiguration 对象来配置缓存设置。

有关包括示例在内的更多信息,请参阅 检索 .NET 应用程序中的 AWS Secrets Manager 密钥

构造函数

public SecretsManagerCache()

适用于 SecretsManagerCache 对象的默认构造函数。

public SecretsManagerCache(IAmazonSecretsManager secretsManager)

使用 Secrets Manager 客户端(使用提供的 AmazonSecretsManagerClient 创建)构造新缓存。使用此构造函数可自定义 Secrets Manager 客户端,例如使用某一特定区域或终端节点。

参数

secretsManager

要从中检索密钥的 AmazonSecretsManagerClient

public SecretsManagerCache(SecretCacheConfiguration config)

使用提供的 SecretCacheConfiguration 构造新密钥缓存。使用此构造函数来配置缓存,例如要缓存的密钥数量及其刷新频率。

参数

config

一个 SecretCacheConfiguration,其中包含缓存的配置信息。

public SecretsManagerCache(IAmazonSecretsManager secretsManager, SecretCacheConfiguration config)

使用 Secrets Manager 客户端(使用提供的 AmazonSecretsManagerClientSecretCacheConfiguration 创建)构造新缓存。使用此构造函数可自定义 Secrets Manager 客户端,例如使用某一特定区域或终端节点以及配置缓存,例如要缓存的密钥数量及其刷新频率。

参数

secretsManager

要从中检索密钥的 AmazonSecretsManagerClient

config

一个 SecretCacheConfiguration,其中包含缓存的配置信息。

方法

GetSecretString

public async Task<String> GetSecretString(String secretId)

从 Secrets Manager 中检索字符串密钥。

参数

secretId

要检索的密钥的 ARN 或名称。

GetSecretBinary

public async Task<byte[]> GetSecretBinary(String secretId)

从 Secrets Manager 中检索二进制密钥。

参数

secretId

要检索的密钥的 ARN 或名称。

RefreshNowAsync

public async Task<bool> RefreshNowAsync(String secretId)

请从 Secrets Manager 请求密钥值,并使用任何更改更新缓存。如果没有现有的缓存条目,请创建一个新缓存条目。如果刷新成功,则返回 true

参数

secretId

要检索的密钥的 ARN 或名称。

GetCachedSecret

public SecretCacheItem GetCachedSecret(string secretId)

返回指定密钥的缓存条目(如果缓存中存在该密钥)。否则,从 Secret Manager 中该检索密钥,并创建一个新缓存条目。

参数

secretId

要检索的密钥的 ARN 或名称。