From 1d42c61cfdd5f00ad1a652de93fc24f7e82740b5 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 10:58:06 -0500 Subject: [PATCH 01/22] User-assigned identity flow --- .openpublishing.redirection.azure.json | 4 ++ docs/azure/TOC.yml | 6 +- ...md => system-assigned-managed-identity.md} | 12 ++-- .../user-assigned-managed-identity.md | 62 ++++++++++++++++++ .../sdk/includes/assign-roles-identity.md | 61 +++++++++++++++++ .../sdk/includes/managed-identity-concepts.md | 10 +++ .../media/user-assigned-identity-create.png | Bin 0 -> 45489 bytes .../sdk/media/user-assigned-identity-form.png | Bin 0 -> 60697 bytes 8 files changed, 148 insertions(+), 7 deletions(-) rename docs/azure/sdk/authentication/{azure-hosted-apps.md => system-assigned-managed-identity.md} (94%) create mode 100644 docs/azure/sdk/authentication/user-assigned-managed-identity.md create mode 100644 docs/azure/sdk/includes/assign-roles-identity.md create mode 100644 docs/azure/sdk/includes/managed-identity-concepts.md create mode 100644 docs/azure/sdk/media/user-assigned-identity-create.png create mode 100644 docs/azure/sdk/media/user-assigned-identity-form.png diff --git a/.openpublishing.redirection.azure.json b/.openpublishing.redirection.azure.json index 83f2317823183..3ec13c8a989d2 100644 --- a/.openpublishing.redirection.azure.json +++ b/.openpublishing.redirection.azure.json @@ -127,6 +127,10 @@ { "source_path_from_root": "/docs/azure/sdk/authentication/authentication-best-practices.md", "redirect_url": "/dotnet/azure/sdk/authentication/best-practices" + }, + { + "source_path_from_root": "/dotnet/azure/sdk/authentication/azure-hosted-apps.md", + "redirect_url": "/dotnet/azure/sdk/authentication/system-assigned-managed-identity" } ] } diff --git a/docs/azure/TOC.yml b/docs/azure/TOC.yml index 8d7bff74f9f9f..f2def3aec11a7 100644 --- a/docs/azure/TOC.yml +++ b/docs/azure/TOC.yml @@ -66,7 +66,11 @@ - name: Auth using developer accounts href: ./sdk/authentication/local-development-dev-accounts.md - name: Auth from Azure-hosted apps - href: ./sdk/authentication/azure-hosted-apps.md + items: + - name: Use a system-assigned managed identity + href: ./sdk/authentication/system-assigned-managed-identity.md + - name: Use a user-assigned managed identity + href: ./sdk/authentication/user-assigned-managed-identity.md - name: Auth from on-premises apps href: ./sdk/authentication/on-premises-apps.md - name: Auth via configuration files diff --git a/docs/azure/sdk/authentication/azure-hosted-apps.md b/docs/azure/sdk/authentication/system-assigned-managed-identity.md similarity index 94% rename from docs/azure/sdk/authentication/azure-hosted-apps.md rename to docs/azure/sdk/authentication/system-assigned-managed-identity.md index c0d5f4f17938b..1966829d906c5 100644 --- a/docs/azure/sdk/authentication/azure-hosted-apps.md +++ b/docs/azure/sdk/authentication/system-assigned-managed-identity.md @@ -1,19 +1,19 @@ --- -title: Authenticate Azure-hosted .NET apps to Azure resources -description: Learn how to authenticate apps to Azure services when hosted in an Azure compute service like Azure App Service, Azure Functions, or Azure Virtual Machines. +title: Authenticate Azure-hosted .NET apps to Azure resources using a system-assigned managed identity +description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a system-assigned identity ms.topic: how-to ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli ms.date: 02/06/2025 --- -# Authenticate Azure-hosted apps to Azure resources with the Azure SDK for .NET +# Authenticate Azure-hosted .NET apps to Azure resources using a system-assigned managed identity The recommended approach to authenticate an Azure-hosted app to other Azure resources is to use a [managed identity](/entra/identity/managed-identities-azure-resources/overview). This approach is [supported for most Azure services](/entra/identity/managed-identities-azure-resources/managed-identities-status), including apps hosted on Azure App Service, Azure Container Apps, and Azure Virtual Machines. Discover more about different authentication techniques and approaches on the [authentication overview](/dotnet/azure/sdk/authentication) page. In the sections ahead, you'll learn: - Essential managed identity concepts -- How to create a managed identity for your app -- How to assign roles to the managed identity -- How to authenticate using the managed identity from your app code +- How to create a system-assigned managed identity for your app +- How to assign roles to the system-assigned managed identity +- How to authenticate using the system-assigned managed identity from your app code ## Essential managed identity concepts diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md new file mode 100644 index 0000000000000..ccdccdf697914 --- /dev/null +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -0,0 +1,62 @@ +--- +title: Authenticate Azure-hosted .NET apps to Azure resources using a user-assigned managed identity +description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a user-assigned identity +ms.topic: how-to +ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli +ms.date: 02/06/2025 +--- + +# Authenticate Azure-hosted .NET apps to Azure resources using a user-assigned managed identity + +The recommended approach to authenticate an Azure-hosted app to other Azure resources is to use a [managed identity](/entra/identity/managed-identities-azure-resources/overview). This approach is [supported for most Azure services](/entra/identity/managed-identities-azure-resources/managed-identities-status), including apps hosted on Azure App Service, Azure Container Apps, and Azure Virtual Machines. Discover more about different authentication techniques and approaches on the [authentication overview](/dotnet/azure/sdk/authentication) page. In the sections ahead, you'll learn: + +- Essential managed identity concepts +- How to create a user-assigned managed identity for your app +- How to assign roles to the user-assigned managed identity +- How to authenticate using the user-assigned managed identity from your app code + +[!INCLUDE [managed-identity-concepts](../includes/managed-identity-concepts.md)] + +## Create a user-assigned managed identity + +User-assigned identities are created as standalone resources in your Azure subscription. You can create them using the Azure portal or the Azure CLI. + +### [Azure portal](#tab/azure-portal) + +1. In the Azure portal, enter *Managed identities* in the main search bar and select the matching result under the **Services** section. +1. On the **Managed Identities** page, select **+ Create**. + + :::image type="content" source="../media/user-assigned-identity-create.png" alt-text="A screenshot showing the page to manage user-assigned identities."::: + +1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned identity. Enter a logical name for the identity. +1. Select **Review + create** to review and validate your inputs. + + :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: + +1. Select **Create** to create the user-assigned identity. + +### [Azure CLI](#tab/azure-cli) + +Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). + +The Azure CLI commands used to enable managed identity for an Azure resource are of the form `az identity --resource-group --name `. Specific commands for popular Azure services are shown below. + +```azurecli +az identity create --resource-group --name +``` + +The command output should display the following values: + - **ClientID**: Used to configure application code that uses the identity. + - **Location**: The Azure region that contains the identity. + - **Name**: The name of the identity. + - **PrincipalId**: Used for access control and role assignments in Azure. + - **ResourceGroup**: The resource group that contains the identity. + - **TenantId**: The Microsoft Entra tenant that contains the identity. in. + +For the steps ahead, you'll use the `principalId` to assign roles to the managed identity. + +[!INCLUDE [assign-roles-identity](../includes/assign-roles-identity.md)] + +## Implement DefaultAzureCredential in your application + +[!INCLUDE [Implement DefaultAzureCredential](<../includes/implement-defaultazurecredential.md>)] diff --git a/docs/azure/sdk/includes/assign-roles-identity.md b/docs/azure/sdk/includes/assign-roles-identity.md new file mode 100644 index 0000000000000..5d196e7115988 --- /dev/null +++ b/docs/azure/sdk/includes/assign-roles-identity.md @@ -0,0 +1,61 @@ +## Assign roles to the managed identity + +Next, determine which roles your app needs and assign those roles to the managed identity. You can assign roles to a managed identity at the following scopes: + +- **Resource**: The assigned roles only apply to that specific resource. +- **Resource group**: The assigned roles apply to all resources contained in the resource group. +- **Subscription**: The assigned roles apply to all resources contained in the subscription. + +The following example shows how to assign roles at the resource group scope, since many apps manage all their related Azure resources using a single resource group. + +### [Azure portal](#tab/azure-portal) + +1. Navigate to the **Overview** page of the resource group that contains the app with the system-assigned managed identity. +1. Select **Access control (IAM)** on the left navigation. +1. On the **Access control (IAM)** page, select **+ Add** on the top menu and then choose **Add role assignment** to navigate to the **Add role assignment** page. + + :::image type="content" source="../media/system-assigned-identity-access-control.png" alt-text="A screenshot showing how to access the identity role assignment page."::: + +1. The **Add role assignment** page presents a tabbed, multi-step workflow to assign roles to identities. On the initial **Role** tab, use the search box at the top to locate the role you want to assign to the identity. +1. Select the role from the results and then choose **Next** to move to the **Members** tab. +1. For the **Assign access to** option, select **Managed identity**. +1. For the **Members** option, choose **+ Select members** to open the **Select managed identities** panel. +1. On the **Select managed identities** panel, use the **Subscription** and **Managed identity** dropdowns to filter the search results for your identities. Use the **Select** search box to locate the system-identity you enabled for the Azure resource hosting your app. + + :::image type="content" source="../media/system-assigned-identity-assign-roles.png" alt-text="A screenshot showing the managed identity assignment process."::: + +1. Select the identity and choose **Select** at the bottom of the panel to continue. +1. Select **Review + assign** at the bottom of the page. +1. On the final **Review + assign** tab, select **Review + assign** to complete the workflow. + +### [Azure CLI](#tab/azure-cli) + +A managed identity is assigned a role in Azure using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: + +```azurecli +az role assignment create \ + --assignee "{principalId}" \ + --role "{roleName}" \ + --scope "{scope}" +``` + +To get the role names to which a service principal can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: + +```azurecli +az role definition list \ + --query "sort_by([].{roleName:roleName, description:description}, &roleName)" \ + --output table +``` + +For example, to allow the managed identity with the ID of `99999999-9999-9999-9999-999999999999` read, write, and delete access to Azure Storage blob containers and data to all storage accounts in the *msdocs-dotnet-sdk-auth-example* resource group, assign the application service principal to the *Storage Blob Data Contributor* role using the following command: + +```azurecli +az role assignment create \ + --assignee 99999999-9999-9999-9999-999999999999 \ + --role "Storage Blob Data Contributor" \ + --scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msdocs-dotnet-sdk-auth-example" +``` + +For information on assigning permissions at the resource or subscription level using the Azure CLI, see the article [Assign Azure roles using the Azure CLI](/azure/role-based-access-control/role-assignments-cli). + +--- diff --git a/docs/azure/sdk/includes/managed-identity-concepts.md b/docs/azure/sdk/includes/managed-identity-concepts.md new file mode 100644 index 0000000000000..97e67b5f9573f --- /dev/null +++ b/docs/azure/sdk/includes/managed-identity-concepts.md @@ -0,0 +1,10 @@ +## Essential managed identity concepts + +A managed identity enables your app to securely connect to other Azure resources without the use of secret keys or other application secrets. Internally, Azure tracks the identity and which resources it's allowed to connect to. Azure uses this information to automatically obtain Microsoft Entra tokens for the app to allow it to connect to other Azure resources. + +There are two types of managed identities to consider when configuring your hosted app: + +- **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. +- **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. + +The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. \ No newline at end of file diff --git a/docs/azure/sdk/media/user-assigned-identity-create.png b/docs/azure/sdk/media/user-assigned-identity-create.png new file mode 100644 index 0000000000000000000000000000000000000000..eeff0f99f86d05a7999cb313ad67779fb612a446 GIT binary patch literal 45489 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 literal 0 HcmV?d00001 diff --git a/docs/azure/sdk/media/user-assigned-identity-form.png b/docs/azure/sdk/media/user-assigned-identity-form.png new file mode 100644 index 0000000000000000000000000000000000000000..c34459df23f875ff9b2c5bf2c18b1d061219d7dc GIT binary patch literal 60697 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᭧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 literal 0 HcmV?d00001 From 9991dbedea0f3d6711c1b73a829a02d5e3b6c8cc Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 11:05:36 -0500 Subject: [PATCH 02/22] fix redirects --- .openpublishing.redirection.azure.json | 4 ++-- docs/azure/sdk/includes/sdk-auth-overview-managed-identity.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.openpublishing.redirection.azure.json b/.openpublishing.redirection.azure.json index 3ec13c8a989d2..60d47caf29900 100644 --- a/.openpublishing.redirection.azure.json +++ b/.openpublishing.redirection.azure.json @@ -129,8 +129,8 @@ "redirect_url": "/dotnet/azure/sdk/authentication/best-practices" }, { - "source_path_from_root": "/dotnet/azure/sdk/authentication/azure-hosted-apps.md", - "redirect_url": "/dotnet/azure/sdk/authentication/system-assigned-managed-identity" + "source_path_from_root": "/docs/azure/sdk/authentication/azure-hosted-apps.md", + "redirect_url": "/docs/azure/sdk/authentication/system-assigned-managed-identity" } ] } diff --git a/docs/azure/sdk/includes/sdk-auth-overview-managed-identity.md b/docs/azure/sdk/includes/sdk-auth-overview-managed-identity.md index 190af968ae58e..cef0e11aa64ec 100644 --- a/docs/azure/sdk/includes/sdk-auth-overview-managed-identity.md +++ b/docs/azure/sdk/includes/sdk-auth-overview-managed-identity.md @@ -3,4 +3,4 @@ Apps hosted in Azure should use a **Managed Identity service principal**. Manage For example, a .NET web app hosted in Azure App Service would be assigned a Managed Identity. The Managed Identity assigned to the app would then be used to authenticate the app to other Azure services.

