Cómo acceder a la bóveda celeste secretos clave de aplicación web alojado en IIS máquina local y depurar uniendo proceso de trabajo de IIS?

votos
1

El objetivo es obtener todos los valores de secretos de .NET aplicación web marco 4.6 alojado en IIS local? La aplicación es poco legado y sólo se puede depurar mediante la unión a proceso de trabajo. Estoy tratando de acceder a los secretos de la bóveda celeste clave utilizando el código de abajo, por lo que el almacenamiento de claves puede evitarse en los archivos de configuración de la aplicación.

var keyVaultPath = ConfigurationManager.AppSettings[KeyVaultStorage];
var azureServiceTokenProvider = new AzureServiceTokenProvider();
var keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secrets = keyVaultClient.GetSecretsAsync(keyVaultPath).Result;
_secretValues = new ConcurrentDictionary<string, string>();
foreach (var item in secrets)
{
      var secret = keyVaultClient.GetSecretAsync(${keyVaultPath}/secrets/{item.Identifier.Name}).Result;
      _secretValues.TryAdd(item.Identifier.Name, secret.Value);
}

Antes de ejecutar este código, asegurado a la cuenta para la suscripción azul usando los siguientes comandos

az login 
az account set --subscription

El mismo código funciona bien en el uso de la base .Net, así como en .Net aplicación web marco 4.6 alojado en IIS Express. No se ejecuta cuando se alojan en IIS máquina local.

Se genera un error de ejecutar el código del proceso de trabajo de IIS.

AzureServiceTokenProviderException: Parameters: Connection String: [No connection string specified], Resource: https://vault.azure.net, Authority: https://login.windows.net/. Exception Message: Tried the following 4 methods to get an access token, but none of them worked.
Parameters: Connection String: [No connection string specified], Resource: https://vault.azure.net, Authority: https://login.windows.net/. Exception Message: Tried to get token using Managed Service Identity. Unable to connect to the Managed Service Identity (MSI) endpoint. Please check that you are running on an Azure resource that has MSI setup.
Parameters: Connection String: [No connection string specified], Resource: vault.azure.net, Authority: login.windows.net/. Exception Message: Tried to get token using Visual Studio. Access token could not be acquired. Visual Studio Token provider file not found at C:\WINDOWS\system32\config\systemprofile\AppData\Local\.IdentityService\AzureServiceAuth\tokenprovider.json
Parameters: Connection String: [No connection string specified], Resource: https://vault.azure.net, Authority: https://login.windows.net/. Exception Message: Tried to get token using Azure CLI. Access token could not be acquired. Traceback (most recent call last):
  File runpy.py, line 193, in _run_module_as_main
  File runpy.py, line 85, in _run_code
  File C:\Users\trdai\AppData\Local\Temp\pip-install-17ev678d\azure-cli\azure\cli\__main__.py, line 32, in <module>
  File C:\Users\trdai\AppData\Local\Temp\pip-install-17ev678d\azure-cli-core\azure\cli\core\__init__.py, line 509, in get_default_cli
  File C:\Users\trdai\AppData\Local\Temp\pip-install-17ev678d\azure-cli-core\azure\cli\core\__init__.py, line 51, in __init__
  File C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\knack\util.py, line 38, in ensure_dir
    os.makedirs(d)
  File os.py, line 220, in makedirs
PermissionError: [WinError 5] Access is denied: 'C:\\WINDOWS\\system32\\config\\systemprofile\\.azure'

Parameters: Connection String: [No connection string specified], Resource: vault.azure.net, Authority: login.windows.net/. Exception Message: Tried to get token using Active Directory Integrated Authentication. Access token could not be acquired. unknown_user_type: Unknown User Type
Publicado el 19/12/2018 a las 14:07
fuente por usuario
En otros idiomas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more