Azure Arc hizmeti tarafından yönetilen kimlik bilgileri tarafından etkinleştirilen SQL Yönetilen Örneği döndürme (önizleme)
Bu makalede Azure Arc tarafından etkinleştirilen SQL Yönetilen Örneği için hizmet tarafından yönetilen kimlik bilgilerinin nasıl döndürüldiği açıklanmaktadır. Arc veri hizmetleri, sertifikalar ve İzleme, Yedekleme/Geri Yükleme, Yüksek Kullanılabilirlik vb. için kullanılan SQL oturum açma bilgileri gibi hizmet tarafından yönetilen çeşitli kimlik bilgileri oluşturur. Bu kimlik bilgileri, Azure Arc veri hizmetleri tarafından yönetilen özel kaynak kimlik bilgileri olarak kabul edilir.
Hizmet tarafından yönetilen kimlik bilgisi döndürme, bir güvenlik sorunu sırasında veya uyumluluk için düzenli döndürme gerektiğinde başlattığınız kullanıcı tarafından tetiklenen bir işlemdir.
Sınırlamalar
Yönetilen örnek hizmet tarafından yönetilen kimlik bilgilerini döndürürken aşağıdaki sınırlamaları göz önünde bulundurun:
- SQL Server yük devretme grupları desteklenmez.
- Otomatik olarak önceden zamanlanmış döndürme desteklenmez.
- Hizmet tarafından yönetilen DPAPI simetrik anahtarları, tuş sekmesi, Active Directory hesapları ve hizmet tarafından yönetilen TDE kimlik bilgileri bu kimlik bilgisi döndürmesine dahil değildir.
Genel Amaçlı katman
Genel Amaçlı SQL Yönetilen Örneği hizmet tarafından yönetilen kimlik bilgisi döndürme sırasında, yönetilen örnek Kubernetes podu sonlandırılır ve döndürülen kimlik bilgileriyle yeniden sağlanır. Bu işlem, yeni yönetilen örnek pod'unun oluşturulmasıyla kısa bir kapalı kalma süresine neden olur. Kesintiyi işlemek için, en az kesintiyi sağlamak için uygulamanızda bağlantı yeniden deneme mantığı gibi dayanıklılık oluşturun. Azure Hizmetleri için dayanıklılık mimarisi oluşturma ve yeniden deneme kılavuzu hakkında daha fazla bilgi için güvenilirlik sütununa genel bakış sayfasını okuyun.
İş Açısından Kritik katmanı
Birden fazla çoğaltma ile hizmet tarafından yönetilen kimlik bilgisi döndürme İş Açısından Kritik SQL Yönetilen Örneği sırasında:
- İkincil çoğaltma podları sonlandırılır ve döndürülen hizmet tarafından yönetilen kimlik bilgileriyle yeniden sağlanır
- Çoğaltmalar yeniden sağlandıktan sonra, birincil çoğaltma yeniden sağlanan bir çoğaltmaya yük devredecek
- Önceki birincil pod, döndürülmüş hizmet tarafından yönetilen kimlik bilgileriyle sonlandırılır ve yeniden sağlanır ve ikincil bir duruma gelir
Yük devretme gerçekleştiğinde kısa bir kapalı kalma süresi vardır.
Ön koşullar:
Bu makaleye devam etmeden önce Azure Arc kaynağı tarafından etkinleştirilmiş bir SQL Yönetilen Örneği oluşturmanız gerekir.
Yönetilen örnekte hizmet tarafından yönetilen kimlik bilgilerini döndürme
Hizmet tarafından yönetilen kimlik bilgileri, yönetilen örnek içindeki bir nesille ilişkilendirilir. Yönetilen örneğin tüm hizmet tarafından yönetilen kimlik bilgilerini döndürmek için, oluşturma 1 artırılmalıdır.
Geçerli hizmet tarafından yönetilen kimlik bilgileri oluşturma işlemini belirtimden almak ve yeni hizmet tarafından yönetilen kimlik bilgileri neslini oluşturmak için aşağıdaki komutları çalıştırın. Bu eylem, hizmet tarafından yönetilen kimlik bilgisi döndürmeyi tetikler.
rotateCredentialGeneration=$(($(kubectl get sqlmi <sqlmi-name> -o jsonpath='{.spec.update.managedCredentialsGeneration}' -n <namespace>) + 1))
kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "update": { "managedCredentialsGeneration": '$rotateCredentialGeneration'} } }'
, managedCredentialsGeneration
hizmet tarafından yönetilen kimlik bilgileri için hedef oluşturma işlemini tanımlar. Yapılandırma ve kubernetes topolojisi gibi diğer özellikler aynı kalır.
Yönetilen örnekte hizmet tarafından yönetilen kimlik bilgilerini geri alma
Not
Kimlik bilgisi döndürme başarısız olduğunda geri alma gereklidir. Önceki kimlik bilgileri oluşturma işlemine geri alma yalnızca bir kez n-1 için desteklenir; burada n geçerli nesildir.
Kimlik bilgisi döndürme işlemi devam ederken geri alma tetikleniyorsa ve tüm çoğaltmalar yeniden sağlanmamışsa, yönetilen örneğin Hazır durumda olması için geri alma işleminin tamamlanması yaklaşık 30 dakika sürebilir.
Geçerli hizmet tarafından yönetilen kimlik bilgileri oluşturma işlemini belirtimden almak ve önceki hizmet tarafından yönetilen kimlik bilgileri nesline geri almak için aşağıdaki iki komutu çalıştırın:
rotateCredentialGeneration=$(($(kubectl get sqlmi <sqlmi-name> -o jsonpath='{.spec.update.managedCredentialsGeneration}' -n <namespace>) - 1))
kubectl patch sqlmi <sqlmi-name> --namespace <namespace> --type merge --patch '{ "spec": { "update": { "managedCredentialsGeneration": '$rotateCredentialGeneration'} } }'
Geri alma tetikleme, hizmet tarafından yönetilen kimlik bilgilerinin döndürülmesiyle aynıdır, ancak hedef oluşturma önceki nesildir ve yeni nesil veya kimlik bilgileri oluşturmaz.