Bulut bilişimde hassas verilerin güvenli bir şekilde saklanması ve yönetilmesi, modern uygulama geliştirme ve sistem yönetimi için hayati öneme sahiptir. Microsoft Azure’un sunduğu Azure Key Vault , bu ihtiyaçlara çözüm sunan güçlü bir hizmettir. Ancak, Key Vault içindeki Secrets, Keys ve Certificates erişimi kontrol etmek için doğru yapılandırmaların yapılması gerekmektedir. Bu yazıda, Azure Key Vault’ta erişim kontrolü için en yaygın yöntem olan Erişim Politikaları (Access Policies) bilgi vereceğim;
Azure Key Vault, uygulamalar, hizmetler ve sistemler için gerekli olan hassas verilerin (parolalar, API anahtarları, sertifikalar, şifreleme anahtarları vb.) güvenli bir şekilde saklanmasını ve erişimini sağlar. Temel olarak üç ana bileşeni vardır:
- Secrets: Parolalar, bağlantı dizeleri gibi metin veya ikili veriler.
- Keys: Şifreleme işlemleri için kullanılan asimetrik veya simetrik anahtarlar.
- Certificates: SSL/TLS sertifikaları ve ilişkili özel anahtarlar.
Key Vault, bu öğelere erişimi sınırlamak ve denetlemek için iki ana yöntem sunar: Erişim Politikaları (Access Policies) ve Rol Tabanlı Erişim Kontrolü (RBAC – Role-Based Access Control)
Access Policies Nedir?
Erişim Politikaları, Azure Key Vault’ta sırlar, anahtarlar ve sertifikalara erişimi tanımlamak için kullanılan temel yapılandırma yöntemidir. Her bir politika aşağıdaki bileşenleri içerir:
- Kimlik (Identity): Kullanıcı, servis sorumlusu (service principal) veya uygulama gibi Azure Active Directory’de tanımlı bir kimlik.
- İzinler (Permissions): Bu kimliğin Key Vault öğeleri üzerinde hangi işlemleri yapabileceğini belirler.
- Secrets için: Get, List, Set, Delete, Recover, Backup, Restore
- Keys için: Get, List, Create, Update, Delete, Recover, Backup, Restore
- Certificates için: Get, List, Delete, Create, Import, Update, Manage Contacts, Manage Issuers
Erişim politikaları, doğrudan Key Vault düzeyinde tanımlanır ve her bir öğe için ayrı ayrı yapılandırılabilir.
Erişim Politikaları Nasıl Çalışır?
Erişim politikaları, Azure Key Vault’ta izin yönetimini şu şekilde sağlar:
A. Kimliğe Dayalı Erişim
- Erişim politikaları, belirli bir Azure AD kimliği (kullanıcı, uygulama veya grup) için tanımlanır.
- Örneğin, bir geliştiriciye yalnızca sırları okuma izni verebilirsiniz.
B. Öğe Seviyesinde İzin Yönetimi
- Sırlar, anahtarlar ve sertifikalar için ayrı ayrı izinler tanımlanabilir.
- Örneğin, bir uygulamanın yalnızca sırları okumasine izin verilirken, bir güvenlik grubunun anahtarları yönetmesine izin verilebilir.
C. Hiyerarşik Yapı
- Bir Key Vault’a tanımlanan tüm erişim politikaları, o Vault içindeki tüm öğelere uygulanır.
- Ancak, her öğe için farklı izin kombinasyonları tanımlanabilir.
D. Erişim Kontrolü ve Güvenlik
- Erişim politikaları, Azure AD kimlik doğrulama mekanizmalarıyla entegredir.
- Kimlik doğrulaması başarılı olana göre, ilgili izinler uygulanır.
Erişim Politikaları vs. Azure RBAC
Azure Key Vault’ta erişim kontrolü için iki ana yöntem vardır: