检索 Python 应用程序中的 Amazon Secrets Manager 密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

检索 Python 应用程序中的 Amazon Secrets Manager 密钥

在检索密钥时,您可以使用 Secrets Manager 基于 Python 的缓存组件来缓存密钥,以备将来使用。检索已缓存密钥比从 Secrets Manager 中检索密钥的速度要快。由于调用 Secrets Manager API 会产生费用,因此使用缓存可以降低成本。

缓存策略为“最近最少使用 (LRU)”,因此当缓存必须丢弃某个密钥时,它会丢弃最近使用最少的密钥。原定设置下,缓存会每小时刷新一次秘密。您可以配置在缓存中刷新密钥的频率,也可以挂钩到密钥检索中以添加更多功能。

一旦释放缓存引用,缓存便不会进行强制垃圾回收。缓存实现侧重于缓存本身,而不是侧重加强安全性或以安全性为重点。如果您需要额外的安全性(例如加密缓存中的项目),请使用提供的接口和抽象方法。

要使用该组件,您必须满足以下条件:

要下载源代码,请参阅 GitHub 上的 Secrets Manager 基于 Python 的缓存客户端组件

要安装组件,请使用以下命令。

$ pip install aws-secretsmanager-caching
例 示例:检索密钥

下面的示例演示了如何获取名为 mysecret 的密钥的密钥值。

import botocore import botocore.session from aws_secretsmanager_caching import SecretCache, SecretCacheConfig client = botocore.session.get_session().create_client('secretsmanager') cache_config = SecretCacheConfig() cache = SecretCache( config = cache_config, client = client) secret = cache.get_secret_string('mysecret')