> [!div class="nextstepaction"] -> [Learn about auth from Azure-hosted apps](../authentication/azure-hosted-apps.md) +> [Learn about auth from Azure-hosted apps](../authentication/index.md) From 12bdf316e091501d185082e29f12fc498c0af8f0 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 11:09:23 -0500 Subject: [PATCH 03/22] fix trailing line --- docs/azure/sdk/includes/managed-identity-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/includes/managed-identity-concepts.md b/docs/azure/sdk/includes/managed-identity-concepts.md index 97e67b5f9573f..dceb23dbdb5fd 100644 --- a/docs/azure/sdk/includes/managed-identity-concepts.md +++ b/docs/azure/sdk/includes/managed-identity-concepts.md @@ -7,4 +7,4 @@ There are two types of managed identities to consider when configuring your host - **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. - **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. -The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. \ No newline at end of file +The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. From aa57015619d7b3880e4292a243fe885b42bc268b Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 12:43:01 -0500 Subject: [PATCH 04/22] fix tabs --- .../user-assigned-managed-identity.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index ccdccdf697914..2a26c42dc9491 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -28,33 +28,34 @@ User-assigned identities are created as standalone resources in your Azure subsc :::image type="content" source="../media/user-assigned-identity-create.png" alt-text="A screenshot showing the page to manage user-assigned identities."::: -1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned identity. Enter a logical name for the identity. +1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned identity, and then provide a name. 1. Select **Review + create** to review and validate your inputs. +1. Select **Create** to create the user-assigned identity. :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: -1. Select **Create** to create the user-assigned identity. - ### [Azure CLI](#tab/azure-cli) Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). -The Azure CLI commands used to enable managed identity for an Azure resource are of the form `az identity --resource-group --name `. Specific commands for popular Azure services are shown below. +Use the Azure CLI command `az identity create` to create a managed identity for an Azure resource: ```azurecli az identity create --resource-group --name ``` -The command output should display the following values: +The command output prints the following values: - **ClientID**: Used to configure application code that uses the identity. - **Location**: The Azure region that contains the identity. - **Name**: The name of the identity. - **PrincipalId**: Used for access control and role assignments in Azure. - **ResourceGroup**: The resource group that contains the identity. - - **TenantId**: The Microsoft Entra tenant that contains the identity. in. + - **TenantId**: The Microsoft Entra tenant that contains the identity. For the steps ahead, you'll use the `principalId` to assign roles to the managed identity. +--- + [!INCLUDE [assign-roles-identity](../includes/assign-roles-identity.md)] ## Implement DefaultAzureCredential in your application From 7519517a8eaf65bee86bcc9ec8f47efbe6819b25 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 13:26:43 -0500 Subject: [PATCH 05/22] client id --- .../user-assigned-managed-identity.md | 3 + .../implement-user-assigned-identity.md | 69 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 docs/azure/sdk/includes/implement-user-assigned-identity.md diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 2a26c42dc9491..d2f0e704d7662 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -34,6 +34,9 @@ User-assigned identities are created as standalone resources in your Azure subsc :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: +1. After the identity is created, select **Go to resource**. +1. On the new identity's **Overview** page, copy the `Client ID` value to use for later when you configure the application code. + ### [Azure CLI](#tab/azure-cli) Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). diff --git a/docs/azure/sdk/includes/implement-user-assigned-identity.md b/docs/azure/sdk/includes/implement-user-assigned-identity.md new file mode 100644 index 0000000000000..9b5b5058a0d78 --- /dev/null +++ b/docs/azure/sdk/includes/implement-user-assigned-identity.md @@ -0,0 +1,69 @@ +--- +ms.topic: include +ms.date: 08/15/2024 +--- +[DefaultAzureCredential](../authentication/credential-chains.md#defaultazurecredential-overview) is an opinionated, ordered sequence of mechanisms for authenticating to Microsoft Entra ID. Each authentication mechanism is a class derived from the [TokenCredential](/dotnet/api/azure.core.tokencredential?view=azure-dotnet&preserve-view=true) class and is known as a *credential*. At runtime, `DefaultAzureCredential` attempts to authenticate using the first credential. If that credential fails to acquire an access token, the next credential in the sequence is attempted, and so on, until an access token is successfully obtained. In this way, your app can use different credentials in different environments without writing environment-specific code. + +To use `DefaultAzureCredential`, add the [Azure.Identity](/dotnet/api/azure.identity) and optionally the [Microsoft.Extensions.Azure](/dotnet/api/microsoft.extensions.azure) packages to your application: + +### [Command Line](#tab/command-line) + +In a terminal of your choice, navigate to the application project directory and run the following commands: + +```dotnetcli +dotnet add package Azure.Identity +dotnet add package Microsoft.Extensions.Azure +``` + +### [NuGet Package Manager](#tab/nuget-package) + +Right-click your project in Visual Studio's **Solution Explorer** window and select **Manage NuGet Packages**. Search for **Azure.Identity**, and install the matching package. Repeat this process for the **Microsoft.Extensions.Azure** package. + +:::image type="content" source="../media/nuget-azure-identity.png" alt-text="Install a package using the package manager."::: + +--- + +Azure services are accessed using specialized client classes from the various Azure SDK client libraries. These classes and your own custom services should be registered so they can be accessed via dependency injection throughout your app. In `Program.cs`, complete the following steps to register a client class and `DefaultAzureCredential`: + +1. Include the `Azure.Identity` and `Microsoft.Extensions.Azure` namespaces via `using` directives. +1. Register the Azure service client using the corresponding `Add`-prefixed extension method. +1. Pass an instance of `DefaultAzureCredential` to the `UseCredential` method. + +> [!NOTE] +> For a user-assigned managed identity, make sure to assign the identity's `clientId` value to the `ManagedIdentityClientId` property on the `DefaultAzureCredentialOptions` object. This enables your code to discover the correct identity to use for authentication while running in azure. + +For example: + +```c# +using Microsoft.Extensions.Azure; +using Azure.Identity; + +builder.Services.AddAzureClients(clientBuilder => +{ + clientBuilder.AddBlobServiceClient( + new Uri("https://.blob.core.windows.net")); + clientBuilder.UseCredential(new DefaultAzureCredential( + new DefaultAzureCredentialOptions() + { + ManagedIdentityClientId = "" + })); +}); +``` + +An alternative to `UseCredential` is to instantiate `DefaultAzureCredential` directly: + +```c# +using Azure.Identity; + +builder.Services.AddSingleton(_ => + new BlobServiceClient( + new Uri("https://.blob.core.windows.net"), + new DefaultAzureCredential(new DefaultAzureCredentialOptions() + { + ManagedIdentityClientId = "" + }))); +``` + +When the preceding code runs on your local development workstation, `DefaultAzureCredential` looks in the environment variables for an application service principal or at locally installed developer tools, such as Visual Studio, for a set of developer credentials. Either approach can be used to authenticate the app to Azure resources during local development. + +When deployed to Azure, this same code can also authenticate your app to other Azure resources. `DefaultAzureCredential` can retrieve environment settings and managed identity configurations to authenticate to other services automatically. From 1ccab5e55d2d8bbf00b4ddd6f2c3ee59d92b3613 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 13:55:42 -0500 Subject: [PATCH 06/22] updates --- .../user-assigned-managed-identity.md | 64 +++++++++++++++++- docs/azure/sdk/media/add-role-assignment.png | Bin 0 -> 47860 bytes .../user-assigned-identity-assign-roles.png | Bin 0 -> 76663 bytes 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 docs/azure/sdk/media/add-role-assignment.png create mode 100644 docs/azure/sdk/media/user-assigned-identity-assign-roles.png diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index d2f0e704d7662..bf6c07c8fc6ef 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -59,8 +59,68 @@ For the steps ahead, you'll use the `principalId` to assign roles to the managed --- -[!INCLUDE [assign-roles-identity](../includes/assign-roles-identity.md)] +## Assign roles to the managed identity + +Next, determine which roles your app needs and assign those roles to the managed identity. You can assign roles to a managed identity at the following scopes: + +- **Resource**: The assigned roles only apply to that specific resource. +- **Resource group**: The assigned roles apply to all resources contained in the resource group. +- **Subscription**: The assigned roles apply to all resources contained in the subscription. + +The following example shows how to assign roles at the resource group scope, since many apps manage all their related Azure resources using a single resource group. + +### [Azure portal](#tab/azure-portal) + +1. Navigate to the **Overview** page of the resource group that contains the app with the user-assigned managed identity. +1. Select **Access control (IAM)** on the left navigation. +1. On the **Access control (IAM)** page, select **+ Add** on the top menu and then choose **Add role assignment** to navigate to the **Add role assignment** page. + + :::image type="content" source="../media/add-role-assignment.png" alt-text="A screenshot showing how to access the identity role assignment page."::: + +1. The **Add role assignment** page presents a tabbed, multi-step workflow to assign roles to identities. On the initial **Role** tab, use the search box at the top to locate the role you want to assign to the identity. +1. Select the role from the results and then choose **Next** to move to the **Members** tab. +1. For the **Assign access to** option, select **Managed identity**. +1. For the **Members** option, choose **+ Select members** to open the **Select managed identities** panel. +1. On the **Select managed identities** panel, use the **Subscription** and **Managed identity** dropdowns to filter the search results for your identities. Use the **Select** search box to locate the user-assigned managed identity you enabled for the Azure resource hosting your app. + + :::image type="content" source="../media/user-assigned-identity-assign-roles.png" alt-text="A screenshot showing the managed identity assignment process."::: + +1. Select the identity and choose **Select** at the bottom of the panel to continue. +1. Select **Review + assign** at the bottom of the page. +1. On the final **Review + assign** tab, select **Review + assign** to complete the workflow. + +### [Azure CLI](#tab/azure-cli) + +A managed identity is assigned a role in Azure using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: + +```azurecli +az role assignment create \ + --assignee "{principalId}" \ + --role "{roleName}" \ + --scope "{scope}" +``` + +To get the role names to which a service principal can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: + +```azurecli +az role definition list \ + --query "sort_by([].{roleName:roleName, description:description}, &roleName)" \ + --output table +``` + +For example, to allow the managed identity with the ID of `99999999-9999-9999-9999-999999999999` read, write, and delete access to Azure Storage blob containers and data to all storage accounts in the *msdocs-dotnet-sdk-auth-example* resource group, assign the application service principal to the *Storage Blob Data Contributor* role using the following command: + +```azurecli +az role assignment create \ + --assignee 99999999-9999-9999-9999-999999999999 \ + --role "Storage Blob Data Contributor" \ + --scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msdocs-dotnet-sdk-auth-example" +``` + +For information on assigning permissions at the resource or subscription level using the Azure CLI, see the article [Assign Azure roles using the Azure CLI](/azure/role-based-access-control/role-assignments-cli). + +--- ## Implement DefaultAzureCredential in your application -[!INCLUDE [Implement DefaultAzureCredential](<../includes/implement-defaultazurecredential.md>)] +[!INCLUDE [Implement DefaultAzureCredential](<../includes/implement-user-assigned-identity.md>)] diff --git a/docs/azure/sdk/media/add-role-assignment.png b/docs/azure/sdk/media/add-role-assignment.png new file mode 100644 index 0000000000000000000000000000000000000000..702c5ec7d9c23078cb81198ce75ff5a4d4eeaf56 GIT binary patch literal 47860 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

