Obtenha um valor secreto do Secrets Manager usando Go com cache do 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 valor secreto do Secrets Manager usando Go com cache do lado do cliente

Ao recuperar um segredo, você pode usar o componente de cache baseado em Go 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 Obtenha 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 Cliente de cache do Secrets Manager Go ativado GitHub.

Para configurar um ambiente de desenvolvimento Go, consulte Golang Getting Started (Conceitos básicos de Golang) no site da Go Programming Language.

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 um segredo.

package main import ( "github.com/aws/aws-lambda-go/lambda" "github.com/aws/aws-secretsmanager-caching-go/secretcache" ) var ( secretCache, _ = secretcache.New() ) func HandleRequest(secretId string) string { result, _ := secretCache.GetSecretString(secretId) // Use the secret, return success } func main() { lambda. Start( HandleRequest) }