{"id":568,"date":"2024-11-26T10:27:51","date_gmt":"2024-11-26T18:27:51","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/?p=568"},"modified":"2025-05-05T14:40:09","modified_gmt":"2025-05-05T21:40:09","slug":"introducing-more-secure-and-seamless-access-in-azure-devtest-labs","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/introducing-more-secure-and-seamless-access-in-azure-devtest-labs\/","title":{"rendered":"Introducing more secure and seamless access in Azure DevTest Labs"},"content":{"rendered":"<p>We\u2019re excited to announce new support in Azure DevTest labs for accessing Azure DevOps artifact repos via <span style=\"font-weight: normal !msorm;\"><strong>Managed Identities <\/strong>and GitHub artifact repos through<strong> GitHub app authentication.<\/strong><\/span> Additionally, the lab storage account can also now be accessed via Managed Identities.<\/p>\n<p>Until now, users have relied on Personal Access Tokens (PATs) and Storage Access Shared (SAS) tokens to connect to these resources. However, these tokens can introduce security risks if exposed, require ongoing management, and may expire unexpectedly, leading to disruptions.<\/p>\n<p>With Managed Identity and GitHub app authentication, development teams can now enjoy a <strong>credential-free experience<\/strong>. Once configured, these authentication methods eliminate the need for manual token management, significantly improving both <strong>security<\/strong> and <strong>user experience<\/strong> by reducing overhead, enhancing reliability, and providing more seamless access to artifact repos and lab storage account.<\/p>\n<p>To get started, you\u2019ll need to <a href=\"https:\/\/aka.ms\/dtl-artifactsource-auth\">configure Managed Identity and GitHub app authentication<\/a>. Learn more below!<\/p>\n<h2><span style=\"font-size: 18pt;\"><strong>How to use Managed Identity and GitHub app authentication?<\/strong><\/span><\/h2>\n<p><span style=\"font-size: 14pt;\">Accessing Azure DevOps artifact repositories with <strong>Managed Identity<\/strong> or GitHub artifact repositories with <strong>GitHub app authentication<\/strong> is simple.<\/span><\/p>\n<p><span style=\"font-size: 12pt;\">Follow these steps:<\/span><\/p>\n<ol>\n<li>On the lab&#8217;s\u00a0<strong>Overview<\/strong>\u00a0page, select\u00a0<strong>Configuration and policies<\/strong>\u00a0from the left navigation.<\/li>\n<li>On the\u00a0<strong>Configuration and policies<\/strong>\u00a0page, select\u00a0<strong>Repositories<\/strong>\u00a0under\u00a0<strong>External resources<\/strong>\u00a0in the left navigation.\nOn the\u00a0<strong>Repositories<\/strong>\u00a0page, the\u00a0<strong>Public Artifact Repo<\/strong>\u00a0is automatically present and connects to the\u00a0<a href=\"https:\/\/github.com\/Azure\/azure-devtestlab\">DevTest Labs public GitHub repository<\/a>. If this repo isn&#8217;t enabled for your lab, you can enable it by selecting the checkbox next to\u00a0<strong>Public Artifact Repo<\/strong>, and then selecting\u00a0<strong>Enable<\/strong>\u00a0on the top menu bar.<\/li>\n<li>To add your artifact repository to the lab, select\u00a0<strong>Add<\/strong>\u00a0in the top menu bar.<\/li>\n<li>In the\u00a0<strong>Repository<\/strong>\u00a0pane, enter the following information:\n<ul>\n<li><strong>Name<\/strong>: A repository name to use in the lab.<\/li>\n<li><strong>Git clone URL<\/strong>: The Git HTTPS clone URL from GitHub or Azure Repos.<\/li>\n<li><strong>Branch<\/strong>\u00a0(optional): The branch that has your artifact definitions.<\/li>\n<li><strong>Managed Identity<\/strong>: Select this option to use Managed Identity to access Azure Repos.\nOr\n<strong>GitHub app authentication<\/strong>: Select this option to use GitHub app authentication to access GitHub Repos.<\/li>\n<li><strong>Folder paths<\/strong>: The folder for your ARM template definitions, relative to the Git clone URL. Be sure to include the initial forward slash in the folder path.<a href=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-571\" src=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2-633x1024.png\" alt=\"Image DevTest lab repo blade with azure managed identity\" width=\"633\" height=\"1024\" srcset=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2-633x1024.png 633w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2-185x300.png 185w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2-768x1243.png 768w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-azure-managed-identity-2.png 873w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/a><a href=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-572\" src=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth-633x1024.png\" alt=\"Image DevTest lab repo blade with github app auth\" width=\"633\" height=\"1024\" srcset=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth-633x1024.png 633w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth-185x300.png 185w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth-768x1243.png 768w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/devtestlab-repo-blade-with-github-app-auth.png 874w\" sizes=\"(max-width: 633px) 100vw, 633px\" \/><\/a><\/li>\n<\/ul>\n<\/li>\n<li>Select\u00a0<strong>Save<\/strong><\/li>\n<li>The repository now appears in the\u00a0<strong>Repositories<\/strong>\u00a0list for the lab.<\/li>\n<\/ol>\n<p>Visit our <a href=\"https:\/\/aka.ms\/dtl-artifactsource-auth\">docs page<\/a> to learn more about how to configure Managed Identity and GitHub app authentication to access artifact repo.<\/p>\n<p>&nbsp;<\/p>\n<p><strong><span style=\"font-size: 14pt;\">Managed Identity to access lab storage account<\/span><\/strong><\/p>\n<p><span style=\"font-size: 14pt;\"><span style=\"font-size: 12pt;\">To use Managed Identity to access the lab storage account, follow these steps while creating the lab:<\/span><\/span><\/p>\n<ol>\n<li>On the\u00a0<strong>DevTest Labs <\/strong>page, select\u00a0<strong>Create<\/strong>.<\/li>\n<li>On the\u00a0<strong>Basic Settings<\/strong> tab, provide the following information:\n<table style=\"width: 78.3806%; height: 216px;\" width=\"652\">\n<thead>\n<tr style=\"height: 24px;\">\n<td style=\"width: 28.9193%; height: 24px;\"><strong>Setting<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 24px;\"><strong>Value<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 24px;\">\n<td style=\"width: 28.9193%; height: 24px;\"><strong>Subscription<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 24px;\">Change the subscription if you want to use a different subscription for the lab.<\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 28.9193%; height: 48px;\"><strong>Resource group<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 48px;\">Select an existing resource group from the dropdown list, or select\u00a0<strong>Create new<\/strong>\u00a0to create a new resource group.<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 28.9193%; height: 24px;\"><strong>Lab name<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 24px;\">Enter a name for the lab.<\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 28.9193%; height: 48px;\"><strong>Location<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 48px;\">If you&#8217;re creating a new resource group, select an Azure region for the resource group and lab.<\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 28.9193%; height: 48px;\"><strong>Artifacts storage account access<\/strong><\/td>\n<td style=\"width: 95.9636%; height: 48px;\">Select the appropriate Managed Identity from the list that you want to use to access the lab storage account.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-573\" src=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity-852x1024.png\" alt=\"Image portal create basic settings managed identity\" width=\"852\" height=\"1024\" srcset=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity-852x1024.png 852w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity-250x300.png 250w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity-768x923.png 768w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/portal-create-basic-settings-managed-identity.png 1173w\" sizes=\"(max-width: 852px) 100vw, 852px\" \/><\/a><\/li>\n<li>Optionally, select the\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devtest-labs\/devtest-lab-create-lab#auto-shutdown-tab\">Auto-shutdown<\/a>,\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devtest-labs\/devtest-lab-create-lab#networking-tab\">Networking<\/a>, or\u00a0<a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devtest-labs\/devtest-lab-create-lab#tags-tab\">Tags<\/a>\u00a0tabs at the top of the page, and customize those settings. You can also apply or change most of these settings after lab creation.<\/li>\n<li>After you complete all settings, select\u00a0<strong>Review + create<\/strong> at the bottom of the page.<\/li>\n<li>If the settings are valid,\u00a0<strong>Succeeded<\/strong>\u00a0appears at the top of the\u00a0<strong>Review + create<\/strong>\u00a0page. Review the settings, and then select\u00a0<strong>Create<\/strong>.<\/li>\n<\/ol>\n<p>Please note that, during lab creation, setting a user-assigned managed identity to access the lab storage account also sets that particular user-assigned managed identity for the virtual machines. The managed identity you select on the <strong>Create DevTest Lab <\/strong>page under the lab artifacts storage account option will also be visible in the <strong>Virtual Machine<\/strong> section of the <strong>Identity<\/strong> page under <strong>Configuration and Policies<\/strong> settings.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity.png\"><img decoding=\"async\" class=\"alignnone size-large wp-image-574\" src=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-1024x562.png\" alt=\"Image virtual machine with ua managed identity\" width=\"1024\" height=\"562\" srcset=\"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-1024x562.png 1024w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-300x165.png 300w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-768x422.png 768w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-1536x843.png 1536w, https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-content\/uploads\/sites\/81\/2024\/11\/virtual-machine-with-ua-managed-identity-2048x1124.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><!--StartFragment --><span class=\"cf0\">With your feedback, we&#8217;re continuing to improve Azure DevTest Labs to make the development process smoother and more secure. Dive into these new features today and see how they can streamline your workflow and boost productivity!<\/span><!--EndFragment --><\/p>\n<p><strong>Get started with DevTest Labs today<\/strong>! To learn more about Azure DevTest Lab, visit <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/devtest-labs\/devtest-lab-overview\">What is Azure DevTest Labs? &#8211; Azure DevTest Labs | Microsoft Learn<\/a>.<\/p>\n<p><strong>Share feedback<\/strong> you have on the service: <a href=\"https:\/\/aka.ms\/dtl\/developer-community-forum\">DevTest Labs \u00b7 Community<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re excited to announce new support in Azure DevTest labs for accessing Azure DevOps artifact repos via Managed Identities and GitHub artifact repos through GitHub app authentication. Additionally, the lab storage account can also now be accessed via Managed Identities. Until now, users have relied on Personal Access Tokens (PATs) and Storage Access Shared (SAS) [&hellip;]<\/p>\n","protected":false},"author":176548,"featured_media":170,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[15],"tags":[16,9,6],"class_list":["post-568","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure-devtest-labs","tag-azure-devtest-labs","tag-developer-productivity","tag-developer-tools"],"acf":[],"blog_post_summary":"<p>We\u2019re excited to announce new support in Azure DevTest labs for accessing Azure DevOps artifact repos via Managed Identities and GitHub artifact repos through GitHub app authentication. Additionally, the lab storage account can also now be accessed via Managed Identities. Until now, users have relied on Personal Access Tokens (PATs) and Storage Access Shared (SAS) [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/posts\/568","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/users\/176548"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/comments?post=568"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/posts\/568\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/media\/170"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/media?parent=568"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/categories?post=568"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/develop-from-the-cloud\/wp-json\/wp\/v2\/tags?post=568"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}