$e#r{nWT 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

hP5c9S8l*ynS%%XV%u@lIS%zrBr=`ZLzT{ zZeK5jUNQUnBxvZF2iBff)>>Bmu4nwj21-=9zqG=*t#Ay2xc(9l!Ja6iwF6{bJtzAK zdi3|2>GyK#xDH%@T3lJMz-D~g#TBMMq$>PdtwjF^iX-Z-SH2&wgIG#~U> zvKYEF{7}X*la&_zs(DEJlZ|#Y8{S%6guYj}&jZU_?2JX%G=FCD7?`j_c0LcH7ruu# z&w59*6a{f#QH0T6B^E$S=po3ZIS}0c3XzV1SV$jg{Y+s$$VeH) zkRn{@^;46x&I>yq;SE9za8#4sRI}$(1#5m*KDN)D#?O!W5$Y;sov=fk%R4>EB zOHggHTq*w-IL+sJ+eN;mToLr=rp7tsaU`6twyDFreN^U*s=giHZO&zG7)Tg)ga!Dg~J}DE5>hj9M?i`KGx68(#ULD~dpf?$v zZsqry#$=O{_z>1%@ae?1$2>%BX03Q)jSEr@=6K%$t~R1WNs)0CCXv4Xw?$ep%Oxr1 z=y*k4HX79$R>;~lx8@sR(+)(BBQEyQd?&3oEHP_yD7rzIu*-@p>pMwkE^Nq@ zS{+3_*ZVcsY&5Us|A5qmdzw>+4_hgmwPOn7)F6!}!jbiD$l5yO_f^Pafj6=-#XR-9 z7^W$KuY_RgLp??eF25?7)+aC~RR`oB^ovq4GZg_LZ!aO!=+vTyA{m#Ema#Ozz!CdQ6EK0E!q#2~zbJr6VvaUaHESTLR( zsj^qscmo5*Lj6VIGIY>dGG|0S>;(CZgB5B^ECEpCZO8Bt|B)ziRzwM^>D235x|DQLPl44TiFQ5Sqrz z#|)GHR6a(=(l3_U`aPqyCyx{#AGAok@|POuj8)Kw{LN4+&)A5=>a_%J;qhuREJA}v z89OTRt5~szA?w8#S3byJ8d^-L-cq*xG}-iE;*42vbz}-ZcERINKp)IFpQ@bJ?f{_rUY0gbW+B3Bw{mSp`zUvI@5m7{7$P!4nDMo z2gm+KS*Ow#3k?N0k5Pe%*fi<+Qa_w2%gfPrqi#A|mR}$2{sRvhYKsd6Sx6?3B<1N6 zuI10BE|c(o1ZLZjqH@-Gcr*EVvLT0+DswABg|KOYW9?YKdCR=^#A@y2U5nnGQRwW5 zYckYYr;g9+#dL>E#lNFYDFdTEeR)&y+Da(TVI4@!(jcrNv4aV;iAE|k%ipqtA?KV; zkVD(-+gNI1uNy$qzA%kfa8Hig{|?~n(su*%Y4C!p~FJgBc|OA4l0_ z0{EHG7eo4rtq#RO{p^D#zXNV2wC0SBf5Bno=+{F@E#8t-cSSQZ zg=n3G<06fewr%>n`#89TnKLrjQ|QwnwiMcVAm5DxhELsMbDb90Df!n=vfm2FCIi35 z|F>(<;Ic9Vr$%}a7wZGjo#Ff9FAOvv44QF|t;GiM<;BI>1H=Dsh+KU8@!zAD{|dtN=-8H^_Ub@*S_3EQDD3`KFb>{ZU`Rxku*4dIcFv4z2| z)Ds??$!vIde7UTVBQ^u>xL&z`*B9_fRRS>hhr!VHLCaHNAN^kb#sZbj4VywjaC_#z zJh@Bb#Sqm6z7Z!%8gg8VYqr99UH+;9A5s`k#?kFz8q&73i!okx7-QF=-!c%3PC5;LvU3k8t93L_O=)UdPk1;QHFA_^$$2D*o+ujPtoww#J9Y1_;1yv==g(S$hZ^ z+gi7e4EWHwrmt>5nx=v>_oR98eFTnG%p-NpO$|+=7wF@RAl$X$A$rU#%Hv(?p3

