Ottieni un valore segreto di Secrets Manager usando Go con caching lato client - AWS Secrets Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ottieni un valore segreto di Secrets Manager usando Go con caching lato client

Quando si recupera un segreto, è possibile utilizzare il componente di caching basato su Go di Secrets Manager per memorizzarlo nella cache per un uso futuro. Il recupero di un segreto memorizzato nella cache è più veloce rispetto al recupero da Secrets Manager. Poiché è previsto un costo per chiamare le API di Secrets Manager, l'utilizzo di una cache può ridurre i costi. Per tutti i modi in cui puoi recuperare i segreti, vedi Ottieni segreti.

La policy della cache è Least Recently Used (LRU), quindi quando la cache deve eliminare un segreto, elimina il segreto usato meno di recente. Di default, la cache aggiorna i segreti ogni ora. È possibile configurare la frequenza con cui il segreto viene aggiornato nella cache ed è possibile collegarsi al recupero del segreto per aggiungere altre funzionalità.

La cache non impone la rimozione di oggetti inutili (garbage collection) una volta liberati i riferimenti alla cache. L'implementazione della cache non include l'invalidazione della cache. L'implementazione della cache è incentrata sulla cache stessa e non è rafforzata o focalizzata sulla sicurezza. Se hai bisogno di un livello di sicurezza aggiuntivo, come la crittografia degli elementi nella cache, usa le interfacce e i metodi astratti forniti.

Per usare il componente, devi disporre dei seguenti elementi:

  • AWS SDK for Go. Per informazioni, consulta AWS SDKs.

Per scaricare il codice sorgente, consulta Secrets Manager Go caching client on GitHub.

Per configurare un ambiente di sviluppo Go, consulta Introduzione a Golang sul sito Web del linguaggio di programmazione Go.

Autorizzazioni richieste:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

Per ulteriori informazioni, consulta Riferimento per le autorizzazioni.

Documentazione di riferimento
Esempio Recupero di un segreto

L'esempio di codice riportato di seguito mostra una funzione Lambda che recupera un segreto.

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) }