用于Active Directory的Azure Bicep诊断设置

wj8zmpe1  于 2023-05-29  发布在  其他
关注(0)|答案(1)|浏览(140)

我正在尝试使用Bicep创建诊断设置,以便将诊断从AAD导出到事件集线器。
我不确定的是范围。例如,我有一段代码,它创建了防火墙的诊断设置。正如我们所看到的,我正在使用一个现有的来获得部署的范围:

resource resourceFW 'Microsoft.Network/azureFirewalls@2019-04-01' existing = if (diagnosticType == 'Firewall') {
  name: resourceName
}

resource diagFWSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = if (diagnosticType == 'Firewall')  {
  name: diagnosticName
  scope: resourceFW
  properties: {
    eventHubAuthorizationRuleId: eventHubAuthorizationRuleId != null ? eventHubAuthorizationRuleId : null
    eventHubName: eventHubName != null ? eventHubName : null
    logs: diagnosticsLogConfig != null ? diagnosticsLogConfig : []
    metrics: diagnosticsMetricConfig != null ? diagnosticsMetricConfig : []
    logAnalyticsDestinationType: 'Dedicated'
  }
}

任何建议将不胜感激

oknwwptz

oknwwptz1#

要获取资源的作用域,您可以使用bicep中的resourceId()函数,通过给出资源名称,提供者,资源类型等。如给定MS Doc中所详述。

scope:resourceId('Microsoft.AzureActiveDirectory/b2cDirectories', <resource>)

添加所需的范围后,代码修改如下:

resource  diagAADSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview'  =  if  (diagnosticType  ==  'AAD') 
{ 
  name:  diagnosticName  
  scope: resourceId('Microsoft.AzureActiveDirectory/b2cDirectories', resourceName)  
 properties: 
 { 
   eventHubAuthorizationRuleId: eventHubAuthorizationRuleId !=  null  ?  eventHubAuthorizationRuleId :  null  
   eventHubName:  eventHubName  !=  null  ?  eventHubName :  null  
   logs:  diagnosticsLogConfig  !=  null  ?  diagnosticsLogConfig : [] 
   metrics:  diagnosticsMetricConfig  !=  null  ? diagnosticsMetricConfig : [] 
   logAnalyticsDestinationType:  'Dedicated' 
   } 
}

我运行了带有scope参数的示例模板,并成功部署。

相关问题