클라이언트 측 캐싱과 함께 Go를 사용하여 Secrets Manager 보안 암호 값 가져오기 - AWS Secrets Manager

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

클라이언트 측 캐싱과 함께 Go를 사용하여 Secrets Manager 보안 암호 값 가져오기

보안 암호를 검색할 때 Secret Manager Go 기반 캐싱 구성 요소를 사용하여 나중에 사용할 수 있도록 캐싱할 수 있습니다. 캐싱된 보안 암호를 검색하는 것이 Secret Manager에서 검색하는 것보다 빠릅니다. Secrets Manager API를 호출하는 데는 비용이 발생하므로 캐시를 사용하면 비용을 줄일 수 있습니다. 암호를 검색할 수 있는 모든 방법은 보안 암호 가져오기을(를) 참조하세요.

캐시 정책은 LRU(가장 오랫동안 사용되지 않음)이므로, 캐시에서 보안 암호를 폐기해야 하는 경우 가장 오랫동안 사용되지 않은 보안 암호가 삭제됩니다. 기본적으로 캐시는 보안 암호를 매시간 새로 고칩니다. 캐시에서 보안 암호를 새로 고치는 주기를 구성하고 보안 암호 검색에 연결하여 더 많은 기능을 추가할 수 있습니다.

캐시 참조가 해제되면 캐시는 가비지 수집을 강제로 적용하지 않습니다. 캐시 구현에는 캐시 무효화가 포함되지 않습니다. 캐시 구현은 캐시 자체에 중점을 두며, 보안을 강화하거나 보안에 초점을 맞추지 않습니다. 캐시에서 항목 암호화와 같은 추가 보안이 필요한 경우 제공된 인터페이스 및 추상 메서드를 사용하세요.

이 구성 요소를 사용하려면 다음이 필요합니다.

  • AWS SDK for Go. AWS SDKs 섹션을 참조하세요.

소스 코드를 다운로드하려면 GitHub의 Secrets Manager Go 캐싱 클라이언트를 참조하세요.

Go 개발 환경을 설정하려면 Go Programming Language 웹 사이트의 Golang 시작하기를 참조하세요.

필요한 권한:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

자세한 내용은 권한 참조 단원을 참조하십시오.

예 보안 암호 검색

다음 코드 예제에서는 보안 암호를 검색하는 Lambda 함수를 보여줍니다.

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