Dapatkan nilai rahasia Secrets Manager menggunakan.NET 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.NET dengan caching sisi klien

Saat Anda mengambil rahasia, Anda dapat menggunakan komponen caching berbasis Secrets Manager .net untuk men-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:

  • .NET Framework 4.6.2 atau lebih tinggi, atau .NET Standard 2.0 atau lebih tinggi. Lihat Unduh .NET di situs web Microsoft .NET.

  • AWS SDK for .NET. Lihat AWS SDK.

Untuk mengunduh kode sumber, lihat Caching client untuk.NET di GitHub.

Untuk menggunakan cache, pertama buat instance, lalu ambil rahasia Anda dengan menggunakan atau. GetSecretString GetSecretBinary Pada pengambilan berturut-turut, cache mengembalikan salinan rahasia yang di-cache.

Untuk mendapatkan paket caching
  • Lakukan salah satu hal berikut ini:

    • Jalankan perintah.NET CLI berikut di direktori proyek Anda.

      dotnet add package AWSSDK.SecretsManager.Caching --version 1.0.6
    • Tambahkan referensi paket berikut ke .csproj file Anda.

      <ItemGroup> <PackageReference Include="AWSSDK.SecretsManager.Caching" Version="1.0.6" /> </ItemGroup>

Izin yang diperlukan:

  • secretsmanager:DescribeSecret

  • secretsmanager:GetSecretValue

Untuk informasi selengkapnya, lihat Referensi izin.

contoh Ambil rahasia

Contoh kode berikut menunjukkan metode yang mengambil rahasia bernama MySecret.

using Amazon.SecretsManager.Extensions.Caching; namespace LambdaExample { public class CachingExample { private const string MySecretName ="MySecret"; private SecretsManagerCache cache = new SecretsManagerCache(); public async Task<Response> FunctionHandlerAsync(string input, ILambdaContext context) { string MySecret = await cache.GetSecretString(MySecretName); // Use the secret, return success } } }
contoh Konfigurasikan durasi penyegaran cache time to live (TTL)

Contoh kode berikut menunjukkan metode yang mengambil rahasia bernama MySecretdan menetapkan durasi penyegaran cache TTL menjadi 24 jam.

using Amazon.SecretsManager.Extensions.Caching; namespace LambdaExample { public class CachingExample { private const string MySecretName = "MySecret"; private static SecretCacheConfiguration cacheConfiguration = new SecretCacheConfiguration { CacheItemTTL = 86400000 }; private SecretsManagerCache cache = new SecretsManagerCache(cacheConfiguration); public async Task<Response> FunctionHandlerAsync(string input, ILambdaContext context) { string mySecret = await cache.GetSecretString(MySecretName); // Use the secret, return success } } }