Dapatkan nilai rahasia Secrets Manager menggunakan Java dengan caching sisi klien - AWS Secrets Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Dapatkan nilai rahasia Secrets Manager menggunakan Java dengan caching sisi klien

Ketika Anda mengambil rahasia, Anda dapat menggunakan Secrets Manager komponen caching berbasis Java untuk cache untuk digunakan di masa mendatang. Mengambil rahasia yang di-cache lebih cepat daripada mengambilnya dari Secrets Manager. Karena ada biaya untuk memanggil Secrets Manager API, menggunakan cache dapat mengurangi biaya Anda. Untuk semua cara Anda dapat mengambil rahasia, lihatDapatkan rahasia.

Kebijakan cache adalah Least Recently Used (LRU), jadi ketika cache harus membuang rahasia, ia membuang rahasia yang paling jarang digunakan. Secara default, cache menyegarkan rahasia setiap jam. Anda dapat mengonfigurasi seberapa sering rahasia disegarkan dalam cache, dan Anda dapat menghubungkan ke pengambilan rahasia untuk menambahkan lebih banyak fungsionalitas.

Cache tidak memaksa pengumpulan sampah setelah referensi cache dibebaskan. Implementasi cache tidak termasuk pembatalan cache. Implementasi cache difokuskan di sekitar cache itu sendiri, dan tidak dikeraskan atau difokuskan keamanan. Jika Anda memerlukan keamanan tambahan seperti mengenkripsi item dalam cache, gunakan antarmuka dan metode abstrak yang disediakan.

Untuk menggunakan komponen, Anda harus memiliki yang berikut:

  • Java 8 atau lingkungan pengembangan yang lebih tinggi. Lihat Unduhan Java SE di situs web Oracle.

  • AWS SDK 1.x untuk Java. Anda dapat menggunakan kedua versi AWS SDK for Java dalam proyek Anda. Untuk informasi selengkapnya, lihat Menggunakan SDK for Java 1.x dan 2.x. side-by-side

Untuk mengunduh kode sumber, lihat Secrets Manager komponen klien caching berbasis Java pada. GitHub

Untuk menambahkan komponen ke proyek Anda, dalam file pom.xml Maven Anda, sertakan dependensi berikut. Untuk informasi lebih lanjut tentang Maven, lihat Panduan Memulai di situs web Apache Maven Project.

<dependency> <groupId>com.amazonaws.secretsmanager</groupId> <artifactId>aws-secretsmanager-caching-java</artifactId> <version>1.0.2</version> </dependency>

Izin yang diperlukan:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

Untuk informasi selengkapnya, lihat Referensi izin.

contoh Ambil rahasia

Contoh kode berikut menunjukkan fungsi Lambda yang mengambil string rahasia. Ini mengikuti praktik terbaik untuk membuat instance cache di luar penangan fungsi, sehingga tidak terus memanggil API jika Anda memanggil fungsi Lambda lagi.

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