{"id":2403,"date":"2018-08-16T00:00:00","date_gmt":"2018-08-16T00:00:00","guid":{"rendered":""},"modified":"2023-05-11T15:38:07","modified_gmt":"2023-05-11T22:38:07","slug":"installing-certificates-into-iot-devices","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/","title":{"rendered":"Installing certificates into IoT devices"},"content":{"rendered":"<div style=\"background:#eee;border:1px solid #ccc;padding:5px 10px\"><strong>Update:<\/strong> For the most relevant information regarding Azure IoT devices, please visit documentation for <a data-bi-area=\"undefined\" data-bi-id=\"page-clicked-link\" data-bi-view=\"undefined\" data-event=\"page-clicked-link\" href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-dps\/concepts-device-oem-security-practices\">Security practices for Azure IoT device manufacturers<\/a>.\u200b<\/div>\n<p>Lots of folks are moving to <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-dps\/concepts-security#x509-certificates\" target=\"_blank\" rel=\"noopener\">X.509 certificate-based authentication<\/a> as they start to use the <a href=\"https:\/\/docs.microsoft.com\/azure\/iot-dps\/\" target=\"_blank\" rel=\"noopener\">Azure IoT Hub Device Provisioning Service<\/a>, which is great! But I&#039;ve gotten lots of questions about what the best practices are, and how to go about doing it at scale. There are a lot of variables that influence where certs come from and how they are installed, and who owns each stage depends on the specific processes and business relationships in place. This blog post is meant to provide some clarity around the cert generation and installation process for IoT devices at production-level scales.<\/p>\n<p>One note before I begin, if you already have a system in place for installing certificates on your IoT devices and its working out for you, great! Feel free to stop reading and check out some of our <a href=\"https:\/\/channel9.msdn.com\/Shows\/Internet-of-Things-Show\" target=\"_blank\" rel=\"noopener\">other content<\/a>. This blog post is for folks who are just making the switch to using certificates on IoT devices and are struggling with figuring out what works best.<\/p>\n<h2>Mandatory security rant<\/h2>\n<p>If you&#039;re coming from the land of passwords and want a quick fix, you might be asking yourself why you can&#039;t use the same certificate in all your devices like you would be able to use the same password in all your devices. First, using the same password everywhere is really bad practice and has already caused several major DDoS attacks, including the one that took down DNS on the US East Coast a few years back. So don&#039;t ever do this, even with your own personal accounts. Second, certificates are not passwords they are complete identities. A password is like knowing the secret phrase to get into the clubhouse, a certificate is the bouncer asking to see your driver&#039;s license. It\u2019s like if I got multiple copies made of my passport and gave you one to use for identification. Either you give my name and my passport and impersonate me (AKA spoof my identity), or you give your name and my passport and the border control agent kicks you out for not having an ID matching your name.<\/p>\n<h2>Variables involved in certificate decisions<\/h2>\n<p>There are several variables that come into play when you decide to use certificates in your IoT devices. The heavy hitters are as follows.<\/p>\n<p><strong>Where the certificate root of trust comes from<\/strong>. Make this decision based on your own cost tolerances and masochism levels \u2013 managing a public key infrastructure (PKI), especially if your company does not have experience doing so, is not for the faint of heart. Your options are:<\/p>\n<ul>\n<li>3rd party PKI in which you buy intermediate signing certificates (or a private CA) from a 3rd party cert vendor.<\/li>\n<li>Self-managed PKI in which you maintain your own PKI system and generate your own certificates.<\/li>\n<li><a href=\"https:\/\/www.microsoft.com\/en-us\/azure-sphere\/details\/\" target=\"_blank\" rel=\"noopener\">Azure Sphere\u2019s<\/a> security service (only for Azure Sphere devices).<\/li>\n<\/ul>\n<p><strong>Where certificates are stored<\/strong>. This depends on the type of device you&#039;re building, the expected device margins (whether you can afford secure storage), the device&#039;s capabilities, and existing security technology on the device that may be leveraged. Your options are:<\/p>\n<ul>\n<li>In a hardware security module (HSM) (recommended!). Check whether your device&#039;s control board already has an HSM installed. I&#039;ve talked to a couple customers who were surprised to find they had an HSM already installed in their devices that they just weren&#039;t using. If you know you don&#039;t have an HSM, work with your hardware manufacturer to identify an HSM that meets your needs.<\/li>\n<li>In a secure place on disk such as a trusted execution environment (TEE).<\/li>\n<li>Local file system or cert store, e.g. the Windows certificate store.<\/li>\n<li>Other<\/li>\n<\/ul>\n<p><strong>Connectivity at the factory<\/strong>. This determines how and when you get the certificates that will be installed on the devices. Your options are:<\/p>\n<ul>\n<li>Yes connectivity (can generate certs locally).<\/li>\n<li>No connectivity (factory has a signed CA cert it uses to generate device certs locally offline).<\/li>\n<li>No connectivity (certs need to be generated ahead of time, OR offline PKI).<\/li>\n<\/ul>\n<p><strong>Audit requirement<\/strong>. Depending on the type of devices you are producing, you may be required by regulations to have an auditable trail of how device identities are installed in your devices. Only do this if you need to since it can add significant costs to production. If you&#039;re not sure if this applies to you, check with your company&#039;s legal department. Your options are:<\/p>\n<ul>\n<li>Not a sensitive industry, no auditing required.<\/li>\n<li>Sensitive industry, certs need to be installed in a secure room according to various compliance certification requirements. If you need a secure room to install certificates, you probably already are aware of how certs get installed in your devices and already have a system in place. This post is probably not for you.<\/li>\n<\/ul>\n<p><strong>Length of cert validity<\/strong>. Like a driver&#039;s license, certificates have an expiration date that is set when they are created. Your options are:<\/p>\n<ul>\n<li>Very long, never will need to roll it. A very risky approach. Risk can be reduced using very secure storage like an HSM etc. However, the long-lived certificate approach is not recommended.<\/li>\n<li>Will need to roll during the lifetime of the device. This is context dependent and requires a strategy for how to roll certificates, where you&#039;re getting certificates from, and what type of over the air functionality exists for your devices.<\/li>\n<\/ul>\n<h2>When to generate certificates<\/h2>\n<p>As I mentioned in the previous section, connectivity at the factory plays an important role in determining when you generate the certificates for your devices. Let&#039;s talk about that.<\/p>\n<p>Some HSM vendors offer a premium service in which the HSM vendor installs certificates in the HSMs on behalf of the customer. Customers give the HSM vendor access to a signing certificate and the HSM vendor installs certificates signed by that signing certificate on each HSM the customer buys. All the customer has to do is install the HSM on the device. One customer I&#039;ve talked to who went this route says the process is pretty slick. If you choose to go the \u201cpreloaded in HSM\u201d route, when to generate certificates is not your problem! Hooray!<\/p>\n<p>If your devices internally generate their certificates, then you must extract the public X.509 certificate from the device for enrollment.<\/p>\n<p>If your factory has connectivity, you can generate the certs whenever you need them.<\/p>\n<p>If your factory does not have connectivity, and you are using your own PKI with offline support, then you can generate the certs whenever you need them.<\/p>\n<p>If your factory does not have connectivity, and you are using a 3rd party PKI, you have to generate the certs ahead of time from an internet connected location.<\/p>\n<h2>When to install certificates<\/h2>\n<p>Now that you&#039;ve generated certificates for your IoT devices (or know when to generate them), it&#039;s time to install them into your device.<\/p>\n<p>If you go the \u201cpreloaded in HSM\u201d route, your life is made a little easier. Once the HSM is installed in the device, it is available for the device code to access. You will then use the HSM APIs to use the cert stored within the HSM. It&#039;s the easiest option, but it costs a little more.<\/p>\n<p>Otherwise, you need to install the certificate as part of the production process. The easiest way to integrate it into your existing process is to install the certificate with the initial firmware image. Each device has to go through at least one touch on the manufacturing floor to get an image installed and to run the final quality checks, etc, before the device is packaged up to send to its final destination. There&#039;s generally a tool used that does the installation and testing in one shot. You can modify the tool to generate a cert or pull a cert from a pre-generated store and then install it wherever the cert needs to be installed. The tool gives you the scale you need for production-level manufacturing.<\/p>\n<p>If you need more help getting certificates in your IoT devices, please reach out to someone from our <a href=\"https:\/\/azureiotpartners.azurewebsites.net\/#partnerCategoryFilter=security\" target=\"_blank\" rel=\"noopener\">security auditor program<\/a>. Once you get set up with certs on your devices, learn how to use <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-dps\/how-to-roll-certificates\" target=\"_blank\" rel=\"noopener\">certificates<\/a> and <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/iot-dps\/how-to-manage-enrollments\" target=\"_blank\" rel=\"noopener\">enrollments<\/a> in the <a href=\"https:\/\/docs.microsoft.com\/azure\/iot-dps\/\" target=\"_blank\" rel=\"noopener\">Device Provisioning Service<\/a>!<\/p>\n<p>To sum things up with a limerick:<\/p>\n<p>Installing device certs at scale<br \/>\nCan be fraught with pain and with fail<br \/>\nYou can totally do it!<br \/>\nJust plan and work through it<br \/>\nThis blog post serves as your guardrail.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I&#8217;ve gotten lots of questions about what the best practices are, and how to go about doing it at scale.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1485],"tags":[],"audience":[3055,3053,3056],"content-type":[1511],"product":[1489,1593],"tech-community":[],"topic":[],"coauthors":[673],"class_list":["post-2403","post","type-post","status-publish","format-standard","hentry","category-internet-of-things","audience-developers","audience-it-decision-makers","audience-it-implementors","content-type-best-practices","product-azure-iot-hub","product-azure-sphere"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Installing certificates into IoT devices | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I&#039;ve gotten lots of questions about what the best practices are, and how to go about doing it at scale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Installing certificates into IoT devices | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I&#039;ve gotten lots of questions about what the best practices are, and how to go about doing it at scale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2018-08-16T00:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-11T22:38:07+00:00\" \/>\n<meta name=\"author\" content=\"Nicole Berdy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nicole Berdy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/nicole-berdy\/\",\"@type\":\"Person\",\"@name\":\"Nicole Berdy\"}],\"headline\":\"Installing certificates into IoT devices\",\"datePublished\":\"2018-08-16T00:00:00+00:00\",\"dateModified\":\"2023-05-11T22:38:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\"},\"wordCount\":1432,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"articleSection\":[\"Internet of things\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\",\"name\":\"Installing certificates into IoT devices | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"datePublished\":\"2018-08-16T00:00:00+00:00\",\"dateModified\":\"2023-05-11T22:38:07+00:00\",\"description\":\"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I've gotten lots of questions about what the best practices are, and how to go about doing it at scale.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Internet of things\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/internet-of-things\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Installing certificates into IoT devices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Installing certificates into IoT devices | Microsoft Azure Blog","description":"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I've gotten lots of questions about what the best practices are, and how to go about doing it at scale.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/","og_locale":"en_US","og_type":"article","og_title":"Installing certificates into IoT devices | Microsoft Azure Blog","og_description":"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I've gotten lots of questions about what the best practices are, and how to go about doing it at scale.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2018-08-16T00:00:00+00:00","article_modified_time":"2023-05-11T22:38:07+00:00","author":"Nicole Berdy","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Nicole Berdy","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/nicole-berdy\/","@type":"Person","@name":"Nicole Berdy"}],"headline":"Installing certificates into IoT devices","datePublished":"2018-08-16T00:00:00+00:00","dateModified":"2023-05-11T22:38:07+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/"},"wordCount":1432,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"articleSection":["Internet of things"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/","name":"Installing certificates into IoT devices | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"datePublished":"2018-08-16T00:00:00+00:00","dateModified":"2023-05-11T22:38:07+00:00","description":"Lots of folks are moving to X.509 certificate-based authentication as they start to use the Azure IoT Hub Device Provisioning Service, which is great! But I've gotten lots of questions about what the best practices are, and how to go about doing it at scale.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/installing-certificates-into-iot-devices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Internet of things","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/internet-of-things\/"},{"@type":"ListItem","position":3,"name":"Installing certificates into IoT devices"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=2403"}],"version-history":[{"count":0,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/2403\/revisions"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=2403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=2403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=2403"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=2403"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=2403"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=2403"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=2403"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=2403"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=2403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}