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 Java com armazenamento em cache no lado do cliente
Ao recuperar um segredo, você pode usar o componente de cache baseado em Java 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:
-
Um ambiente de desenvolvimento Java 8 ou superior. Consulte Java SE Downloads
(Downloads do Java SE) no site da Oracle. -
O AWS SDK para Java 1.x. É possível usar as duas versões do AWS SDK para Java em seus projetos. Para obter mais informações, consulte Using the SDK for Java 1.x and 2.x side-by-side (Como usar o SDK para Java 1.x e 2.x em paralelo).
Para baixar o código-fonte, consulte Secrets Manager Java-based caching client component
Para adicionar o componente ao seu projeto, inclua a seguinte dependência no arquivo do Maven pom.xml. Para obter mais informações sobre o Maven, consulte o Getting Started Guide
<dependency> <groupId>com.amazonaws.secretsmanager</groupId> <artifactId>aws-secretsmanager-caching-java</artifactId> <version>1.0.2</version> </dependency>
Permissões obrigatórias:
secretsmanager:DescribeSecret
secretsmanager:GetSecretValue
Para ter mais informações, consulte Referência de permissões.
exemplo Recuperar segredos
O exemplo de código a seguir mostra uma função Lambda que recupera uma string do segredo. Ele segue a prática recomendada de instanciar o cache fora do manipulador de funções para que ele não continue chamando a API se você chamar a função Lambda novamente.
package com.amazonaws.secretsmanager.caching.examples; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; import com.amazonaws.services.lambda.runtime.LambdaLogger; import com.amazonaws.secretsmanager.caching.SecretCache; public class SampleClass implements RequestHandler<String, String> { private final SecretCache cache = new SecretCache(); @Override public String handleRequest(String secretId, Context context) { final String secret = cache.getSecretString(secretId);
// Use the secret, return success;
} }