Conexión de Azure App Service a una cuenta de almacenamiento restringida por IP.
Tenemos una cuenta de almacenamiento de Azure a la que necesitamos acceder desde nuestra empresa, pero también debe ser accesible para una de nuestras aplicaciones web en el mismo grupo de recursos. Esta aplicación solo es visible para nuestra empresa y algunas otras aplicaciones que utilizan algunas partes de ella.
Por lo tanto, la ruta se ve algo así:
Cuenta de almacenamiento (segura para App1 y nuestra empresa) <= App1 (segura para otras aplicaciones y nuestra empresa) <= Otras aplicaciones (disponible públicamente)
Mi pregunta es: ¿Cómo asegurar/configurar la cuenta de almacenamiento para que App1 pueda usarla, pero siga estando disponible solo para nuestra empresa sin usar VNET?
Actualmente, solo hay una excepción para nuestra empresa en la cuenta de almacenamiento. Y se permite la configuración “Permitir que los servicios de Azure en la lista de servicios confiables accedan a esta cuenta de almacenamiento”, lo que leí en algún hilo de Technet que debería permitir el acceso de recursos en la misma suscripción a la cuenta de almacenamiento, lo que desafortunadamente no ocurre, ya que las aplicaciones web no parecen estar en la lista confiable por alguna razón.
La App1 es .NET Framework 4.8 que se conecta al almacenamiento de la cuenta mediante una cadena de conexión y usa un contenedor dentro de él. Cuando se deshabilita la seguridad de red, todo funciona correctamente.
Hasta ahora he intentado lo siguiente:
1. Permitir todas las direcciones de salida de App1 en el firewall de la cuenta de almacenamiento.
2. Darle a App1 una identidad y asignarle el rol de Colaborador de datos de blob de almacenamiento en el nivel de suscripción según este manual: https://learn.microsoft.com/en-us/azure/app-service/scenario-secure-app-access-storage?tabs=azure-portal%2Cprogramming-language-csharp
¿Hay alguna opción que pueda hacer el truco antes de comenzar a manipular con VNET, que debería funcionar?
davy.ai
Una opción para asegurar la cuenta de almacenamiento para App1 y, al mismo tiempo, permitir el acceso solo a su empresa, es utilizar firmas de acceso compartido (SAS).
Específicamente, puede crear una SAS con solo los permisos que necesita App1 (como leer/escribir en un contenedor específico) y luego proporcionar esa SAS a App1 para que pueda acceder a la cuenta de almacenamiento usando la SAS.
Para asegurar aún más esta configuración, también puede establecer un tiempo de caducidad en la SAS para que solo se pueda usar durante un tiempo limitado.
Otra opción a considerar es utilizar Azure Private Link. Con Private Link, puede crear un punto de conexión privado para la cuenta de almacenamiento y conectar ese punto de conexión a una Red Virtual (VNet) a la que también está conectado App1.
Esto permitiría a App1 acceder a la cuenta de almacenamiento a través de una conexión de red privada, al tiempo que mantiene la cuenta de almacenamiento inaccesible para Internet.