İmzalama anahtarlarını döndürme
Bu makalede, Microsoft Entra Kimlik Doğrulama imzalama anahtarlarınızı döndürme adımlarını gözden geçireceğiz.
Önkoşullar
- Doğrulanmış kimlik yetkilisi el ile eklenir ve imzalama anahtarları kendi Azure Key Vault örneğinizde bulunur. Hızlı kurulum , Microsoft tarafından yönetilen ve kendi kendinize döndüremezseniz paylaşılan bir imzalama anahtarı kullanır.
- Anahtar döndürme gerçekleştiren yönetici kullanıcının Key Vault'taki anahtarlar üzerinde izni olmalıdır.
İ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. yöntemini kullanan did:web
bir yetkili için DID belgesi, contoso.com bir örnek olduğu konumunda https://contoso.com/.well-known/did.json
kullanılabilir.
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:
Key Vault'ta yeni bir imzalama anahtarı oluşturmak için signingKeys/rotate API'sini çağırın. Aramadaki erişim belirteci, anahtar kasasında anahtarlara erişimi olan bir yönetici kullanıcı için olmalıdır. Bu eylem, anahtar kasasında yeni bir Geçerli anahtar ayarlar. Önceki anahtar eski anahtarlara taşınır, ancak yine de etkinleştirilebilir. Yanıt, anahtar kasası ile genel kullanıma açık
did.json
belge arasında bir tutarsızlık olduğunu gösteren bir değere sahip özniteliğinedidDocumentStatus
sahipoutOfSync
yetkili JSON nesnesidir.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.daha önce dağıtıldığı tüm web sunucularında değiştirin
did.json
. El ile düzenlediyseniz, gibihttps://jsonformatter.org/
bir araç kullanarak geçerli JSON söz dizimine sahip olduğundan emin olun. Devam etmeden önce, yenidid.json
belgeyi bir tarayıcıyla internetten alabildiğinizden emin olun.Yeni imzalama anahtarını kullanmaya başlamak için synchronizeWithDidDocument API'sini çağırın. Bu API çağrısı, Key Vault ile ortak
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.didDocumentStatus
Döndürülen yetkili JSON nesnesinde değeri vardırpublished
. Değer hala iseoutOfSync
, Key Vault iledid.json
belge 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?
Ortak anahtar ortak did.json
belgede kullanılabiliyorsa ve anahtar Key Vault'ta devre dışı bırakılmadıysa veya silinmediyse, artık geçerli olmayan bir anahtar tarafından imzalanan Doğrulanmış Kimlik kimlik bilgileri ç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.
İlk: 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ışılırsa döndürülmeye neden olur didDocumentStatus
outOfSync
.
Ö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.
İkincisi: 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.
Not
Eski bir anahtar kullanımdan kaldırılmadan önce kimlik bilgilerinin yenilenmesi veya yeniden verilmesi için anahtar döndürme ilkenizin verilen Doğrulanmış Kimlik kimlik bilgilerinin ömrüyle eşgüdümlü olması gerekir. Çalışmayan bir çözüm örneği, son kullanma tarihi 12 ay olan ve aynı zamanda anahtarları her ay döndürmek için anahtar döndürme ilkesine sahip Doğrulanmış Kimlik kimlik bilgileri vermektir. 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.