Compartir a través de


Identidades administradas asignadas por el usuario en .NET.NET Aspire

En este artículo, aprenderá a agregar o hacer referencia a identidades administradas asignadas por el usuario (UMIs). Puede agregar UMIs en sus aplicaciones .NET Aspire para acceder a los recursos Azure de forma segura. Un UMI es un recurso independiente Azure que puede asignar a uno o varios recursos de servicio. Las UMIs proporcionan más control sobre la administración de identidades y el acceso a los recursos.

Adición de una identidad administrada asignada por el usuario

Para crear una nueva identidad administrada asignada por el usuario, use la API en el AddAzureUserAssignedIdentity generador de aplicaciones distribuidas:

var builder = DistributedApplication.CreateBuilder(args);

var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi");

// After adding all resources, run the app...

builder.Build().Run();

El código anterior crea una nueva identidad administrada denominada "custom-umi" que puede usar con otros recursos de la aplicación.

Referencia a una identidad administrada existente

Si ya tiene una identidad administrada, puede hacer referencia a ella mediante el PublishAsExisting método . Esto resulta útil cuando desea usar una identidad creada fuera del .NET.NET Aspire proyecto.

var builder = DistributedApplication.CreateBuilder(args);

var miName = builder.AddParameter("miName");
var miResourceGroup = builder.AddParameter("miResourceGroup");

var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi")
    .PublishAsExisting(miName, miResourceGroup);

// After adding all resources, run the app...

builder.Build().Run();

En el ejemplo anterior, se usan parámetros para proporcionar el nombre y el grupo de recursos de la identidad existente. Esto le permite hacer referencia a la identidad administrada sin crear una nueva.

Asignación de roles a identidades administradas

Puede utilizar la API WithRoleAssignments para conceder roles a su identidad administrada. Esto permite que su identidad acceda a otros Azure recursos, como Azure Key Vault.

var builder = DistributedApplication.CreateBuilder(args);

var sharedMi = builder.AddAzureUserAssignedIdentity("custom-umi");

builder.AddAzureKeyVault("secrets")
       .WithRoleAssignments(sharedMi, BuiltInRole.Reader);

// After adding all resources, run the app...

builder.Build().Run();

En este ejemplo, se le asigna el rol de Lector a la identidad administrada para el recurso de Key Vault. Para obtener más información sobre las asignaciones de roles, consulte Administración Azure de asignaciones de roles.

Consulte también