Obtenha um segredo do Secrets Manager usando Python com armazenamento em cache no lado do cliente - AWS Secrets Manager

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Obtenha um segredo do Secrets Manager usando Python com armazenamento em cache no lado do cliente

Ao recuperar um segredo, você pode usar o componente de cache baseado em Python do Secrets Manager para armazená-lo em cache para uso futuro. Recuperar um segredo armazenado em cache é mais rápido do que recuperá-lo do Secrets Manager. Como há um custo para chamar APIs do Secrets Manager, usar um cache pode reduzir seus custos. Para ver todas as formas pelas quais você pode recuperar segredos, consulte Obter segredos.

A política de caches é a do menos usado recentemente (LRU). Assim, quando o cache precisar descartar um segredo, escolherá o segredo menos usado recentemente. Por padrão, o cache atualiza segredos a cada hora. É possível configurar com qual frequência o segredo será atualizado no cache e você poderá se conectar à recuperação do segredo para adicionar mais funcionalidades.

O cache não obriga a coleta de resíduos depois que as referências de cache são liberadas. A implementação do cache não inclui a invalidação do cache. A implementação do cache é centrada em torno do próprio cache, portanto, não é reforçada ou tem ênfase em segurança. Se você necessitar de mais segurança, como criptografia de itens no cache, use as interfaces e os métodos abstratos fornecidos.

Para usar o componente, é necessário ter o seguinte:

Para baixar o código-fonte, consulte Secrets Manager Python-based caching client component (Componente de cliente armazenado em cache baseado em Python do Secrets Manager) no GitHub.

Para instalar o componente, use o seguinte comando.

$ pip install aws-secretsmanager-caching

Permissões obrigatórias:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

Para ter mais informações, consulte Referência de permissões.

exemplo Recuperar segredos

O exemplo a seguir mostra como obter o valor de um segredo nomeado como 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')