Archives mensuelles : mai 2019

Azure Managed Application – Astuces de debug

En ce moment, je passe beaucoup de temps dans Azure Managed Application. Pour les explications sur le sujet, je vous renvoie à mon billet « Publier une application Azure Managed Application avec BluePrint ». Pour rappel rapide, une Azure Managed Application est composée de deux fichiers :

  • Un template ARM décrivant l’interface graphique (createUiDefinition.JSON)
  • Un template ARM décrivant les ressources à déployer

 

Voilà deux astuces qui vont éviterons de perdre du temps.

 

Impossible de déployer

Vous tentez de déployer une nouvelle version de votre Managed Application, pourtant impossible de déclencher le déploiement. Dans le cas ci-dessous, il bloque sur l’interface de l’étape n°7 alors qu’il devrait commencer la validation des paramètres du template ARM.

clip_image002

 

On a beau cliquer sur OK, il refuse de passer à l’étape suivante. Le portail Azure n’affiche aucune information. Pour comprendre, il faut passer sous le capot et utiliser le mode Console de votre navigateur. Dans le cas ci-dessous, le problème se situe au niveau de ma section Output. Je tente de référencer une section « NetwSork » qui bien entendu n’existe pas. C’est fou le nombre de problème que cela m’a solutionné.

clip_image004

 

Erreur pendant le déploiement des ressources

Un des nombreux avantages de Azure Managed Applications, c’est que celui qui initie le déploiement n’a pas besoin de disposer des rôles nécessaires. C’est Managed Application qui se charge de réaliser le déploiement.

clip_image006

Donc si vous rencontrez des erreurs pendant le déploiement, demandez-vous de quelle permission dispose le Resource Provider Appliance Resource Provider ». Dans mon cas, je voulais utiliser un snapshot de Managed Disks pour construire des machines virtuelles. Problème pour réaliser un snapshot, il faut des permissions pour générer un disque à partir d’un snapshot. Regardons la liste des actions disponibles :

Get-AzResourceProviderAction | Where-Object {$_.operation -like « Microsoft.Compute/disks/* »} | select Operation, OperationName, ResourceName,Description

clip_image008

 

Deux permissions ont attiré mon attention :

  • Microsoft.Compute/disks/beginGetAccess/action
  • Microsoft.Compute/disks/endGetAccess/action

 

J’ai donc créé un Custom Role Azure AD contenant ces deux actions et je l’ai attribué au Service Principal associé à l’application « Appliance Resource Provider ».

 

Benoît – Simple and secure by design bur business compliant