У нас есть несколько приложений, которые используют зашифрованные строки подключения из файла machine.config на сервере.
Сейчас мы начинаем экспериментировать с RemoteApps, но получаем ошибку:
Каждый раз, когда пользователь, не являющийся администратором, пытается подключиться к приложению.
Как сделать так, чтобы обычный пользователь домена имел доступ к зашифрованным строкам подключения в файле machine.config сервера через RemoteApp?
В конце концов я обнаружил, что мне нужно разрешить пользователю доступ к RSAProviderName, чтобы расшифровать блок connectionStrings. Ответ пришел из этого Блог Microsoft
“Failed to decrypt using provider ‘RsaProtectedConfigurationProvider’. Error message from the provider: The RSA key container could not be opened
К счастью, инструмент ASPNet_regiis дает нам возможность добавлять пользователей в ACL ключевых контейнеров с помощью параметра –pa.
Например, чтобы предоставить доступ пользователю ASPNET
aspnet_regiis -pa “<key container name>” “ASPNET”
В <key container name>
можно найти в machine.config под <configProtectedData>
под собственностью keyContainerName