Azure Key Vault – İşlemin Tamamlanmasını Önleyen Bir Çakışma Oluştu
Son zamanlarda Azure Key Vault ile ilgili bir süre kafamı karıştıran garip bir hata yaşadım, bu yüzden başkalarının da aynı sorunu yaşaması ihtimaline karşı burada yayınlıyorum. Sorun, Altyapıyı Kod olarak kullanarak bir secret eklemeye çalışırken benim durumumda meydana geldi, ancak portal veya CLI aracılığıyla manuel olarak bir secret eklerken de ortaya çıkacağından şüpheleniyorum. Yeni secret eklemeye çalışırken aşağıdaki hatayı aldım:
error: autorest/azure: Service returned an error. Status=<nil> Code="ConflictError" Message="A conflict occurred that prevented the operation from completing. The operation failed because the Key Vault '<key vault name>' changed from the point the operation began. This can happen if parallel operations are being performed on the Key Vault. To prevent this error, serialize the operations so that only one operation is performed on the Key Vault at a time. Follow this link for more information: [https://go.microsoft.com/fwlink/?linkid=2147741"](https://go.microsoft.com/fwlink/?linkid=2147741")
Hata, bir şeyin veya başka birinin aynı Key Vault’a aynı anda yazdığını gösteriyor gibi görünüyor. Bu nedenle, aynı Key Vault’u aynı anda başka birinin mi yoksa otomatik bir işlemin mi güncellediğini öğrenmek için biraz zaman harcadım, ancak hiçbir şey bulamadım. Daha sonra tekrar denemek aynı hatayla sonuçlandı, bu da bana bunun bir eşzamanlılık hatası olmadığını düşündürdü.
Biraz daha araştırma yaptıktan sonra, sorunun nedenini buldum ve bunun eşzamanlı düzenleme ile hiçbir ilgisi yok. Daha önce silinmiş bir secret ile aynı ada sahip bir secret oluşturmaya çalıştığınızda bu sorun oluşur. Eskiden bu bir sorun olmazdı, ancak artık tüm Key Vault’larda varsayılan olarak geçici silme özelliği açıktır. Bu nedenle, bir secret silerseniz, tamamen silinmez ve geçici olarak silinen bir duruma geçer. Aynı ada sahip yeni bir secret oluşturmaya çalışırsanız, bu hatayı alırsınız. Geçici olarak silinen secret temizleyerek (veya geri yükleyerek) sorunu çözebilirsiniz.
Secret’i temizlemek (Purge) için Key Vault’taki secret sekmesine gidin ve “Managed Deleted Secrets” düğmesini tıklayın. Açılan sayfada ilgilendiğiniz secret’i görmelisiniz. Yanındaki kutucuğu işaretleyin ve ardından Purge düğmesine tıklayın.
Purge düğmesi griyse bunun nedeni, varsayılan olarak atanmadığı için gizli dizilerde temizleme izninizin olmaması olabilir. Bunu düzeltmek için Key Vault üzerindeki izinlere gidin ve bu izni ekleyin (RBAC yerine Key Vault izinleri kullanılıyorsa).