- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经实现了一个使用 Azure Key Vault 作为加密 key 的解决方案。我已遵循 https://learn.microsoft.com/en-us/azure/app-service/app-service-managed-service-identity 文档中的建议了解如何使用托管服务标识向 Azure Key Vault 验证我的应用服务。我的应用服务是一个 asp.net core 2.1 应用程序。
当我将应用程序服务发布到我的 Azure 订阅时,这是有效的,因此我确信实现是正确的。问题是在本地运行代码并尝试使用 MSI 连接到 Azure Key Vault 似乎并不像宣传的那样对我有用。
我正在运行 Visual Studio 2017 版本 15.8.5。我使用 Azure Active Directory 的企业身份登录 VS(即 sbraswell@myemployer.com)。不过,我正在使用的 Azure 订阅是我的 MSDN 合作伙伴权益的一部分,并且与我的 Microsoft 帐户 (MSA)(即 something@hotmail.com)相关联。我已向我的公司 AAD 身份“所有者”角色授予我的订阅权限。我能够以我的企业身份登录 Azure 门户,并访问与我的 MSA 帐户关联的 Azure 订阅的所有方面。
获取 Azure Key Vault 的访问 token 时,以下代码不会引发异常:
var tokenProvider = new
Microsoft.Azure.Services.AppAuthentication.AzureServiceTokenProvider();
var token = await tokenProvider.GetAccessTokenAsync(resource);
return token;
当我尝试从保管库解析特定加密 key 时,此代码引发异常:
var keyEncryptionKey = await cloudResolver.ResolveKeyAsync(keyId, CancellationToken.None)
抛出的异常是:
Microsoft.Azure.KeyVault.Models.KeyVaultErrorException: Operation returned an invalid status code 'Unauthorized'
at Microsoft.Azure.KeyVault.KeyVaultClient.GetKeyWithHttpMessagesAsync(String vaultBaseUrl, String keyName, String keyVersion, Dictionary`2 customHeaders, CancellationToken cancellationToken)
at Microsoft.Azure.KeyVault.KeyVaultClientExtensions.GetKeyAsync(IKeyVaultClient operations, String keyIdentifier, CancellationToken cancellationToken)
我希望能够使用 MSI 进行身份验证来部署解决方案,这样我们就不必创建充当应用服务和 Key Vault 之间中介的 Active Directory 应用程序。我们最终必须将应用程序 ID 和应用程序 key 放入我们的应用程序服务配置中,并且通过 MSI,我们无需管理这两个额外的敏感数据。
预先感谢您提出的任何建议。
更新
我已确认,如果我使用属于与我的公司 AAD 帐户关联的订阅的 Key Vault,则 VS 的 MSI 身份验证可以正常工作,不会出现异常。我的配置一定有问题。还有其他人在使用 Microsoft 合作伙伴网络 Visual Studio Enterprise 订阅 Azure 权益时遇到此问题吗? MS 的身份管理是 MesS :(
最佳答案
使用 Azure Key Vault 服务在 Visual Studio 中进行本地开发取决于“Azure 服务身份验证扩展”https://marketplace.visualstudio.com/items?itemName=chrismann.MicrosoftVisualStudioAsalExtension#overview从 15.6 版开始就集成到 Visual Studio 中,无需单独安装。
检查 Visual Studio/Tools/Options/Azure Services Authentication 以查看您使用哪个帐户在 Azure 服务中进行身份验证并进行适当的设置。
此外,在应用程序中安装 NuGet 数据包 Microsoft.Azure.Services.AppAuthentication。
关于azure - Azure Key Vault 的 MSI 身份验证无法在本地使用 VS 2017 和 IISExpress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52482798/
以下是我的工作环境中使用的技术: -Node JS 版本 8.10.0 win x64 -Visual Studio 2015 社区更新 3 -iisnode v0.22.1 x64 -IIS Exp
我有一个网站在 IIS Express 上运行良好,直到我想添加第二个网站并让它们都使用相同的端口号运行。现在我不知道如何走正确的道路。当我在运行 iIS Express 后浏览该网站时,它提示一个错
IISExpress 将日志和配置数据写入预先确定的位置,开箱即用。 该目录是存储在用户文档目录中的“IISExpress”目录。 该目录下存储有以下文件夹文件。 配置 日志 TraceLogFile
我正在编写一个利用安全声明的自定义 .Net 应用程序,因为我们正在跨越许多边界 - Web、API、批处理等。在开发过程中,有时我会在通过 Chrome 登录时在系统中创建一些东西,然后我会通过 E
当我尝试从 VS(2015 或 2017)启动我的 ASP.NET 应用程序时,它只是崩溃,输出窗口中没有错误。 The program '[8464] iisexpress.exe' has exi
我需要以特定身份运行 IISExpress。看完这篇文章后how to run iisexpress app pool under a different identity我在\Documents\I
我正在尝试配置一个简单的网站以要求 IISExpress 上的客户端证书。 我的配置是根据这个存档jasonrshaver.com邮政。 ... ... 它
有没有办法回收iisexpress应用程序池? 我打开 cmd 并转到“C:\Program Files\IIS Express” 然后我运行“appcmd apppool/?”那里的命令列表缺少“回
我遇到一个问题,当我尝试将我的调试器附加到 IIS Express 时,它失败并显示“无法附加到进程。灾难性故障”。然后它会终止我的 IIS Express session 。我不知道从哪里开始调试这
我有一个 asp.net mvc 应用程序,正在尝试使用 IISExpress 解决自定义错误。 在 Casini 中工作正常: 当我之前将 mvc 站点部署到 IIS (7.5) 时,我所
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我最近注意到 IISExpress 和我的网站文件夹被添加到我的 Windows 7 机器上的我的文档文件夹中。我最近安装了 VS2012,所以我猜这是罪魁祸首,但如果可能的话,我在网上找不到任何解释
我正在尝试学习 mvc。我在此站点 (asp.net) 中使用 Pluralsight 培训视频。 在本视频中,我们创建了一个名为 OdeToFoodDb 的 DBContext 类: public
我正在尝试从 Android 模拟器(特别是 Genymotion)通过 Visual Studio 连接到在 IISExpress 上运行的 ASP.NET WebApi 服务。我能够设置我的 II
我第一次使用带有 IISExpress 的新 Visual Studio 2013(以前在 VS2010 上使用 ASP.net 开发服务器)。我在尝试调试我的项目时遇到了问题。 这是我在 Chrom
我有一个包含多个项目的解决方案。即使我将 Web 项目的启动选项设置为: 不要打开页面。等待来自外部应用程序的请求。 使用自定义网络服务器。基本 URL:http://localhost。 启动项目:
我正在尝试运行我的 Web 应用程序,但出现此错误 Unable to attach to application 'iisexpress.exe' (PID 708) using ''. The
我正在使用 IISExpress8 运行 Windows Server 2008 R2 (x64),并且导航到 c:\Program Files (x86)\IIS Express>iisexpres
我正在尝试使用本地网络上的其他一些计算机/设备来测试在本地 IISExpress 实例中运行的网站。我运行的是 Win7 Pro。 当我第一次尝试从本地网段上的另一台计算机浏览到我的计算机时,收到 4
我有一个从 Azure 开发测试实验室环境创建的虚拟机。我CYOD这个虚拟机,所以我有onedrive业务和公司的所有安全限制。 我刚刚测试了 IISExpress 文件夹及其项目缺乏权限的所有解决方
我是一名优秀的程序员,十分优秀!