Aracılığıyla paylaş


İmzalama anahtarlarını döndürme

Bu makalede, Microsoft Entra Doğrulanmış Kimlik imzalama anahtarlarınızı döndürme adımlarını gözden geçireceğiz.

Önkoşullar

İmzalama anahtarlarını döndürme

Ortak anahtarlar, veren tarafından üretilen imzaları doğrulaması gereken herkes için merkezi olmayan tanımlayıcı (DID) belgesinde kullanılabilir. did:web yöntemini kullanan bir yetkili için, DID belgesi, contoso.com'un bir örnek olduğu https://contoso.com/.well-known/did.json konumunda bulunabilir.

Doğrulanmış kimlik, güncelleştirilmiş bir sürüm web sunucusunda genel kullanıma sunulana kadar yeni anahtarı kullanarak imzalamaya başlamamalıdır. Azure Content Delivery Network ile birden çok bölgeli dağıtım kullanıyorsanız dağıtım işleminizin güncelleştirilmesi did.json biraz zaman alabilir.

Yöneticilerin herhangi bir hizmet kesintisi olmadan imzalama anahtarlarını döndürmesine yardımcı olmak için, döndürme işlemi şu adımları izler:

  1. Key Vault'ta yeni bir imzalama anahtarı oluşturmak için signingKeys/rotate API'sini çağırın. Çağrıda kullanılan erişim belirteci, anahtar kasasında anahtarlara erişimi olan bir yönetici kullanıcı için olmalıdır. Bu eylem, anahtar kasasına yeni bir Geçerli anahtar ekler. Önceki anahtar eski anahtarlara taşınır, ancak yine de etkinleştirilebilir. Yanıt, özniteliğine didDocumentStatus sahip ve anahtar kasası ile genel kullanıma açık outOfSync belge arasında bir tutarsızlık olduğunu gösteren bir did.json değerine sahip yetkili JSON nesnesidir.

    Key Vault'ta yeni bir anahtarı gösteren ekran görüntüsü.

  2. Doğrulanmış Kimlik portalında Kurulum'a gidin. Merkezi Olmayan Kimliği Kaydet'i seçin ve güncelleştirilmiş did.json dosyayı kopyalayın veya indirin. Artık yeni ve eski anahtarları içerir.

    did.jsongösteren ekran görüntüsü.

  3. Daha önce dağıtıldığı tüm web sunucularındaki did.json'ı değiştirin. El ile düzenlediyseniz, https://jsonformatter.org/ gibi bir araç kullanarak geçerli JSON söz dizimine sahip olduğundan emin olun. Devam etmeden önce, yeni did.json belgeyi bir tarayıcıyla internetten alabildiğinizden emin olun.

  4. Yeni imzalama anahtarını kullanmaya başlamak için synchronizeWithDidDocument API'sini çağırın. Bu API çağrısı, Key Vault ve genel did.json belgenin eşleşip eşleşmediğini doğrular. Eşleşirse, Doğrulanmış Kimlik yetkilisi Key Vault'taki yeni anahtarı kullanarak imzalamaya başlar. Döndürülen yetkili JSON nesnesindeki didDocumentStatuspublisheddeğerine sahiptir. Değer hala outOfSyncise, Key Vault ile did.json belgesi arasında bir tutarsızlık vardır ve önceki anahtar imzalama için hala kullanılır.

Doğrulanmış Kimlik'te anahtarları döndürmem gerekiyor mu?

Teknik olarak, kendi Key Vault örneğinizi kullanıyorsanız doğrulanmış kimlikte imzalama anahtarlarını döndürmeniz gerekmez. Geçerli imzalama anahtarının süresi dolmuyor. Herhangi bir genel/özel anahtar çözümünde olduğu gibi, anahtarları düzenli aralıklarla döndürmek en iyi yöntemdir.

İmzalama anahtarını döndürdiğimde ne olur?

1-4 arası adımları başarıyla gerçekleştirdikten sonra Doğrulanmış Kimlik yeni bir imzalama anahtarına sahiptir ve o andan itibaren imzalanan tüm JSON web belirteçleri yeni anahtar kullanılarak imzalanır. Bu, verme ve sunu isteklerinin ve verilen kimlik bilgilerinin yeni anahtar kullanılarak imzalandığı anlamına gelir.

Eski anahtar tarafından imzalanan kimlik bilgilerine ne olur?

Artık geçerli olmayan anahtarla imzalanmış Doğrulanmış Kimlik kimlik bilgileri, ortak anahtar ortak did.json belgede mevcutsa ve anahtar Key Vault'ta devre dışı bırakılmamış veya silinmemişse, çalışmaya devam eder.

Eski imzalama anahtarları artık kullanılamadığında ne olur?

Verilen doğrulanmış kimlik bilgilerini imzalamak için kullanılan bir anahtar genel did.json belgede yoksa, doğrulayıcı imza olarak kullanılan ortak anahtarı çözümleyemediğinden doğrulama girişimi başarısız olur. Dikkat etmeniz gereken iki senaryo vardır.

Birinci: Doğrulanmış kimlik, dahili olarak kullanılabilecek 10 anahtar sınırına sahiptir. Bir geçerli anahtar ve dokuz önceki anahtardan oluşur. Key Vault 12 anahtar içeriyorsa, Doğrulanmış Kimlik yalnızca ilk 10 anahtarı yükler ve kullanır. Belgeyi did.json el ile düzenleyerek eski anahtarları ekleyemezsiniz çünkü bu, Doğrulanmış Kimlik'in yüklediği ile belgenin did.json barındırdığı değerler arasında uyuşmazlığa yol açar. Bu durumda synchronizeWithDidDocument çağrılmaya çalışıldığında, didDocumentStatusoutOfSync döner.

Örneğin, Key Vault'ta 12 anahtarınız olduğunu ve Doğrulanmış Kimlik'in anahtar listesinde 8 ve 9 anahtarlarını yüklememesini istediğinizi varsayalım. Key Vault'ta 8 ve 9 tuşlarını devre dışı bırakmanız ve ardından 2-4 arası adımları gerçekleştirmeniz gerekir.

Saniye: Bu örnekte anahtarları 12 kez döndürürseniz, Doğrulanmış Kimlik artık en eski iki anahtarı yüklemez. Bu iki anahtar kullanılarak verilen Doğrulanmış Kimlik kimlik bilgileri artık doğrulanamaz.

Uyarı

Eski bir anahtar kullanımdan kaldırılmadan önce kimlik bilgilerini yenilemek veya yeniden vermek için anahtar döndürme politikanızın verilen Doğrulanmış Kimlik bilgileri süresiyle uyumlu olması gerekir. Çalışmayan bir çözüm örneği, sonlandırma tarihi 12 ay sonra olacak şekilde Doğrulanmış Kimlik kimlik bilgileri vermek ve aynı zamanda her ay anahtarları döndürmek için bir anahtar döndürme politikasını uygulamaktır. Eski anahtarlar artık kullanılamadığından bu tür bir çözüm yılın son iki ayında sorun yaşıyor.

Anahtarları Doğrulanmış Kimlik API'sini çağırmak yerine doğrudan Key Vault'ta döndürebilir miyim?

Key Vault'un yönetici portalında döndürme özelliğini kullanmamalısınız. Doğrulanmış Kimlik, /signingKeys/rotate API'sini çağırdığında anahtarı Key Vault'ta döndürmekten daha fazla görev gerçekleştirir.

Sonraki Adımlar