aws/aws-secretsmanager-caching-java

GitHub: aws/aws-secretsmanager-caching-java

AWS 官方提供的 Java 密钥缓存客户端,通过进程内缓存机制减少对 Secrets Manager 的重复调用,提升密钥读取性能并自动处理密钥轮换。

Stars: 79 | Forks: 37

## AWS Secrets Manager Java 缓存客户端 [![构建](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/50dc8119d2150212.svg)](https://github.com/aws/aws-secretsmanager-caching-java/actions/workflows/maven.yml) [![覆盖率](https://codecov.io/gh/aws/aws-secretsmanager-caching-java/branch/master/graph/badge.svg?token=Kk9RDSuKTE)](https://codecov.io/gh/aws/aws-secretsmanager-caching-java) AWS Secrets Manager Java 缓存客户端支持为 Java 应用程序提供机密信息的进程内缓存。 ## 入门指南 ### 必要前提条件 要使用此客户端,您必须具备: * **Java 8 开发环境** 如果您尚未安装,请访问 Oracle 网站上的 [Java SE 下载](https://www.oracle.com/technetwork/java/javase/downloads/index.html),下载并安装 Java SE Development Kit (JDK)。建议使用 Java 8 或更高版本。 一个 Amazon Web Services (AWS) 账户,用于访问存储在 AWS Secrets Manager 中的机密信息并使用 AWS SDK for Java。 * **要创建 AWS 账户**,请访问[登录或创建 AWS 账户](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html),然后选择**我是新用户**。按照说明创建 AWS 账户。 * **要在 AWS Secrets Manager 中创建机密信息**,请访问[创建机密信息](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)并按照页面上的说明进行操作。 * **要下载并安装 AWS SDK for Java**,请访问 AWS SDK for Java 文档中的[安装 AWS SDK for Java](https://docs.aws.amazon.com/AWSSdkDocsJava/latest/DeveloperGuide/java-dg-install-sdk.html),然后按照页面上的说明进行操作。 ### 下载 您可以从 Maven 获取最新版本: ``` com.amazonaws.secretsmanager aws-secretsmanager-caching-java 2.2.0 ``` 不要忘记启用从 Maven 下载 snapshot jar 包: ``` allow-snapshots true snapshots-repo https://aws.oss.sonatype.org/content/repositories/snapshots false true ``` ### 开始使用 以下代码示例演示了如何快速入门: 1. 实例化缓存客户端。 2. 请求机密信息。 ``` // This example shows how an AWS Lambda function can be written // to retrieve a cached secret from AWS Secrets Manager caching // client. 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; /** * SampleClass. */ public class SampleClass implements RequestHandler { private final SecretCache cache = new SecretCache(); @Override public String handleRequest(String secretId, Context context) { final String secret = cache.getSecretString(secretId); // Use secret to connect to secured resource. return "Success!"; } } ``` ### 启用后量子 TLS 要启用后量子 TLS 以增强安全性: ``` import com.amazonaws.secretsmanager.caching.SecretCache; import com.amazonaws.secretsmanager.caching.SecretCacheConfiguration; SecretCache cache = new SecretCache( new SecretCacheConfiguration() .withPostQuantumTlsEnabled(true) ); String secret = cache.getSecretString("my-secret-id"); ``` **注意**:PQ-TLS 使用 AWS Common Runtime (CRT),该运行时依赖于系统库,目前在 macOS 或 Windows 上可能无法按预期工作([参考](https://github.com/awslabs/aws-crt-java#tls-behavior))。 ## 许可证 本库采用 Apache 2.0 许可证授权。
标签:API, AWS, AWS SDK, DPI, Maven, Secrets Manager, SOC Prime, 云计算, 域名枚举, 安全, 库, 应急响应, 开发工具, 漏洞验证, 缓存, 规则引擎, 超时处理, 进程内缓存