Regla linter: parámetros seguros en la implementación anidada
Los recursos de implementación anidados con ámbito externo no deben usarse para parámetros seguros ni funciones list*. Puede exponer los valores seguros en el historial de implementación.
Código de regla de linter
Use el valor siguiente del archivo de configuración de Bicep para personalizar los valores de regla:
secure-params-in-nested-deploy
Soluciones
Establezca las properties.expressionEvaluationOptions.scope a inner
de la implementación en o use en su lugar un módulo de Bicep.
En el ejemplo siguiente se produce un error en esta prueba porque se hace referencia a un parámetro seguro en un recurso de implementación anidado de ámbito externo.
@secure()
param secureValue string
resource nested 'Microsoft.Resources/deployments@2024-03-01' = {
name: 'nested'
properties: {
mode: 'Incremental'
template: {
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
variables: {}
resources: [
{
name: 'outerImplicit'
type: 'Microsoft.Network/networkSecurityGroups'
apiVersion: '2023-11-01'
location: '[resourceGroup().location]'
properties: {
securityRules: [
{
name: 'outerImplicit'
properties: {
description: format('{0}', secureValue)
protocol: 'Tcp'
}
}
]
}
}
]
}
}
}
Puede corregirlo estableciendo las propiedades de la implementación.expressionEvaluationOptions.scope en 'inner':
@secure()
param secureValue string
resource nested 'Microsoft.Resources/deployments@2024-03-01' = {
name: 'nested'
properties: {
mode: 'Incremental'
expressionEvaluationOptions: {
scope: 'Inner' // Set to inner scope
}
template: {
'$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#'
contentVersion: '1.0.0.0'
variables: {}
resources: [
{
name: 'outerImplicit'
type: 'Microsoft.Network/networkSecurityGroups'
apiVersion: '2023-11-01'
location: '[resourceGroup().location]'
properties: {
securityRules: [
{
name: 'outerImplicit'
properties: {
description: format('{0}', secureValue)
protocol: 'Tcp'
}
}
]
}
}
]
}
}
}
Pasos siguientes
Para obtener más información acerca de linter, consulte Uso de linter de Bicep.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de