bgl0lz?9hWF!oINrh2m#@IV;Zm>CX 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 SmiBK?t2V# Date: Fri, 7 Feb 2025 14:57:56 -0500 Subject: [PATCH 07/22] updates --- .../user-assigned-managed-identity.md | 58 +++++++++++++++++- .../add-user-assigned-identity-to-app.png | Bin 0 -> 99960 bytes 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 docs/azure/sdk/media/add-user-assigned-identity-to-app.png diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index bf6c07c8fc6ef..6a9e4862ab1a4 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -55,7 +55,55 @@ The command output prints the following values: - **ResourceGroup**: The resource group that contains the identity. - **TenantId**: The Microsoft Entra tenant that contains the identity. -For the steps ahead, you'll use the `principalId` to assign roles to the managed identity. +--- + +## Assign the managed identity to your app + +A user-assigned can be associated with one or more Azure resources. All of the resources that use that identity will gain the permissions applied through the identity's roles. + +### [Azure portal](#tab/azure-portal) + +1. In the Azure portal, navigate to the resource that hosts your application code, such as an Azure App Service or Azure Container App instance. +1. From the resource's **Overview** page, expand **Settings** and select **Identity** from the navigation. +1. On the **Identity** page, switch to the **User assigned** tab. +1. Select **+ Add** to open the **Add user assigned managed identity** panel. +1. On the **Add user assigned managed identity** panel, use the **Subscription** dropdown to filter the search results for your identities. Use the **Select** search box to locate the user-assigned managed identity you enabled for the Azure resource hosting your app. + + :::image type="content" source="../media/add-user-assigned-identity-to-app.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: + +1. Select the identity and choose **Select** at the bottom of the panel to continue. +1. Select **Review + assign** at the bottom of the page. +1. On the final **Review + assign** tab, select **Review + assign** to complete the workflow. + +### [Azure CLI](#tab/azure-cli) + +The Azure CLI provides different commands to assign a user-assigned identity to different types of hosting services. + +To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the `az identity show` command to retrieve the resource ID: + +```dotnetcli +az identity show -n cli-identity -g aitesting -o json --query id +``` + +Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned identity with different resources, such as the following: + +For Azure App Service, use the Azure CLI command `azd webapp identity assign`: + +```azurecli +az webapp identity assign --resource-group --name --identities +``` + +For Azure Container Apps, use the Azure CLI command `az containerapp identity assign`: + +```azurecli +az webapp identity assign --resource-group --name --identities +``` + +For Azure Container Apps, use the Azure CLI command `az containerapp identity assign`: + +```azurecli +az vm identity assign --resource-group --name --identities +``` --- @@ -91,7 +139,13 @@ The following example shows how to assign roles at the resource group scope, sin ### [Azure CLI](#tab/azure-cli) -A managed identity is assigned a role in Azure using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: +To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: + +```dotnetcli +az identity show -n cli-identity -g aitesting -o json --query id +``` + +Assign a role to a managed identity using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: ```azurecli az role assignment create \ diff --git a/docs/azure/sdk/media/add-user-assigned-identity-to-app.png b/docs/azure/sdk/media/add-user-assigned-identity-to-app.png new file mode 100644 index 0000000000000000000000000000000000000000..b46ed38c9b5900ece26f770482c21826883bfa7a GIT binary patch literal 99960 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 literal 0 HcmV?d00001 From 0892a6205846289a0240cbd71e0760f1a95d8cdd Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 15:06:17 -0500 Subject: [PATCH 08/22] command links --- .../user-assigned-managed-identity.md | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 6a9e4862ab1a4..ded73eeac9e30 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -41,7 +41,7 @@ User-assigned identities are created as standalone resources in your Azure subsc Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). -Use the Azure CLI command `az identity create` to create a managed identity for an Azure resource: +Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure-cli-latest#az-identity-create) to create a managed identity for an Azure resource: ```azurecli az identity create --resource-group --name @@ -59,7 +59,7 @@ The command output prints the following values: ## Assign the managed identity to your app -A user-assigned can be associated with one or more Azure resources. All of the resources that use that identity will gain the permissions applied through the identity's roles. +A user-assigned can be associated with one or more Azure resources. All of the resources that use that identity gain the permissions applied through the identity's roles. ### [Azure portal](#tab/azure-portal) @@ -87,22 +87,31 @@ az identity show -n cli-identity -g aitesting -o json --query id Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned identity with different resources, such as the following: -For Azure App Service, use the Azure CLI command `azd webapp identity assign`: +For Azure App Service, use the Azure CLI command [`az webapp identity assign`](/cli/azure/webapp/identity?view=azure-cli-latest#az-webapp-identity-assign): ```azurecli -az webapp identity assign --resource-group --name --identities +az webapp identity assign \ + --resource-group \ + --name \ + --identities ``` -For Azure Container Apps, use the Azure CLI command `az containerapp identity assign`: +For Azure Container Apps, use the Azure CLI command [`az containerapp identity assign`](/cli/azure/containerapp/identity?view=azure-cli-latest#az-containerapp-identity-assign): ```azurecli -az webapp identity assign --resource-group --name --identities +az webapp identity assign \ + --resource-group \ + --name \ + --identities ``` -For Azure Container Apps, use the Azure CLI command `az containerapp identity assign`: +For Azure Container Apps, use the Azure CLI command [`az vm identity assign`](/cli/azure/vm/identity?view=azure-cli-latest#az-vm-identity-assign): ```azurecli -az vm identity assign --resource-group --name --identities +az vm identity assign \ + --resource-group \ + --name \ + --identities ``` --- @@ -142,16 +151,19 @@ The following example shows how to assign roles at the resource group scope, sin To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: ```dotnetcli -az identity show -n cli-identity -g aitesting -o json --query id +az identity show \ + --resource-group \ + --name \ + -o json --query principalId ``` Assign a role to a managed identity using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: ```azurecli az role assignment create \ - --assignee "{principalId}" \ - --role "{roleName}" \ - --scope "{scope}" + --assignee \ + --role \ + --scope ``` To get the role names to which a service principal can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: From 4b2b9a027cc9761e8d05b262ace568348d66d66b Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 15:22:01 -0500 Subject: [PATCH 09/22] fixes --- .../user-assigned-managed-identity.md | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index ded73eeac9e30..f75e61da41fea 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -19,7 +19,7 @@ The recommended approach to authenticate an Azure-hosted app to other Azure reso ## Create a user-assigned managed identity -User-assigned identities are created as standalone resources in your Azure subscription. You can create them using the Azure portal or the Azure CLI. +User-assigned identities are created as standalone resources in your Azure subscription. You can create them using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). ### [Azure portal](#tab/azure-portal) @@ -30,30 +30,29 @@ User-assigned identities are created as standalone resources in your Azure subsc 1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned identity, and then provide a name. 1. Select **Review + create** to review and validate your inputs. -1. Select **Create** to create the user-assigned identity. :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: +1. Select **Create** to create the user-assigned identity. 1. After the identity is created, select **Go to resource**. 1. On the new identity's **Overview** page, copy the `Client ID` value to use for later when you configure the application code. ### [Azure CLI](#tab/azure-cli) -Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). - -Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure-cli-latest#az-identity-create) to create a managed identity for an Azure resource: +Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure-cli-latest#az-identity-create) to create a managed identity: ```azurecli az identity create --resource-group --name ``` The command output prints the following values: - - **ClientID**: Used to configure application code that uses the identity. - - **Location**: The Azure region that contains the identity. - - **Name**: The name of the identity. - - **PrincipalId**: Used for access control and role assignments in Azure. - - **ResourceGroup**: The resource group that contains the identity. - - **TenantId**: The Microsoft Entra tenant that contains the identity. + +- **ClientID**: Used to configure application code that uses the identity. +- **Location**: The Azure region that contains the identity. +- **Name**: The name of the identity. +- **PrincipalId**: Used for access control and role assignments in Azure. +- **ResourceGroup**: The resource group that contains the identity. +- **TenantId**: The Microsoft Entra tenant that contains the identity. --- @@ -63,25 +62,22 @@ A user-assigned can be associated with one or more Azure resources. All of the r ### [Azure portal](#tab/azure-portal) -1. In the Azure portal, navigate to the resource that hosts your application code, such as an Azure App Service or Azure Container App instance. +1. In the Azure portal, navigate to the resource that hosts your app code, such as an Azure App Service or Azure Container App instance. 1. From the resource's **Overview** page, expand **Settings** and select **Identity** from the navigation. 1. On the **Identity** page, switch to the **User assigned** tab. 1. Select **+ Add** to open the **Add user assigned managed identity** panel. 1. On the **Add user assigned managed identity** panel, use the **Subscription** dropdown to filter the search results for your identities. Use the **Select** search box to locate the user-assigned managed identity you enabled for the Azure resource hosting your app. +1. Select the identity and choose **Add** at the bottom of the panel to continue. - :::image type="content" source="../media/add-user-assigned-identity-to-app.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: - -1. Select the identity and choose **Select** at the bottom of the panel to continue. -1. Select **Review + assign** at the bottom of the page. -1. On the final **Review + assign** tab, select **Review + assign** to complete the workflow. + :::image type="content" source="../media/add-user-assigned-identity-to-app.png" alt-text="A screenshot showing how to associate a user-assigned identity with an app."::: ### [Azure CLI](#tab/azure-cli) The Azure CLI provides different commands to assign a user-assigned identity to different types of hosting services. -To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the `az identity show` command to retrieve the resource ID: +To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: -```dotnetcli +```azurecli az identity show -n cli-identity -g aitesting -o json --query id ``` @@ -105,7 +101,7 @@ az webapp identity assign \ --identities ``` -For Azure Container Apps, use the Azure CLI command [`az vm identity assign`](/cli/azure/vm/identity?view=azure-cli-latest#az-vm-identity-assign): +For Azure Virtual Machines, use the Azure CLI command [`az vm identity assign`](/cli/azure/vm/identity?view=azure-cli-latest#az-vm-identity-assign): ```azurecli az vm identity assign \ @@ -150,7 +146,7 @@ The following example shows how to assign roles at the resource group scope, sin To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: -```dotnetcli +```azurecli az identity show \ --resource-group \ --name \ @@ -166,7 +162,7 @@ az role assignment create \ --scope ``` -To get the role names to which a service principal can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: +To explore which roles a managed identity can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: ```azurecli az role definition list \ From ea28e6bc36efa262bf4d71766f9ec765d768efb8 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 15:38:32 -0500 Subject: [PATCH 10/22] clean up --- .../user-assigned-managed-identity.md | 11 ++-- .../sdk/includes/assign-roles-identity.md | 61 ------------------- 2 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 docs/azure/sdk/includes/assign-roles-identity.md diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index f75e61da41fea..4a118e7c99689 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -66,7 +66,7 @@ A user-assigned can be associated with one or more Azure resources. All of the r 1. From the resource's **Overview** page, expand **Settings** and select **Identity** from the navigation. 1. On the **Identity** page, switch to the **User assigned** tab. 1. Select **+ Add** to open the **Add user assigned managed identity** panel. -1. On the **Add user assigned managed identity** panel, use the **Subscription** dropdown to filter the search results for your identities. Use the **Select** search box to locate the user-assigned managed identity you enabled for the Azure resource hosting your app. +1. On the **Add user assigned managed identity** panel, use the **Subscription** dropdown to filter the search results for your identities. Use the **User assigned managed identities** search box to locate the user-assigned managed identity you enabled for the Azure resource hosting your app. 1. Select the identity and choose **Add** at the bottom of the panel to continue. :::image type="content" source="../media/add-user-assigned-identity-to-app.png" alt-text="A screenshot showing how to associate a user-assigned identity with an app."::: @@ -75,10 +75,13 @@ A user-assigned can be associated with one or more Azure resources. All of the r The Azure CLI provides different commands to assign a user-assigned identity to different types of hosting services. -To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: +To assign a user-assigned identity to a resource such as an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: ```azurecli -az identity show -n cli-identity -g aitesting -o json --query id +az identity show \ + --resource-group \ + --name \ + -o json --query id ``` Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned identity with different resources, such as the following: @@ -144,7 +147,7 @@ The following example shows how to assign roles at the resource group scope, sin ### [Azure CLI](#tab/azure-cli) -To assign a user-assigned identity to an Azure App Service web app using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: +To assign a role to a user-assigned identity using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: ```azurecli az identity show \ diff --git a/docs/azure/sdk/includes/assign-roles-identity.md b/docs/azure/sdk/includes/assign-roles-identity.md deleted file mode 100644 index 5d196e7115988..0000000000000 --- a/docs/azure/sdk/includes/assign-roles-identity.md +++ /dev/null @@ -1,61 +0,0 @@ -## Assign roles to the managed identity - -Next, determine which roles your app needs and assign those roles to the managed identity. You can assign roles to a managed identity at the following scopes: - -- **Resource**: The assigned roles only apply to that specific resource. -- **Resource group**: The assigned roles apply to all resources contained in the resource group. -- **Subscription**: The assigned roles apply to all resources contained in the subscription. - -The following example shows how to assign roles at the resource group scope, since many apps manage all their related Azure resources using a single resource group. - -### [Azure portal](#tab/azure-portal) - -1. Navigate to the **Overview** page of the resource group that contains the app with the system-assigned managed identity. -1. Select **Access control (IAM)** on the left navigation. -1. On the **Access control (IAM)** page, select **+ Add** on the top menu and then choose **Add role assignment** to navigate to the **Add role assignment** page. - - :::image type="content" source="../media/system-assigned-identity-access-control.png" alt-text="A screenshot showing how to access the identity role assignment page."::: - -1. The **Add role assignment** page presents a tabbed, multi-step workflow to assign roles to identities. On the initial **Role** tab, use the search box at the top to locate the role you want to assign to the identity. -1. Select the role from the results and then choose **Next** to move to the **Members** tab. -1. For the **Assign access to** option, select **Managed identity**. -1. For the **Members** option, choose **+ Select members** to open the **Select managed identities** panel. -1. On the **Select managed identities** panel, use the **Subscription** and **Managed identity** dropdowns to filter the search results for your identities. Use the **Select** search box to locate the system-identity you enabled for the Azure resource hosting your app. - - :::image type="content" source="../media/system-assigned-identity-assign-roles.png" alt-text="A screenshot showing the managed identity assignment process."::: - -1. Select the identity and choose **Select** at the bottom of the panel to continue. -1. Select **Review + assign** at the bottom of the page. -1. On the final **Review + assign** tab, select **Review + assign** to complete the workflow. - -### [Azure CLI](#tab/azure-cli) - -A managed identity is assigned a role in Azure using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: - -```azurecli -az role assignment create \ - --assignee "{principalId}" \ - --role "{roleName}" \ - --scope "{scope}" -``` - -To get the role names to which a service principal can be assigned, use the [az role definition list](/cli/azure/role/definition#az-role-definition-list) command: - -```azurecli -az role definition list \ - --query "sort_by([].{roleName:roleName, description:description}, &roleName)" \ - --output table -``` - -For example, to allow the managed identity with the ID of `99999999-9999-9999-9999-999999999999` read, write, and delete access to Azure Storage blob containers and data to all storage accounts in the *msdocs-dotnet-sdk-auth-example* resource group, assign the application service principal to the *Storage Blob Data Contributor* role using the following command: - -```azurecli -az role assignment create \ - --assignee 99999999-9999-9999-9999-999999999999 \ - --role "Storage Blob Data Contributor" \ - --scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/msdocs-dotnet-sdk-auth-example" -``` - -For information on assigning permissions at the resource or subscription level using the Azure CLI, see the article [Assign Azure roles using the Azure CLI](/azure/role-based-access-control/role-assignments-cli). - ---- From 15bc84b0256f74ddb12fc5920b1deb9b2a4197ea Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Fri, 7 Feb 2025 15:45:44 -0500 Subject: [PATCH 11/22] fix --- .../authentication/user-assigned-managed-identity.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 4a118e7c99689..e1a75a1dae55c 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -19,7 +19,7 @@ The recommended approach to authenticate an Azure-hosted app to other Azure reso ## Create a user-assigned managed identity -User-assigned identities are created as standalone resources in your Azure subscription. You can create them using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). +User-assigned identities are created as standalone resources in your Azure subscription using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). ### [Azure portal](#tab/azure-portal) @@ -54,6 +54,15 @@ The command output prints the following values: - **ResourceGroup**: The resource group that contains the identity. - **TenantId**: The Microsoft Entra tenant that contains the identity. +You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command: + +```azurecli +az identity show \ + --resource-group \ + --name \ + -o json +``` + --- ## Assign the managed identity to your app From 1c5ec519c698e2064b402b03433468a7e04cff14 Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Fri, 7 Feb 2025 16:50:51 -0500 Subject: [PATCH 12/22] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../system-assigned-managed-identity.md | 2 +- .../user-assigned-managed-identity.md | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/azure/sdk/authentication/system-assigned-managed-identity.md b/docs/azure/sdk/authentication/system-assigned-managed-identity.md index 1966829d906c5..9b9f73f98afdc 100644 --- a/docs/azure/sdk/authentication/system-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/system-assigned-managed-identity.md @@ -1,6 +1,6 @@ --- title: Authenticate Azure-hosted .NET apps to Azure resources using a system-assigned managed identity -description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a system-assigned identity +description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a system-assigned managed identity. ms.topic: how-to ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli ms.date: 02/06/2025 diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index e1a75a1dae55c..a08685ae514e4 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -1,6 +1,6 @@ --- title: Authenticate Azure-hosted .NET apps to Azure resources using a user-assigned managed identity -description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a user-assigned identity +description: Learn how to authenticate Azure-hosted .NET apps to other Azure services using a user-assigned managed identity. ms.topic: how-to ms.custom: devx-track-dotnet, engagement-fy23, devx-track-azurecli ms.date: 02/06/2025 @@ -19,7 +19,7 @@ The recommended approach to authenticate an Azure-hosted app to other Azure reso ## Create a user-assigned managed identity -User-assigned identities are created as standalone resources in your Azure subscription using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). +User-assigned managed identities are created as standalone resources in your Azure subscription using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). ### [Azure portal](#tab/azure-portal) @@ -28,12 +28,12 @@ User-assigned identities are created as standalone resources in your Azure subsc :::image type="content" source="../media/user-assigned-identity-create.png" alt-text="A screenshot showing the page to manage user-assigned identities."::: -1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned identity, and then provide a name. +1. On the **Create User Assigned Managed Identity** page, select a subscription, resource group, and region for the user-assigned managed identity, and then provide a name. 1. Select **Review + create** to review and validate your inputs. - :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned identity."::: + :::image type="content" source="../media/user-assigned-identity-form.png" alt-text="A screenshot showing the form to create a user-assigned managed identity."::: -1. Select **Create** to create the user-assigned identity. +1. Select **Create** to create the user-assigned managed identity. 1. After the identity is created, select **Go to resource**. 1. On the new identity's **Overview** page, copy the `Client ID` value to use for later when you configure the application code. @@ -42,7 +42,9 @@ User-assigned identities are created as standalone resources in your Azure subsc Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure-cli-latest#az-identity-create) to create a managed identity: ```azurecli -az identity create --resource-group --name +az identity create \ + --resource-group \ + --name ``` The command output prints the following values: From b111def871922b765de39b94a1956332903b2fef Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Fri, 7 Feb 2025 16:51:28 -0500 Subject: [PATCH 13/22] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- docs/azure/sdk/includes/managed-identity-concepts.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/includes/managed-identity-concepts.md b/docs/azure/sdk/includes/managed-identity-concepts.md index dceb23dbdb5fd..3106e497827a8 100644 --- a/docs/azure/sdk/includes/managed-identity-concepts.md +++ b/docs/azure/sdk/includes/managed-identity-concepts.md @@ -5,6 +5,6 @@ A managed identity enables your app to securely connect to other Azure resources There are two types of managed identities to consider when configuring your hosted app: - **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. -- **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. +- **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They're ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. From d692666c77ca332e03cc69481a02df8408fe412c Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Mon, 10 Feb 2025 08:46:15 -0500 Subject: [PATCH 14/22] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- docs/azure/sdk/includes/managed-identity-concepts.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/includes/managed-identity-concepts.md b/docs/azure/sdk/includes/managed-identity-concepts.md index 3106e497827a8..1016d74c4f27a 100644 --- a/docs/azure/sdk/includes/managed-identity-concepts.md +++ b/docs/azure/sdk/includes/managed-identity-concepts.md @@ -4,7 +4,7 @@ A managed identity enables your app to securely connect to other Azure resources There are two types of managed identities to consider when configuring your hosted app: -- **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. -- **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They're ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. +- **System-assigned** managed identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. +- **User-assigned** managed identities are created as standalone Azure resources and offer greater flexibility and capabilities. They're ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. From 002bce87028a960fca280d3c19028a7aeb0ff16c Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 10:29:02 -0500 Subject: [PATCH 15/22] fix link --- .../sdk/authentication/system-assigned-managed-identity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/authentication/system-assigned-managed-identity.md b/docs/azure/sdk/authentication/system-assigned-managed-identity.md index 9b9f73f98afdc..2fe6cce5bee07 100644 --- a/docs/azure/sdk/authentication/system-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/system-assigned-managed-identity.md @@ -24,7 +24,7 @@ There are two types of managed identities to consider when configuring your host - **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. - **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. -The sections ahead describe the steps to enable and use a system-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [Manage user-assigned managed identities](/entra/identity/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-azp) article for more information. +The sections ahead describe the steps to enable and use a system-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [Manage user-assigned managed identities](/dotnet/azure/sdk/authentication/user-assigned-managed-identity) article for more information. ## Enable a system-assigned managed identity on the Azure hosting resource From db1c8510053cdfd61a35100d93ccbfb4139e2ad5 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 10:41:03 -0500 Subject: [PATCH 16/22] fix link --- .../sdk/authentication/system-assigned-managed-identity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/azure/sdk/authentication/system-assigned-managed-identity.md b/docs/azure/sdk/authentication/system-assigned-managed-identity.md index 2fe6cce5bee07..f6a58c9ac67b0 100644 --- a/docs/azure/sdk/authentication/system-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/system-assigned-managed-identity.md @@ -24,7 +24,7 @@ There are two types of managed identities to consider when configuring your host - **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. - **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. -The sections ahead describe the steps to enable and use a system-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [Manage user-assigned managed identities](/dotnet/azure/sdk/authentication/user-assigned-managed-identity) article for more information. +The sections ahead describe the steps to enable and use a system-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [user-assigned managed identities](/dotnet/azure/sdk/authentication/user-assigned-managed-identity) article for more information. ## Enable a system-assigned managed identity on the Azure hosting resource From eea2afffe559b1214c7c13b3025e177ebf4e0a25 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 10:52:06 -0500 Subject: [PATCH 17/22] update include content --- .../authentication/system-assigned-managed-identity.md | 9 +-------- .../sdk/authentication/user-assigned-managed-identity.md | 2 ++ docs/azure/sdk/includes/managed-identity-concepts.md | 3 ++- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/azure/sdk/authentication/system-assigned-managed-identity.md b/docs/azure/sdk/authentication/system-assigned-managed-identity.md index f6a58c9ac67b0..21771077555d2 100644 --- a/docs/azure/sdk/authentication/system-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/system-assigned-managed-identity.md @@ -15,14 +15,7 @@ The recommended approach to authenticate an Azure-hosted app to other Azure reso - How to assign roles to the system-assigned managed identity - How to authenticate using the system-assigned managed identity from your app code -## Essential managed identity concepts - -A managed identity enables your app to securely connect to other Azure resources without the use of secret keys or other application secrets. Internally, Azure tracks the identity and which resources it's allowed to connect to. Azure uses this information to automatically obtain Microsoft Entra tokens for the app to allow it to connect to other Azure resources. - -There are two types of managed identities to consider when configuring your hosted app: - -- **System-assigned** identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. -- **User-assigned** identities are created as standalone Azure resources and offer greater flexibility and capabilities. They are ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. +[!INCLUDE [managed-identity-concepts](../includes/managed-identity-concepts.md)] The sections ahead describe the steps to enable and use a system-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [user-assigned managed identities](/dotnet/azure/sdk/authentication/user-assigned-managed-identity) article for more information. diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index a08685ae514e4..dea5671397e90 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -17,6 +17,8 @@ The recommended approach to authenticate an Azure-hosted app to other Azure reso [!INCLUDE [managed-identity-concepts](../includes/managed-identity-concepts.md)] +The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/dotnet/azure/sdk/authentication/system-assigned-managed-identity) article for more information. + ## Create a user-assigned managed identity User-assigned managed identities are created as standalone resources in your Azure subscription using the Azure portal or the Azure CLI. Azure CLI commands can be run in the [Azure Cloud Shell](https://shell.azure.com) or on a workstation with the [Azure CLI installed](/cli/azure/install-azure-cli). diff --git a/docs/azure/sdk/includes/managed-identity-concepts.md b/docs/azure/sdk/includes/managed-identity-concepts.md index 1016d74c4f27a..cf0a596178290 100644 --- a/docs/azure/sdk/includes/managed-identity-concepts.md +++ b/docs/azure/sdk/includes/managed-identity-concepts.md @@ -7,4 +7,5 @@ There are two types of managed identities to consider when configuring your host - **System-assigned** managed identities are enabled directly on an Azure resource and are tied to its life cycle. When the resource is deleted, Azure automatically deletes the identity for you. System-assigned identities provide a minimalistic approach to using managed identities. - **User-assigned** managed identities are created as standalone Azure resources and offer greater flexibility and capabilities. They're ideal for solutions involving multiple Azure resources that need to share the same identity and permissions. For example, if multiple virtual machines need to access the same set of Azure resources, a user-assigned managed identity provides reusability and optimized management. -The sections ahead describe the steps to enable and use a user-assigned managed identity for an Azure-hosted app. If you need to use a user-assigned managed identity, visit the [system-assigned managed identities](/system-assigned-identity-auth) article for more information. +> [!TIP] +> Learn more about selecting and managing system-assigned managed identities and user-assigned managed identities in the [Managed identity best practice recommendations](/entra/identity/managed-identities-azure-resources/managed-identity-best-practice-recommendations) article. From 8bcf201362051ebd552716973e84f1c441e0da4f Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:03:54 -0500 Subject: [PATCH 18/22] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../user-assigned-managed-identity.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index dea5671397e90..4fbd5439758d9 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -37,7 +37,7 @@ User-assigned managed identities are created as standalone resources in your Azu 1. Select **Create** to create the user-assigned managed identity. 1. After the identity is created, select **Go to resource**. -1. On the new identity's **Overview** page, copy the `Client ID` value to use for later when you configure the application code. +1. On the new identity's **Overview** page, copy the **Client ID** value to use for later when you configure the application code. ### [Azure CLI](#tab/azure-cli) @@ -46,7 +46,9 @@ Use the Azure CLI command [`az identity create`](/cli/azure/identity?view=azure- ```azurecli az identity create \ --resource-group \ - --name + --name \ + --query 'clientId' \ + --output json ``` The command output prints the following values: @@ -64,14 +66,14 @@ You can always view the managed identity properties again using the [`az identit az identity show \ --resource-group \ --name \ - -o json + --output json ``` --- ## Assign the managed identity to your app -A user-assigned can be associated with one or more Azure resources. All of the resources that use that identity gain the permissions applied through the identity's roles. +A user-assigned managed identity can be associated with one or more Azure resources. All of the resources that use that identity gain the permissions applied through the identity's roles. ### [Azure portal](#tab/azure-portal) @@ -94,7 +96,8 @@ To assign a user-assigned identity to a resource such as an Azure App Service we az identity show \ --resource-group \ --name \ - -o json --query id + --output json \ + --query id ``` Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned identity with different resources, such as the following: @@ -166,7 +169,8 @@ To assign a role to a user-assigned identity using the Azure CLI, you'll need th az identity show \ --resource-group \ --name \ - -o json --query principalId + --output json \ + --query principalId ``` Assign a role to a managed identity using the [az role assignment create](/cli/azure/role/assignment#az-role-assignment-create) command: From dc05106a683e85202b0f519cb65327f6b608e2a2 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 12:09:53 -0500 Subject: [PATCH 19/22] simplify ID list --- .../sdk/authentication/user-assigned-managed-identity.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 4fbd5439758d9..8dc566c0d034d 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -51,14 +51,7 @@ az identity create \ --output json ``` -The command output prints the following values: - -- **ClientID**: Used to configure application code that uses the identity. -- **Location**: The Azure region that contains the identity. -- **Name**: The name of the identity. -- **PrincipalId**: Used for access control and role assignments in Azure. -- **ResourceGroup**: The resource group that contains the identity. -- **TenantId**: The Microsoft Entra tenant that contains the identity. +The command output prints the **ClientID** value of the created user-assigned managed identity. The **ClientID** is used to configure application code that relies on the identity. You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command: From e24a5e1c6a8eed7ba7062e998b0f6cfe5ff039e5 Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 12:52:58 -0500 Subject: [PATCH 20/22] PR fixes --- .../sdk/authentication/user-assigned-managed-identity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 8dc566c0d034d..59e8a20947cc2 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -51,7 +51,7 @@ az identity create \ --output json ``` -The command output prints the **ClientID** value of the created user-assigned managed identity. The **ClientID** is used to configure application code that relies on the identity. +The command output prints the client ID of the created user-assigned managed identity. The client ID is used to configure application code that relies on the identity. You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command: @@ -107,7 +107,7 @@ az webapp identity assign \ For Azure Container Apps, use the Azure CLI command [`az containerapp identity assign`](/cli/azure/containerapp/identity?view=azure-cli-latest#az-containerapp-identity-assign): ```azurecli -az webapp identity assign \ +az containerapp identity assign \ --resource-group \ --name \ --identities From b5e700c6e227d457329a84a6f3f93fc10953c720 Mon Sep 17 00:00:00 2001 From: alexwolfmsft <93200798+alexwolfmsft@users.noreply.github.com> Date: Mon, 10 Feb 2025 12:58:57 -0500 Subject: [PATCH 21/22] Apply suggestions from code review Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com> --- .../authentication/user-assigned-managed-identity.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 8dc566c0d034d..98cd269b47aba 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -51,7 +51,7 @@ az identity create \ --output json ``` -The command output prints the **ClientID** value of the created user-assigned managed identity. The **ClientID** is used to configure application code that relies on the identity. +The command output prints the client ID of the created user-assigned managed identity. The client ID is used to configure application code that relies on the identity. You can always view the managed identity properties again using the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command: @@ -81,9 +81,9 @@ A user-assigned managed identity can be associated with one or more Azure resour ### [Azure CLI](#tab/azure-cli) -The Azure CLI provides different commands to assign a user-assigned identity to different types of hosting services. +The Azure CLI provides different commands to assign a user-assigned managed identity to different types of hosting services. -To assign a user-assigned identity to a resource such as an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: +To assign a user-assigned managed identity to a resource such as an Azure App Service web app using the Azure CLI, you'll need the resource ID of the identity. Use the [`az identity show`](/cli/azure/identity?view=azure-cli-latest#az-identity-show) command to retrieve the resource ID: ```azurecli az identity show \ @@ -93,7 +93,7 @@ az identity show \ --query id ``` -Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned identity with different resources, such as the following: +Once you have the resource ID, use the Azure CLI command `az identity assign` command to associate the user-assigned managed identity with different resources, such as the following: For Azure App Service, use the Azure CLI command [`az webapp identity assign`](/cli/azure/webapp/identity?view=azure-cli-latest#az-webapp-identity-assign): @@ -156,7 +156,7 @@ The following example shows how to assign roles at the resource group scope, sin ### [Azure CLI](#tab/azure-cli) -To assign a role to a user-assigned identity using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: +To assign a role to a user-assigned managed identity using the Azure CLI, you'll need the principal ID of the identity. Use the `az identity show` command to retrieve the resource ID: ```azurecli az identity show \ From 80e361c1341de4d635e44df1cff06daf57745fce Mon Sep 17 00:00:00 2001 From: Alex Wolf Date: Mon, 10 Feb 2025 12:59:29 -0500 Subject: [PATCH 22/22] fixes --- .../sdk/authentication/user-assigned-managed-identity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/azure/sdk/authentication/user-assigned-managed-identity.md b/docs/azure/sdk/authentication/user-assigned-managed-identity.md index 59e8a20947cc2..9827e92da363f 100644 --- a/docs/azure/sdk/authentication/user-assigned-managed-identity.md +++ b/docs/azure/sdk/authentication/user-assigned-managed-identity.md @@ -109,7 +109,7 @@ For Azure Container Apps, use the Azure CLI command [`az containerapp identity a ```azurecli az containerapp identity assign \ --resource-group \ - --name \ + --name \ --identities ``` @@ -118,7 +118,7 @@ For Azure Virtual Machines, use the Azure CLI command [`az vm identity assign`]( ```azurecli az vm identity assign \ --resource-group \ - --name \ + --name \ --identities ```