- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是我的二头肌代码,用于创建和分配策略来检测没有诊断设置的 key 保管库。该策略具有 deployIfNotExists 设置。因此它也应该能够创建缺失的诊断设置。 (来自具有修复过程的门户)
targetScope = 'subscription'
param diagnosticSettingName string = 'kv-local-diag'
param location string = 'westus'
resource localWorkspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' existing = {
scope: resourceGroup('myResourceGroup')
name: 'la-demo-01'
}
resource kvPolicy 'Microsoft.Authorization/policyDefinitions@2020-09-01' = {
name: 'bicepKvPolicy'
properties: {
displayName: 'Keyvault central diagnostics policy'
description: 'DeployIfNotExists a when diagnostic is not available for the keyvault'
policyType: 'Custom'
mode: 'All'
metadata: {
category: 'Custom'
source: 'Bicep'
version: '0.1.0'
}
parameters: {}
policyRule: {
if: {
allOf: [
{
field: 'type'
equals: 'microsoft.keyvault/vaults'
}
]
}
then: {
effect: 'deployIfNotExists'
details: {
roleDefinitionIds: [
'/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
]
type: 'Microsoft.Insights/diagnosticSettings'
existenceCondition: {
allOf: [
{
field: 'Microsoft.Insights/diagnosticSettings/logs[*].category'
equals: 'audit'
}
]
}
deployment: {
properties: {
mode: 'incremental'
template: {
'$schema': 'https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
parameters: {
resourceName: {
type: 'String'
metadata: {
displayName: 'resourceName'
description: 'Name of the resource'
}
}
}
variables: {}
resources: [
{
type: 'microsoft.keyvault/vaults/providers/diagnosticSettings'
apiVersion: '2021-05-01-preview'
name: diagnosticSettingName
scope: '[concat(parameters(\'resourceName\'),\'/Microsoft.Insights/\', \'-${diagnosticSettingName}\')]'
properties: {
workspaceId: localWorkspace.id
logs: [
{
category: 'AuditEvent'
categoryGroup: null
enabled: true
retentionPolicy: {
days: 90
enabled: true
}
}
]
metrics: [
{
category: 'AllMetrics'
enabled: true
retentionPolicy: {
days: 90
enabled: true
}
timeGrain: null
}
]
}
}
]
}
}
parameters: {
resourceName: {
value: '[field(\'name\')]'
}
}
}
}
}
}
}
}
resource bicepExampleAssignment 'Microsoft.Authorization/policyAssignments@2022-06-01' = {
name: 'bicepExampleAssignment'
location: location
identity: {
type: 'SystemAssigned'
}
properties: {
displayName: 'KV diagnostic policy assignement'
description: 'KV diagnostic policy assignment'
enforcementMode: 'Default'
metadata: {
source: 'Bicep'
version: '0.1.0'
}
policyDefinitionId: kvPolicy.id
resourceSelectors: [
{
name: 'selector'
selectors: [
{
kind: 'resourceType'
in: [
'microsoft.keyvault/vaults'
]
}
]
}
]
nonComplianceMessages: [
{
message: 'Resource is not compliant with a DeployIfNotExists policy'
}
]
}
}
resource roleAssignment 'Microsoft.Authorization/roleAssignments@2020-04-01-preview' = {
name: guid(bicepExampleAssignment.name, bicepExampleAssignment.type, subscription().subscriptionId)
properties: {
principalId: bicepExampleAssignment.identity.principalId
roleDefinitionId: '/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
}
}
部署后,我可以看到我的策略已正确创建和分配。当我在 Azure 门户中创建修复任务时。另外,我可以看到该策略正在选择缺少诊断设置的 Key Vault。
在此阶段,我正在创建修复任务并期望该任务部署诊断设置。但是当我检查结果时,我可以看到任务失败并出现以下错误:详细信息代码无效模板消息部署模板验证失败:“未提供第“1”行和“223”列的模板参数“resourceName”的值。请参阅https://aka.ms/arm-create-parameter-file了解使用详情。'.
据我了解,资源创建操作提示未提供参数值 (resourceName)。但我希望修复任务能够自动从合规流程列出的资源中选择资源名称。
如果您能就我的二头肌模板中可能缺少/错误的内容提出建议,我将非常感激。
最佳答案
你的代码看起来很适合我。二头肌模板中的 Parameters
对象缺少一些大括号。检查它以确保您遵循正确的模板并且没有语法错误。
我修改了您的代码如下,它对我有用。
targetScope = 'subscription'
param diagnosticSettingName string = 'kv-local-diag'
param location string = 'westus'
resource localWorkspace 'Microsoft.OperationalInsights/workspaces@2021-12-01-preview' existing = {
scope: resourceGroup('myResourceGroup')
name: 'newws'
}
resource kvPolicy 'Microsoft.Authorization/policyDefinitions@2020-09-01' = {
name: ''
properties: {
displayName: 'Keyvault central diagnostics policy'
description: ''
policyType: 'Custom'
mode: 'All'
metadata: {
category: 'Custom'
source: 'Bicep'
version: '0.1.0'
}
parameters: {}
policyRule: {
if: {
allOf: [
{
field: 'type'
equals: 'microsoft.keyvault/vaults'
}
]
}
then: {
effect: 'deployIfNotExists'
details: {
roleDefinitionIds: [
'/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c'
]
type: 'Microsoft.Insights/diagnosticSettings'
existenceCondition: {
allOf: [
{
field: 'Microsoft.Insights/diagnosticSettings/logs[*].category'
equals: 'audit'
}
]
}
deployment: {
properties: {
mode: 'incremental'
template: {
'$schema': 'https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
parameters: {
resourceName: {
type: 'String'
metadata: {
displayName: 'resourceName'
description: 'Name of the resource'
}
}
}
resources: [
{
type: 'Microsoft.Insights/diagnosticSettings'
name: 'efef'
apiVersion: '2017-05-01-preview'
properties: {
workspaceId: localWorkspace.id
logs: [
{
category: 'AuditEvent'
enabled: true
retentionPolicy: {
enabled: true
days: 30
}
}
]
}
}
]}
parameters: {
resourceName: {
value: [resourceId('Microsoft.KeyVault/vaults', 'name')]
}
}
}
}
}
}
}
}
}
使用以下 Az CLI
命令进行部署:
az bicep build --file <filename.bicep>
az deployment group create --name Deployment --resource-group <resourceGroup> --template-file <filename.bicep>
输出:
关于azure - 二头肌 : policy remediation task complains about missing parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76214250/
例如,在使用 Azure Function 和 bicep 时,该函数需要一个应用服务计划,并且该计划需要一个 sku: resource MyHostingPlan 'Microsoft.Web/s
我有一个租户,我们一直在其中添加订阅。我希望循环所有订阅并在每个订阅上运行部署,而无需对订阅 ID/名称列表进行硬编码。在二头肌模板中,是否可以以某种方式获取租户/管理组中所有订阅的列表? 上下文:我
我在尝试使用 Bicep(我才真正开始学习)将简单的 Azure BlobFS 链接服务部署到 ADF 中时遇到了很大的困难。 到目前为止我的二头肌是: //---Data Factory resou
我正在使用 Bicep 脚本在 Mcirosoft Azure 中创建资源。 我已经定义了一个带有所有资源都相同的通用标签的变量。但是现在,当将此变量分配给资源时,我想添加更多仅适用于该资源的标签。
我在尝试使用 Bicep(我才真正开始学习)将简单的 Azure BlobFS 链接服务部署到 ADF 中时遇到了很大的困难。 到目前为止我的二头肌是: //---Data Factory resou
我正在使用 Bicep 脚本在 Mcirosoft Azure 中创建资源。 我已经定义了一个带有所有资源都相同的通用标签的变量。但是现在,当将此变量分配给资源时,我想添加更多仅适用于该资源的标签。
我有 Terraform 背景和 AWS。现在我正在将 Bicep 与 Azure 结合使用,所以请耐心等待:) 在 Terraform 中,我们使用 random_password 创建随 secr
我有一个具有命名值资源的模块,另一个具有 api 和操作资源的模块。然后我有一个二头肌文件(main.bicep),它将调用这两个文件。缩短版本(只是为了更容易解释): namedValue 模块:
我有一个参数,它是一个对象数组。对象中的元素之一(“peers”)是另一个对象数组。我想动态提取对等数组并联合/连接它们并保留“vnetid”作为引用。 param vnets array = [
我正在创建一个像这样的二头肌模块: param permission object var keys = [for key in permission.keys: key] var secretes=
我在二头肌脚本中定义了多个应用服务。对于每一个,我都使用配置资源来定义配置。 resource appSettings1 'Microsoft.Web/sites/config@2022-03-01'
我正在尝试使用 Bicep 部署 Azure 策略分配。 resource policy_assignment 'Microsoft.Authorization/policyAssignments@2
我遇到以下问题:我想部署存储帐户,但前提是该帐户不存在。 我使用 az cli 部署脚本检查是否存在: resource checkStorageAccountExistence 'Microsoft
我在二头肌脚本中定义了多个应用服务。对于每一个,我都使用配置资源来定义配置。 resource appSettings1 'Microsoft.Web/sites/config@2022-03-01'
我正在尝试使用 Bicep 部署 Azure 策略分配。 resource policy_assignment 'Microsoft.Authorization/policyAssignments@2
我遇到以下问题:我想部署存储帐户,但前提是该帐户不存在。 我使用 az cli 部署脚本检查是否存在: resource checkStorageAccountExistence 'Microsoft
我是 bicep 新手,一直在努力实现 Bicep 脚本来部署具有许多主题和订阅的 Azure 服务总线。 我添加的每个主题都有可变数量的订阅(例如,通知主题可能有 3 个订阅,但分析主题可能有 2
我正在通过 bicep 部署 azure 更新管理服务的计划。我的代码如下: param parSchedules array = [ { name: 'mysched1' mon
我是 bicep 新手,一直在努力实现 Bicep 脚本来部署具有许多主题和订阅的 Azure 服务总线。 我添加的每个主题都有可变数量的订阅(例如,通知主题可能有 3 个订阅,但分析主题可能有 2
我正在通过 bicep 部署 azure 更新管理服务的计划。我的代码如下: param parSchedules array = [ { name: 'mysched1' mon
我是一名优秀的程序员,十分优秀!