Ограничения доступа к сети приложений Logic, установленные через Bicep

Я развертываю стандартное приложение логики с помощью Bicep. Я пытаюсь установить «Включено для выбранных виртуальных сетей и IP-адресов» и связанные с ним «Доступ к сайту и правила». В приведенном ниже коде ни один из трех параметров «Доступ к общедоступной сети» не установлен, поэтому я предполагаю, что для него установлено значение null. Кто-нибудь достиг этого?

resource logicApp 'Microsoft.Web/sites@2022-09-01' = {
  name: logicAppName
  location: location
  kind: 'functionapp,workflowapp'
  identity: {
    type: 'SystemAssigned'
  }
    
  properties: {
    serverFarmId: hostingPlan.id
    virtualNetworkSubnetId: subnetLogicAppId
    siteConfig: {
      cors: {
        allowedOrigins: [
          'https://portal.azure.com'
        ]
      }
      ftpsState: 'Disabled'
      minTlsVersion: '1.2'
      use32BitWorkerProcess: false
      netFrameworkVersion: '6.0'
      functionsRuntimeScaleMonitoringEnabled: false
      vnetRouteAllEnabled: true
      **publicNetworkAccess: 'Enabled'
      ipSecurityRestrictions: [
        {
          ipAddress: 'xxx.xxx.xxx.xxx/32'
          action: 'Allow'
          tag: 'Default'
          priority: 300
          name: 'laptop'
          description: 'laptop IP'
        }
        {
          ipAddress: 'Any'
          action: 'Deny'
          priority: 2147483647
          name: 'Deny all'
          description: 'Deny all access'
        }
      ]
      ipSecurityRestrictionsDefaultAction:'Deny'
      scmIpSecurityRestrictions: [
        {
          ipAddress: 'Any'
          action: 'Deny'
          priority: 2147483647
          name: 'Deny all'
          description: 'Deny all access'
        }
      ]
      scmIpSecurityRestrictionsDefaultAction:'Deny'
      scmIpSecurityRestrictionsUseMain: true**
    }
    
    httpsOnly: true
  }
}
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
131
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попытка установить «Включено для выбранных виртуальных сетей и IP-адресов» и связанные с ним «Доступ к сайту и правила»:

Чтобы обеспечить правильную настройку доступа к общедоступной сети для приложения логики, необходимо явно установить для свойства PublicNetworkAccess значение 'Enabled'.

publicNetworkAccess: 'Enabled'

Включение этой функции позволит выбрать необходимую настройку "Enabled from select virtual networks and IP addresses" в разделе Networking приложений логики.

Модифицированный код:

param logicAppName string = 'mydapsialsjd'
param location string = 'West Europe'
resource storage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'stlogicenvironmentlatest'
  location: location
  kind: 'StorageV2'
  sku: {
    name: 'Standard_GRS'
  }
  properties: {
    supportsHttpsTrafficOnly: true
    minimumTlsVersion: 'TLS1_2'
  }
}
resource plan 'Microsoft.Web/serverfarms@2021-02-01' = {
  name: 'plan-logicnew'
  location: location
  sku: {
    tier: 'WorkflowStandard'
    name: 'WS1'
  }
  properties: {
}
}
resource logicApp 'Microsoft.Web/sites@2022-09-01' = {
  name: logicAppName
  location: location
  kind: 'functionapp,workflowapp'
  identity: {
    type: 'SystemAssigned'
  }
    
  properties: {
    serverFarmId: plan.id
    siteConfig: {
      cors: {
        allowedOrigins: [
          'https://portal.azure.com'
        ]
      }
      ftpsState: 'Disabled'
      minTlsVersion: '1.2'
      use32BitWorkerProcess: false
      netFrameworkVersion: '6.0'
      functionsRuntimeScaleMonitoringEnabled: false
      vnetRouteAllEnabled: true
      publicNetworkAccess: 'Enabled'
      ipSecurityRestrictions: [
        {
          ipAddress: '10.0.0.0/32'
          action: 'Allow'
          tag: 'Default'
          priority: 300
          name: 'laptop'
          description: 'laptop IP'
        }
        {
          ipAddress: 'Any'
          action: 'Deny'
          priority: 2147483647
          name: 'Deny all'
          description: 'Deny all access'
        }
      ]
      ipSecurityRestrictionsDefaultAction:'Deny'
      scmIpSecurityRestrictions: [
        {
          ipAddress: 'Any'
          action: 'Deny'
          priority: 2147483647
          name: 'Deny all'
          description: 'Deny all access'
        }
      ]
      scmIpSecurityRestrictionsDefaultAction:'Deny'
      scmIpSecurityRestrictionsUseMain: true
    }
    
    httpsOnly: true
  }
}

Развертывание выполнено успешно:

Я попробовал это, но это привело к выводу: «Произошел конфликт. SiteConfig.PublicNetworkAccess не может быть установлен сам по себе. Используйте свойство Site.PublicNetworkAccess». Я нахожусь в Северной Европе и использую Microsoft.Web/serverfarms@2022-09-01, но помимо этого пока не вижу никаких других отличий.

user195166 10.05.2024 12:17

Даже я получил ту же ошибку, когда пытался раньше. После настройки свойства publicNetworkAddress в блоке siteconfig ошибка исчезла. @user195166

Jahnavi 10.05.2024 12:34

Я также создаю частную конечную точку – это как-то меняет поведение?

user195166 10.05.2024 15:01

Нет, не должно. Можете ли вы очистить кеш и попробовать еще раз тот же код, который я предоставил. @user195166

Jahnavi 10.05.2024 15:12

Работая сейчас, я думаю, что смена плана хостинга на версию 2021 года помогла — большое спасибо.

user195166 16.05.2024 14:22

Другие вопросы по теме