Obtener un valor secreto de Secrets Manager mediante Python con almacenamiento en caché del cliente
Cuando recupera un secreto, puede utilizar el componente de almacenamiento en caché basado en Python de Secrets Manager para utilizarlo más adelante. Recuperar un secreto almacenado en la memoria caché es más rápido que recuperarlo desde Secrets Manager. Dado que la llamada a las API de Secrets Manager conlleva un costo, el uso de una caché puede reducirlo. Para conocer todas las formas en las que puede recuperar secretos, consulte Obtener secretos.
La política de la caché consiste en el algoritmo menos usado recientemente (LRU), por lo que, cada vez que la caché tiene que descartar un secreto, lo hace con el de uso menos reciente. De forma predeterminada, la caché actualiza secretos cada hora. Puede configurar la frecuencia con la que se actualiza el secreto en la memoria caché, y también conectarse a la recuperación del secreto para agregar más funcionalidad.
La memoria caché no fuerza la recopilación de elementos no utilizados una vez liberadas las referencias de la memoria caché. La implementación de la memoria caché no incluye la invalidación de la memoria caché. La implementación de la memoria caché se centra en la memoria caché en sí misma y no está reforzada ni centrada en la seguridad. Si necesita más seguridad, como cifrar elementos en la memoria caché, utilice las interfaces y los métodos abstractos que se proporcionan.
Para utilizar el componente, debe disponer de lo siguiente:
-
Python 3.6 o posterior
-
botocore 1.12 o superior. Consulte AWS SDK para Python
y Botocore . -
setuptools_scm 3.2 o superior. Consulte https://pypi.org/project/setuptools-scm/
.
Para descargar el código fuente, consulte Componente del cliente de almacenamiento en caché basado en Python de Secrets Manager
Para instalar el componente, utilice el siguiente comando.
$pip install aws-secretsmanager-caching
Permisos necesarios:
secretsmanager:DescribeSecretsecretsmanager:GetSecretValue
Para obtener más información, consulte Referencia de permisos.
Referencia
ejemplo Recuperación de un secreto
En el siguiente ejemplo se muestra cómo obtener el valor del secreto de un secreto denominado 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')