Partilhar via


Atribuição de função padrão do KeyVault mudando de KeyVaultAdministrator para KeyVaultSecretsUser

Na .NET Aspire versão 9.2, a função padrão atribuída aos aplicativos que fazem referência Azure ao KeyVault foi alterada de KeyVaultAdministrator para KeyVaultSecretsUser. Essa alteração aumenta a segurança, limitando os privilégios padrão apenas à leitura de segredos. Os aplicativos que exigem privilégios mais altos devem configurá-los explicitamente.

Versão introduzida

.NET .NET Aspire 9.2

Comportamento anterior

Anteriormente, os aplicativos que faziam referência ao Azure KeyVault recebiam automaticamente a função KeyVaultAdministrator, o que permitia o gerenciamento completo das configurações do KeyVault.

Novo comportamento

As aplicações que fazem referência ao Azure KeyVault agora recebem por padrão a função KeyVaultSecretsUser que restringe o acesso à leitura de segredos. Se forem necessários privilégios mais altos, eles podem ser configurados usando a WithRoleAssignments API.

Exemplo:

using Azure.Provisioning.KeyVault;

var kv = builder.AddAzureKeyVault("kv");

builder.AddProject<Projects.ApiService>("api")
       .WithRoleAssignments(kv, KeyVaultBuiltInRole.KeyVaultContributor);

Tipo de mudança disruptiva

Esta é uma mudança comportamental.

Motivo da mudança

A KeyVaultAdministrator função fornece privilégios excessivos para a maioria dos aplicativos, pois eles normalmente só precisam ler segredos. A atribuição da função por padrão melhora a KeyVaultSecretsUser segurança ao aderir ao princípio do menor privilégio.

Se seu aplicativo exigir privilégios mais altos do que a KeyVaultSecretsUser função, configure explicitamente as funções necessárias usando a WithRoleAssignments API. Por exemplo:

using Azure.Provisioning.KeyVault;

var kv = builder.AddAzureKeyVault("kv");

builder.AddProject<Projects.ApiService>("api")
       .WithRoleAssignments(kv, KeyVaultBuiltInRole.KeyVaultContributor);

APIs afetadas