Problemas conocidos de las pilas de implementación

En este artículo se enumeran las limitaciones conocidas y los problemas conocidos de las pilas de implementación de Azure, junto con las soluciones alternativas recomendadas cuando están disponibles.

Restricciones conocidas

  • Puede crear hasta 800 stacks de implementación en un mismo ámbito.
  • Puede tener hasta 2.000 asignaciones de denegación en cualquier ámbito determinado.
  • La pila de implementación no administra los recursos creados implícitamente. Como resultado, no puedes usar deny-assignments ni realizar la limpieza de estos recursos.
  • Las asignaciones de denegación no admiten etiquetas.
  • Las asignaciones de denegación no se admiten en el ámbito del grupo de gestión. Sin embargo, se admiten en una pila de grupo de administración cuando la implementación apunta al ámbito de la suscripción.
  • Las pilas de implementación no pueden eliminar secretos de Key Vault. Si va a quitar secretos de Key Vault de una plantilla, ejecute también el comando de actualización o eliminación de la pila de implementación en modo de desvinculación. Las versiones más recientes de Azure PowerShell y CLI de Azure incluyen una opción para desasociar recursos no deletables, lo que evita errores accidentales.

Problemas conocidos

  • Al eliminar un grupo de recursos, se omiten las asignaciones de denegación. Las pilas de implementación creadas en el ámbito del grupo de recursos no administran el grupo de recursos primario, ya que el grupo de recursos no está definido en el archivo Bicep. Como resultado, aunque la pila de implementación crea asignaciones de denegación, todavía puede eliminar el grupo de recursos. Al eliminar el grupo de recursos, se elimina la pila de implementación y sus recursos administrados. La recomendación es implementar en el ámbito de la suscripción e incluir el grupo de recursos en el archivo Bicep. Como alternativa, si un bloqueo está activo en cualquier recurso del grupo, se produce un error en la operación de eliminación.
  • Mover un recurso administrado elimina su protección de pila. Las asignaciones de denegación se evalúan en el ámbito del grupo de recursos para las operaciones de traslado, no en el ámbito del recurso individual. Como resultado, un recurso puede moverse fuera de su grupo de recursos incluso cuando una asignación de denegación protege ese recurso en concreto, y las protecciones de una pila de implementación no se transfieren con el recurso después de moverlo. El recurso movido ya no está protegido por la pila y se puede administrar fuera de su límite original. Como mitigación provisional, aplique un bloqueo de solo lectura en el grupo de recursos para bloquear las operaciones de movimiento. Las operaciones de la pila de implementación siguen funcionando con el bloqueo de solo lectura aplicado; por ejemplo, la lectura de la pila y la protección contra eliminación de la pila siguen funcionando. Para actualizar la pila, quite temporalmente el bloqueo mientras dure el cambio y vuelva a aplicarlo después.
  • Una pila de ámbito de grupo de administración no se puede implementar en otro grupo de administración. Solo se puede implementar en el grupo de administración de la propia pila o en una suscripción secundaria.
  • Se está quitando el valor DeleteResourcesAndResourceGroups. La ayuda de comandos de Azure PowerShell muestra un valor DeleteResourcesAndResourceGroups para el conmutador ActionOnUnmanage. Cuando se usa este valor, el comando desasocia los recursos administrados y los grupos de recursos. Este valor se va a quitar en una próxima actualización. No use este valor.
  • Error de validación de plantilla genérica. En algunos casos, los cmdlets de Azure PowerShell New-* y Set-* pueden devolver un error genérico de validación de plantilla que no indica claramente cómo actuar. Si el error no está claro, vuelva a ejecutar el cmdlet en modo de depuración para ver un error más detallado en la respuesta sin procesar.
  • No se admite el proveedor Microsoft Graph. El proveedor de Microsoft Graph no admite pilas de implementación.
  • What-if aún no está disponible. La operación what-if aún no se admite para las pilas de implementación.

Control del error de pila fuera de sincronización

Al actualizar o eliminar una pila de implementación, puede encontrar un error de pila fuera de sincronización que indica que la lista de recursos de la pila no está sincronizada correctamente:

The deployment stack '{0}' might not have an accurate list of managed resources. To prevent resources from being accidentally deleted, check that the managed resource list doesn't have any additional values. If there is any uncertainty, it's recommended to redeploy the stack with the same template and parameters as the current iteration. To bypass this warning, specify the 'BypassStackOutOfSyncError' flag.

Revise la lista de recursos administrados desde el portal de Azure o vuelva a implementar el archivo de Bicep implementado actualmente con los mismos parámetros para obtener la lista de recursos administrados. Después de verificar la lista, vuelva a ejecutar el comando con la opción BypassStackOutOfSyncError en Azure PowerShell (o --bypass-stack-out-of-sync-error en CLI de Azure). Utilice este interruptor solo después de revisar exhaustivamente la lista de recursos. No lo use de forma predeterminada.

Pasos siguientes