Azure Key Vault چیست؟
سرویس آژور برای نگهداری امن Secretها، رمزهای رمزنگاری (Key) و گواهیها (Certificate)، بهجای ذخیره آنها در کد یا فایل تنظیمات.
چرا مهم است؟
نگهداری Secret و Connection String داخل appsettings.json یا کد یکی از رایجترین منابع نشت داده است؛ Key Vault راهحل استاندارد Azure برای این مشکل است.
تعریف
Azure Key Vault Secretها (Connection String، API Key، رمز عبور)، Encryption Keyها و Certificateها را در یک مخزن مرکزی و رمزنگاریشده نگه میدارد و دسترسی به آنها را با Azure AD کنترل میکند.
سه نوع محتوا
Secrets — مقادیر متنی حساس · Keys — کلیدهای رمزنگاری برای Encrypt/Decrypt/Sign · Certificates — گواهیهای TLS/SSL با تمدید خودکار
استفاده در ASP.NET Core
builder.Configuration.AddAzureKeyVault(
new Uri("https://myapp-kv.vault.azure.net/"),
new DefaultAzureCredential());
با این خط، همه Secretهای Key Vault مثل تنظیمات معمولی IConfiguration در دسترساند.
Managed Identity (روش امن دسترسی)
بهجای ذخیره یک Client Secret برای اتصال به Key Vault، به App Service/Function یک Managed Identity داده میشود که Azure خودش هویت آن را مدیریت میکند — هیچ رمز عبوری در کد یا تنظیمات لازم نیست.
اشتباه رایج
❌ Commit کردن Connection String یا API Key واقعی داخل appsettings.json و مخزن Git — این مقادیر باید در Key Vault (یا حداقل User Secrets در Development) باشند، نه در کد نسخهکنترلشده.
منبع و مطالعه بیشتر
خلاصه
Azure Key Vault، Secret، Key رمزنگاری و Certificate را متمرکز و امن نگه میدارد. با Managed Identity میتوان بدون هیچ رمز عبوری از App Service به Key Vault وصل شد. مرجع کامل: Microsoft Learn.
