{"id":12355,"date":"2026-06-02T12:15:23","date_gmt":"2026-06-02T19:15:23","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cosmosdb\/?p=12355"},"modified":"2026-06-02T03:01:51","modified_gmt":"2026-06-02T10:01:51","slug":"announcing-public-preview-of-safe-key-rotation-in-azure-cosmos-db","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cosmosdb\/announcing-public-preview-of-safe-key-rotation-in-azure-cosmos-db\/","title":{"rendered":"Announcing Public Preview of Safe Key Rotation in Azure Cosmos DB"},"content":{"rendered":"<p><a class=\"Hyperlink SCXW25075175 BCX8\" href=\"https:\/\/aka.ms\/Safe-Key-Rotation\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW25075175 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun CommentStart SCXW25075175 BCX8\" data-ccp-charstyle=\"Hyperlink\">In our previous post<\/span><\/span><\/a><span class=\"TextRun SCXW25075175 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW25075175 BCX8\">,<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0we\u00a0<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">introduced<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0the private preview of Safe Key Rotation, a feature\u00a0<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">that helps<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0Azure Cosmos DB customers avoid service disruptions during key rotations.\u00a0<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">By showing<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0when each account key was last used, it\u00a0<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">helps<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0teams make informed decisions before rotating keys or\u00a0<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">moving<\/span><span class=\"NormalTextRun SCXW25075175 BCX8\">\u00a0to Entra ID.<\/span><\/span><\/p>\n<p><iframe src=\"\/\/www.youtube.com\/embed\/gZHq8Z311Ik\" width=\"560\" height=\"314\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>This capability addresses a common challenge: keys that appear unused\u00a0may\u00a0still\u00a0support\u00a0critical\u00a0applications,\u00a0which can lead\u00a0to unexpected outages\u00a0if they are\u00a0rotated\u00a0too soon.<\/p>\n<h3>What is new?<\/h3>\n<p><span class=\"TextRun SCXW154562615 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW154562615 BCX8\">With public preview, we are expanding this capability to give\u00a0<\/span><span class=\"NormalTextRun SCXW154562615 BCX8\">you<\/span><span class=\"NormalTextRun SCXW154562615 BCX8\">\u00a0even more control and confidence<\/span><span class=\"NormalTextRun SCXW154562615 BCX8\">\u00a0when managing your account keys.<\/span><\/span><\/p>\n<ul>\n<li><span class=\"TextRun SCXW169156820 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW169156820 BCX8\">Azure Cosmos DB\u00a0<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">now\u00a0<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">provide<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">s<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">\u00a0visibility into the\u00a0<\/span><\/span><span class=\"TextRun SCXW169156820 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW169156820 BCX8\">last usage timestamp for each key<\/span><\/span><span class=\"TextRun SCXW169156820 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW169156820 BCX8\">,\u00a0<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">helping<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">\u00a0you\u00a0<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">understand<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">\u00a0<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">when a key was last used<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">\u00a0before\u00a0<\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW169156820 BCX8\">taking action<\/span><span class=\"NormalTextRun SCXW169156820 BCX8\">.<\/span><\/span><\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/last_usage_timestamp.png\"><img decoding=\"async\" class=\"aligncenter wp-image-12362 \" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/last_usage_timestamp.png\" alt=\"last usage timestamp image\" width=\"550\" height=\"386\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/last_usage_timestamp.png 948w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/last_usage_timestamp-300x210.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/last_usage_timestamp-768x539.png 768w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<ul>\n<li><span class=\"TextRun SCXW82027702 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82027702 BCX8\">Safe key rotation can now be enabled directly from the\u00a0<\/span><\/span><span class=\"TextRun SCXW82027702 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82027702 BCX8\">Features<\/span><\/span><span class=\"TextRun SCXW82027702 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW82027702 BCX8\"> blade, making it easy to adopt this capability.<\/span><\/span><\/li>\n<\/ul>\n<p style=\"text-align: left;\"><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/feature_enablement_blade.png\"><img decoding=\"async\" class=\"aligncenter wp-image-12359\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/feature_enablement_blade.png\" alt=\"Image on how to enable the safe key rotation on azure portal\" width=\"680\" height=\"386\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/feature_enablement_blade.png 1015w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/feature_enablement_blade-300x170.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/feature_enablement_blade-768x436.png 768w\" sizes=\"(max-width: 680px) 100vw, 680px\" \/><\/a><\/p>\n<ul>\n<li><span class=\"TextRun SCXW174507785 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW174507785 BCX8\">With active enablement, you can safely regenerate keys or disable local authentication with confidence, ensuring the key is no longer in use before making changes.<\/span><\/span><\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1.png\"><img decoding=\"async\" class=\"aligncenter wp-image-12364\" src=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1.png\" alt=\"image of key regeneration confirmation\" width=\"644\" height=\"386\" srcset=\"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1.png 1280w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1-300x180.png 300w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1-1024x614.png 1024w, https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-content\/uploads\/sites\/52\/2026\/07\/image-1-768x460.png 768w\" sizes=\"(max-width: 644px) 100vw, 644px\" \/><\/a><\/p>\n<h3><\/h3>\n<h3>Get Started<\/h3>\n<p><span class=\"NormalTextRun SCXW175101799 BCX8\">Safe Key Rotation is now available to help\u00a0<\/span><span class=\"NormalTextRun SCXW175101799 BCX8\">you<\/span><span class=\"NormalTextRun SCXW175101799 BCX8\">\u00a0manage your account keys. Enable it in the Azure\u00a0<\/span><span class=\"NormalTextRun SCXW175101799 BCX8\">portal or<\/span><span class=\"NormalTextRun SCXW175101799 BCX8\">\u00a0explore\u00a0<\/span><span class=\"NormalTextRun SCXW175101799 BCX8\">the <a href=\"https:\/\/aka.ms\/AccountKeyUsage\">Safe Key Rotation documentation<\/a> to learn more.<\/span><\/p>\n<h2><span class=\"TextRun SCXW50913107 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW50913107 BCX8\" data-ccp-charstyle=\"normaltextrun\" data-ccp-charstyle-defn=\"{&quot;ObjectId&quot;:&quot;ac0262f4-8a9e-5820-b908-2d943c5f7113|1&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[201342446,&quot;1&quot;,201342447,&quot;5&quot;,201342448,&quot;1&quot;,201342449,&quot;1&quot;,469777841,&quot;Aptos&quot;,469777842,&quot;Arial&quot;,469777843,&quot;Aptos&quot;,469777844,&quot;Aptos&quot;,201341986,&quot;1&quot;,469769226,&quot;Aptos,Arial&quot;,268442635,&quot;24&quot;,469775450,&quot;normaltextrun&quot;,201340122,&quot;1&quot;,134233614,&quot;true&quot;,469778129,&quot;normaltextrun&quot;,335572020,&quot;1&quot;,469778324,&quot;Default Paragraph Font&quot;]}\">About Azure Cosmos DB<\/span><\/span><span class=\"TextRun SCXW50913107 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW50913107 BCX8\" data-ccp-charstyle=\"eop\" data-ccp-charstyle-defn=\"{&quot;ObjectId&quot;:&quot;920dbcde-2834-5e15-a5fa-062170b236ba|1&quot;,&quot;ClassId&quot;:1073872969,&quot;Properties&quot;:[201342446,&quot;1&quot;,201342447,&quot;5&quot;,201342448,&quot;1&quot;,201342449,&quot;1&quot;,469777841,&quot;Aptos&quot;,469777842,&quot;Arial&quot;,469777843,&quot;Aptos&quot;,469777844,&quot;Aptos&quot;,201341986,&quot;1&quot;,469769226,&quot;Aptos,Arial&quot;,268442635,&quot;24&quot;,469775450,&quot;eop&quot;,201340122,&quot;1&quot;,134233614,&quot;true&quot;,469778129,&quot;eop&quot;,335572020,&quot;1&quot;,469778324,&quot;Default Paragraph Font&quot;]}\">\u202f<\/span><\/span><span class=\"EOP Selected SCXW50913107 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"none\">Azure Cosmos DB is a fully managed and serverless NoSQL and vector database for modern app development, including AI applications. With its SLA-backed speed and availability as well as instant dynamic scalability, it is ideal for real-time NoSQL and MongoDB applications that require high performance and distributed computing over massive volumes of NoSQL and vector data.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p>To stay in the loop on Azure Cosmos DB updates, follow us on\u00a0<a href=\"https:\/\/twitter.com\/AzureCosmosDB\" target=\"_blank\" rel=\"noopener\">X<\/a>,\u00a0<a href=\"https:\/\/aka.ms\/AzureCosmosDBYouTube\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>, and\u00a0<a href=\"https:\/\/www.linkedin.com\/company\/azure-cosmos-db\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>.\u00a0 Join the discussion with other developers on the\u00a0<a href=\"https:\/\/discord.gg\/pczdC2SU\" target=\"_blank\" rel=\"noopener\">#nosql channel on the Microsoft Open Source Discord<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In our previous post,\u00a0we\u00a0introduced\u00a0the private preview of Safe Key Rotation, a feature\u00a0that helps\u00a0Azure Cosmos DB customers avoid service disruptions during key rotations.\u00a0By showing\u00a0when each account key was last used, it\u00a0helps\u00a0teams make informed decisions before rotating keys or\u00a0moving\u00a0to Entra ID. This capability addresses a common challenge: keys that appear unused\u00a0may\u00a0still\u00a0support\u00a0critical\u00a0applications,\u00a0which can lead\u00a0to unexpected outages\u00a0if they are\u00a0rotated\u00a0too [&hellip;]<\/p>\n","protected":false},"author":72078,"featured_media":12394,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[14,1970,667],"tags":[1864,1963,2024],"class_list":["post-12355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-core-sql-api","category-compliance","category-security","tag-azurecosmosdb","tag-entra-id","tag-safe-key-rotation"],"acf":[],"blog_post_summary":"<p>In our previous post,\u00a0we\u00a0introduced\u00a0the private preview of Safe Key Rotation, a feature\u00a0that helps\u00a0Azure Cosmos DB customers avoid service disruptions during key rotations.\u00a0By showing\u00a0when each account key was last used, it\u00a0helps\u00a0teams make informed decisions before rotating keys or\u00a0moving\u00a0to Entra ID. This capability addresses a common challenge: keys that appear unused\u00a0may\u00a0still\u00a0support\u00a0critical\u00a0applications,\u00a0which can lead\u00a0to unexpected outages\u00a0if they are\u00a0rotated\u00a0too [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/users\/72078"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/comments?post=12355"}],"version-history":[{"count":2,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12355\/revisions"}],"predecessor-version":[{"id":12450,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/posts\/12355\/revisions\/12450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media\/12394"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/media?parent=12355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/categories?post=12355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cosmosdb\/wp-json\/wp\/v2\/tags?post=12355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}