Я хотел бы ограничить и предоставить доступ к своему секрету только моему приложению в производстве. Даже когда я включил Брандмауэры и виртуальные сети > Выбранные сети и выбрал разрешить доверенные службы Microsoft
при попытке доступа к ключу возвращается сообщение «Операция вернула недопустимый код состояния «Запрещено»»
решение1
Во-первых, функция Virtual Network Service Endpoints for Key Vault все еще находится в стадии предварительного просмотра. Настоятельно рекомендуется не использовать эту функцию для любых производственных сценариев.
В этом случае вам может потребоваться разрешить подключение из виртуальной сети или диапазонов публичных IP-адресов, в которых расположено ваше приложение, чтобы обойти брандмауэр.
Согласно вашим политикам доступа к изображениям, вы запрещаете доступ к трафику из всех сетей. Любой звонящий за пределами этих источников будет лишен доступа, за исключением стандартногоНадежные службы Microsoft. Это означает, что эти соединения от этих служб будут пропускаться через брандмауэр, но таким вызывающим абонентам все равно необходимо предоставить действительный токен AAD и иметь разрешения на выполнение запрошенной операции.
Также скоро появятся App Services, я не могу найти их в текущемНадежные службы Microsoft. Для App Services поддерживаются только экземпляры ASE (App Service Environment).
Ссылка:Анонс конечных точек службы виртуальной сети для Key Vault (предварительная версия)
Обновление1
Из этогосвязьвы указали в комментарии.
Если вы хотите ограничить сетевой доступ к ресурсам PaaS, вы можете убедиться, что вы включили определенную конечную точку службы - Microsoft.KeyVault в вашей конкретной подсети. Кроме того, подсеть разрешена, если вы выбрали сети. Вы можете получить более подробную информацию здесьруководство.
Если вы используете Azure Managed Service Identity в App Service, вам необходимо убедиться, что вы добавили политику доступа, котораявключает в себя идентификационные данные вашего приложения. Ссылаться наэтот.
Обновление2
В этом случае, если вы просто хотите разрешить веб-приложению доступ к хранилищу ключей вместо доступа к хранилищу ключей из локальной сети, вам необходимо добавить исходящие IP-адреса службы веб-приложения в брандмауэр хранилища ключей.
решение2
Если вы используете управляемое удостоверение службы (MSI) со своей службой приложений, вы можете предоставить доступ к этому удостоверению Azure AD в своих политиках хранилища ключей, и вам не придется хранить учетные данные жестко запрограммированными в вашем приложении.https://azure.microsoft.com/sv-se/resources/samples/app-service-msi-keyvault-dotnet/
Что касается ограничения доступа к сети/конечной точке вашего хранилища ключей, Нэнси предлагает правильный ответ — использовать «Microsoft Trusted Services». Согласноhttps://docs.microsoft.com/en-us/azure/key-vault/key-vault-overview-vnet-service-endpointsapp service — это доверенный сервис для Key Vault.