Articles Tagués ‘Azure CLI 2.0’

 

Depuis quelques jours, l’équipe Azure Corp a publié deux nouvelles Updates sur le (New) Portail Azure (https;//portal.azure.com). Une fois connecté, celles-ci sont affichées et disponibles au niveau de la Barre de « Notifications » :

La première concerne la prise en charge de SQL Ops Studio par le service Azure SQL Data Warehouse et la deuxième concerne l’interface en ligne de commande Azure (Azure CLI), c’est plutôt cette Update qui va nous intéresser :).

 

Comme indiqué dans le message, il faut bien noter qu’à partir de Décembre 2017 :

Azure CLI (en version 2.0) sera l’outil CLI (Command Line Interface) préféré/privilégié pour la gestion des ressources ARM (Azure Resource Manager)

Quant à Azure CLI (en version 1.0), il prendra uniquement en charge les ressources ASM (Azure Service Manager)

Enfin, vous pouvez imaginer le couple « d’Azure Management Tools » suivants :

ASM : CLI (Azure CLI 1.0) + Portail Web « Classic » (manage.windowsazure.com)

ARM : CLI (Azure CLI 2.0) + Portail Web « New » (portal.azure.com)

Publicités

 

Useful Info : Si vous n’avez pas encore consulté les 4 premiers HowTo Azure CLI 2.0, ceux-ci sont disponibles aux URLs ci-après:

HowTo #N°1 : Connecter l’interface Azure CLI 2.0 à votre abonnement Azure

HowTo #N°2 : Créer et gérer les groupes de ressources Azure

HowTo #N°3 Créer et gérer les réseaux virtuels Azure (VNET : Virtual Network)

HowTo #N°4 Créer et gérer les Machines Virtuelles Azure (Azure VM)

 

Introduction 

Pour pouvoir suivre votre utilisation/consommation Azure et consulter vos factures, Microsoft fournis différents outils (Graphique & CLI) pour consulter et gérer cette partie facturation (Billing) Azure de manière efficace.

Trois principaux outils vous permettent aujourd’hui de gérer la facturation Azure :

Le nouveau portail Azure : portal.azure.com

Windows PowerShell : utilisation du module PS Azure

Azure CLI 2.0 : via l’utilisation de la commande az billing

Nous allons découvrir à travers cet article la troisième méthode qu’est l’utilisation de l’interface Azure CLI 2.0

Alors comment ça marche ?
#1. Gestion de la facturation Azure

Saisissez az billing -h pour en savoir plus sur les sous-commandes disponibles :

Comme illustré dans la screenshot ci-dessus, deux sous-commandes sont disponibles :

az billing invoice : vous permet d’obtenir les factures pour votre abonnement Azure

az billing period : vous permet d’obtenir les périodes de facturations pour votre abonnement Azure

 

Pour lister toutes les factures disponibles pour votre abonnement Azure, saisissez la commande suivante :

az billing invoice list –out table

Si vous souhaitez télécharger une ou plusieurs factures, vous devez d’abord générer leur URL de téléchargement, pour ce faire, l’une des deux commandes ci-dessous est utilisée :

az billing invoice list –generate-download-url –out jsonc

ou

az billing invoice list -d –out jsonc

Astuce : Vous avez pu constater que la valeur du paramètre –output n’est pas « table » cette fois-ci, car ce format de sorti n’est pas supporté avec le paramètre -d (ou –generate-download-url). En effet, si vous exécutez la même commande en spécifiant –out table, les URL de téléchargement ne sont pas retournées, voir capture d’écran ci-dessous:

 

Pour afficher plus de détails sur une facture spécifique, exécutez la commande suivante :

az billing invoice show -n Nom_Facture –out table

Dans l’exemple suivant la facture  « 201712-417363190482647 » est appelée, la commande suivante est donc exécutée :

az billing invoice show -n 201712-417363190482647 –out table

Si vous souhaitez télécharger une facture spécifique (201712-417363190482647 dans l’exemple suivant), la commande suivante est utilisée (remplacement de la valeur du paramètre –output par jsonc):

az billing invoice show -n 201712-417363190482647 –out jsonc

Notez ensuite la valeur du paramètre « URL« :

Enfin, il suffit de copier l’URL « https://billinginsightsstore02.blog.core.windows.net/invoice/XXXXXXX » et la coller directement dans barre l’adresse de votre navigateur Web pour accéder à la facture (format PDF) :

#2. Gestion des périodes de facturation

Pour lister cette fois-ci les périodes de facturation, la commande suivante est à exécuter :

az billing period list –out table

Pour afficher plus de détails sur une période de facturation spécifique, exécutez la commande suivante en spécifiant le nom de la période :

az billing period -n 201801-1 –out table 

Le HowTo N°6 est en cours de finalisation, donc restez connectés :).

#HK

 

Hello Azure Guys,

Si vous êtes amenés à gérer vos ressources Cloud Azure via l’interface Azure CLI 2.0, vous devriez penser à checker de manière régulière les nouvelles Releases d’Azure CLI proposées/publiées par l’équipe MS Azure Corp, car de nouvelles commandes /sous-commandes sont fournies avec celle-ci.

Note : Le Releases History d’Azure CLI 2.0 est disponible ici. N’hésitez pas à consulter cette page si vous voulez en savoir plus.

 

Prenons l’exemple suivant : ma machine d’administration (sous WS10) ayant l’interface Azure CLI 2.0 d’installée et dont la version actuelle est la 2.0.17

Comme illustré dans l’image ci-dessous, mon interface Az CLI 2.0 n’inclut pas encore les nouvelles commandes telle que BatchAI (Azure Batch  Artificial Intelligence) :

 

HowTo : Updater son interface Azure CLI 2.0

Lancez l’Invite de commande (CMD.exe) en tant qu’Administrateur et saisissez la commande suivante :

Az Component Update 

ou

Az Component Update –debug pour afficher de plus amples informations sur d’éventuels problèmes rencontrés lors du processus d’Update /Upgrade : affichage des journaux de Debug (Debug Logs).

Une fois l’update terminée, les messages suivants sont affichés :

Enfin, saisissez Az –version pour noter la nouvelle version de l’interface CLI installée sur votre machine :

Maintenant que mon interface Az CLI 2.0 est mise à jour, je vais simplement ressaisir Az -h pour faire réapparaître la liste complète des commandes disponibles :

Comme montré dans la screenshot ci-dessus, les nouvelles commandes telles que « BatchAI » sont désormais intégrées et disponibles sur mon interface Azure CLI 2.0.

Stay connected, de nouveaux posts autour d’Azure & Azure CLI seront bientôt publiés :).

A bientôt

#HK.

Introduction 

Si vous créez et gérer vos services Cloud Azure principalement via l’interface Azure CLI 2.0, vous devez vérifier, de manière régulière si d’autres composants sont disponibles, vous pouvez également vérifier si de nouvelles versions des composants déjà installés sont proposées pour mettre à jour (updater) votre interface en ligne de commande et avoir accès aux dernières options /commandes proposées par MS.

Ok, mais comment puis-je lister les nouveaux composants disponibles pour mon interface Azure CLI 2.0 ou lister les nouvelles versions disponibles pour les composants déjà installés ?

 

HowTo : Lister et Updater les composants disponibles pour votre interface Azure CLI 2.0

Lancez l’invite de commande (CMD.exe) en tant qu’Administrateur et saisissez la commande suivante pour lister tous les composants disponibles pouvant être installés et s’intégrés à votre interface Azure CLI 2.0 :

az component list-available –out table

Dans l’exemple suivant, nous allons installer l’extension /composant « backup, mais avant, je vais d’abord lister toutes les commandes disponibles actuellement sur mon interface CLI 2.0 pour m’assurer qu’aucune commande relative au service Azure Backup n’est disponible sur mon interface locale, pour ce faire, exécutez simplement la commande : az -h

Comme illustrée dans la screenshot ci-dessus, les seules commandes commençant par « b » sont « batch » et « billing« , donc le composant « backup » est effectivement non installé actuellement, mais selon le résultat de la commande az component list-available, ce composant est bien disponible et peut s’intégrer sur mon interface Azure CLI 2.0

Pour l’installer, la commande suivante est utilisée :

az component update -add backup

Une fois installé, le résultat vous est retourné :

Maintenant, nous allons vérifier si le composant « backup » a bien été installé, simplement et réexécutant la commande az -h :

Et c’est le K :).

 

 

Useful Info : Si vous n’avez pas encore consulté les 3 premiers HowTo Azure CLI 2.0, ceux-ci sont disponibles aux URLs ci-après:

HowTo #N°1 : Connecter l’interface Azure CLI 2.0 à votre abonnement Azure

HowTo #N°2 : Créer et gérer les groupes de ressources Azure

HowTo #N°3 Créer et gérer les réseaux virtuels Azure (VNET : Virtual Network)

 

Introduction

Azure VM (Virtual Machine) est l’une des offres IaaS (Infrastructure-as-aService) proposée par Microsoft sur sa Public Cloud Platform : Microsoft Azure.

Azure VM vous permet de créer et gérer des machines virtuelles Windows ou Linux hautement disponibles, Scalables et sécurisées.

Microsoft propose son offre Azure VM pour les deux modèles de déploiement : ASM (Azure Service Manager) et ARM : Azure Resource Manager.

Note : L’interface Azure CLI 2.0 étant disponible uniquement pour l’ARM, le mode ASM ne sera pas traité dans le présent article.

La création d’une VM Azure (ARM mode) peut se faire via :

Le nouveau portail Azure : portal.azure.com

Windows PowerShell : utilisation du module PS Azure

Azure CLI 2.0 : via l’utilisation de la commande az vm

Nous allons découvrir à travers cet article la troisième méthode qu’est l’utilisation de l’interface Azure CLI 2.0

Now let’s create & manage our Azure V(irtual) M(achine) via Azure CLI 2.0__O

 

HowTo : Créer et gérer les VMs Azure via Azure CLI 2.0
  • Ouvrez une Session Windows sur votre machine d’administration sur laquelle Azure CLI 2.0 a été installée
  • Lancez l’invite de commande (CMD.exe) en tant qu’Administrateur et saisissez az pour vérifier la disponibilité de l’interface Azure CLI 2.0
  • Après avoir saisi et exécuté la commande az, le Menu suivant vous est retourné :

  • La commande qui nous intéresse est VM. En effet, l’interface az dans le contexte VM vous permet de créer et gérer les Machines Virtuelles Azure (Windows ou Linux)
  • Pour afficher toutes les commandes & sous-commandes liés à la création et gestion de VMs Azure, saisissez la commande : az vm -h

#1. Lister toutes les VMs disponibles au niveau de votre abonnement Azure

az vm list –output table

ou simplement

az vm list –out table

Note importante : si le compte connecté à l’interface Azure CLI 2.0 dispose d’un accès à plusieurs abonnements Azure, vous devez d’abord, sélectionner (définir) un abonnement avant de pouvoir lister les VMs qui y sont hébergées Pour ce faire, exécutez la commande az account list –out table comme montré ci-dessous, et définissez ensuite un abonnement Azure « comme étant ‘Actif' », via l’utilisation de la commande az account set -s ID_de_votre_abonnement

 

Astuce : si vous souhaitez lister que les VMs membres d’un groupe de ressources spécifique, exécutez la même commande utilisée précédemment suivie du paramètre -g « Nom_Groupe_de_Ressource » > e.g : az vm list -g hk-dev-rg –out table

 

#2. Démarrer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc1 » faisant parti du groupe de ressources « hk-dev-rg » sera démarré :

az vm start -n hk-dev-dc1 -g hk-dev-rg

Astuce : vous pouvez utiliser le paramètre –no-wait pour lancer l’opération en « Background » et ne pas attendre la fin de celle-ci pour récupérer la main sur l’interface CLI, voir Screenshot ci-dessous :

 

#3. Obtenir des informations sur une VM Azure spécifique

Dans l’exemple suivant, nous allons collecter et afficher des informations sur la VM démarrée précédemment (hk-dev-dc1) :

az vm show –show-details -n hk-dev-dc1 -g hk-dev-rg –out table

 

#4. Arrêter une VM Azure 

Dans l’exemple suivant, nous allons arrêter la VM « hk-dev-dc1 »

az vm stop -n hk-dev-dc1 -g hk-dev-rg

Comme pour la commande az vm start, vous n’êtes pas obligé d’attendre la fin de l’opération, vous pouvez utiliser le paramètre –no-wait à la fin de la commande :

 

#5. Redémarrer une VM Azure 

Dans l’exemple suivant, la VM « hk-dev-tfs1 » sera redémarrée :

az vm restart -n hk-dev-tfs1 -g hk-dev-rg –no-wait

 

#6. Désallouer une VM Azure

Pour libérer les ressources consommées par une VM, la commande az vm deallocate est utilisée.

Dans l’exemple suivant, nous allons désallouer la VM hk-dev-sql1 faisant parti du groupe de ressources « hk-dev-rg »

az vm deallocate -n hk-dev-sql1 -g hk-dev-rg

La VM est désormais « Deallocated », ses ressources sont donc libérées et ne sont plus facturées :

 

#7. Lister toutes les tailles de VMs disponibles sur une région Azure spécifique

Dans l’exemple suivant, nous allons lister tous les Size de VM disponible au niveau de la région Azure « Europe de l’Ouest » > « WestEurope ».

az vm list-sizes –location WestEurope –output table

ou simplement

az vm list-sizes -l WestEurope -o table

 

#8. Lister toutes les tailles de VMs vers lesquelles une VM spécifique peut être Upgradée 

Dans l’exemple suivant, nous allons lister toutes les tailles de VMs vers lesquelles la VM « hk-dev-dc1 » pour être Resizée :

az vm list-vm-resize-options -n hk-dev-dc1 -g hk-dev-rg –out table

 

#9. Changer la taille (capacité) d’une VM Azure

Nous avons listé précédemment toutes les VMs vers lesquelles la VM « hk-dev-dc1 » peut être upgradée.

Nous allons maintenant utilisée la commande az vm resize pour upgrader les capacités de cette VM vers la VM size « Standard_A3 ». Pour ce faire, la commande suivante est utilisée :

az vm resize –size Standard_A3 -n hk-dev-dc1 -g hk-dev-rg 

Si vous vous rendez sur le (New) Portail Azure, et cliquez sur la VM en question, vous pouvez déjà constater que la taille (le Flag au niveau Propriétés de la VM) est déjà changé, et que la VM a été rebootée pour que l’augmentation des capacités soit prise en compte :

Une fois l’upgrade effectué, le message suivant vous est retourné :

 

#10. Mettre à jour (Updater) les propriétés d’une VM Azure

Dans l’exemple suivant, les propriétés de la VM « hk-dev-dc1 » seront updatées :

az vm update -n hk-dev-dc1 -g hk-dev-rg 

Cette commande est à exécuter après chaque changement /modification des propriétés et objets associés à une VM Azure.

 

#11. Supprimer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc2 » sera supprimé : az vm delete -n hk-dev-dc2 -g hk-dev-rg –no-wait

Un message de confirmation vous est retourné, saisissez « Y » comme « Yes » pour confirmer la suppression :

Astuce  : vous pouvez bypasser cette option de confirmation en utilisant le paramètre –yes ou -y. La commande devient donc : az vm delete -n hk-dev-dc2 -g hk-dev-rg -y –no-wait

 

#12. Créer une VM Azure (Windows ou autre)

Dans l’exemple suivant, une VM Azure exécutant Windows Server 2016 (Edition Datacenter) sera provisionnée:

az vm create -n hk-dev-ws2016 -g hk-dev-rg –image Win2016Datacenter

Note : vous êtes invité à saisir le mot de passe du compte Administrateur

Pour provisionner une VM Azure CentOS, la commande suivante est utilisée :

az vm create -n hk-dev-cos -g hk-dev-rg –image CentOS

Si vous voulez provisionner une nouvelle VM Windows Server 2012 R2 Edition Datacenter de taille « Standard_A3 » et lui attacher un nouveau vDisk (Virtual Hard Drive) de données de 50GB, exécutez la commande ci-dessous :

az vm create -n hk-dev-ws2012R2 -g hk-dev-rg –image Win2012R2Datacenter –data-disk-sizes-gb 50 –size Standard_A3

Plusieurs dizaines de paramètres sont fournis avec la commande az vm create, n’hésitez pas à consulter le « Help » pour en savoir plus sur les autres sous-commandes /paramètres : az vm create -h

 

#13. Redéployer une VM Azure

Dans l’exemple suivant, la VM « hk-dev-dc1 » sera redéployé : az vm redeploy -n hk-dev-dc1 -g hk-dev-rg

Note importante : Une VM en cours d’exécution (mode Running) ne peut être redéployée, en effet, si vous essayez de redéployer une VM « Running », le message d’erreur suivant vous est retourné :

 

#14. Générer un Template d’une VM Azure

Si vous voulez créer un VM Template à partir d’une VM Azure spécifique, eh bien vous devez utiliser la commande az vm capture.

La capture de la VM se fait en trois étapes :

  • Désallouer la VM
  • Généraliser la VM
  • Capturer la VM

Dans l’exemple suivant, nous allons générer une VM Template à partir de la VM « hk-dev-dc1 », les commandes à exécuter sont donc :

az vm deallocate -n hk-dev-dc1 -g hk-dev-rg

az vm generalize -n hk-dev-dc1 -g hk-dev-rg

az vm capture -n hk-dev-dc1 -g hk-dev-rg –vhd-name-prefix dc-template

Si vous parcourez le compte de stockage hébergeant les fichiers (VHDs) de votre VM « Source », vous constaterez l’apparition de deux nouveaux fichiers : fichier .vhd et son fichier .json associé. Ces deux fichiers se trouvent dans : Compte de stockage > Conteneurs > System > Microsoft.Compute > Images > vhds 

Le fichier dc-template-vmTemplate.XXXXXXXX peut désormais être utilisé pour provisionner de nouvelles VMs Azure.

 

#15. Ouvrir un port spécifique sur une VM azure

Si votre VM fera (par exemple) office de Serveur Web, et que vous avez besoin d’ouvrir le port 80 (HTTP), la commande suivante est à exécuter : az vm open-port -n hk-dev-iis1 -g hk-dev-rg –port 80

 

Plusieurs HowTo Azure CLI 2.0 sont en cours de finalisation, so stay connected dear friends :).

Resource Manager « Locks », qu’est ce que c’est ?!

Le modèle de déploiement ARM (Azure Resource Manager) inclut une fonctionnalité qui va sûrement intéresser les IT en charge d’administrer et de sécuriser les services et ressources Azure : il s’agit de « Resource Manager Locks »

Ces verrous vous permettent de protéger vos ressources Azure jugées « Critiques » en mettant en place des règles de restrictions pour empêcher toute modification et/ou suppression accidentelle. Les Locks Resource Manager n’ont aucun rapport avec une hiérarchie RBAC (Role-Based Access Control) car une fois appliqués, ils positionnent des restrictions sur la ressource pour TOUS les utilisateurs. Cela devient très utile quand vous souhaitez protéger des « Ressources Azure Critiques » contre toute modification ou suppression, même accidentelle.

Notez qu’il existe deux niveaux de verrouillage, à savoir :

  • CanNotDelete : ce niveau empêche tous les utilisateurs de supprimer la(es) ressource(s) Azure sur la(es) quelle(s) le verrou est activé. Les ressources Azure restent en revanche accessibles en lecture et peuvent être modifiée à tout moment.
  • ReadOnly : ce niveau rend les ressources Azure accessibles en « Lecture seule » uniquement. Les utilisateurs ne peuvent donc ni modifier ni supprimer la(s) ressource(s) sur la(es) quelle(s) le verrou est activé. Appliquez ce niveau de verrouillage a le même effet /impact que d’attribuer le rôle « Lecteur » à vos utilisateurs, en effet, les mêmes autorisations accordées par le rôle « Lecteur » sont appliquées via le Lock « ReadOnly ».

Les « Locks » Resource Manager peuvent être appliqués aux :

  • Abonnements (Azure Subscriptions)
  • Groupes de Ressources (Azure Resources Group)
  • Ressources (Azure Resources)

Note importante : quand vous appliquez un verrou au niveau d’un abonnement, toutes les ressources placées dans cet abonnement (y compris celles que vous créerez plus tard) héritent le même niveau de verrouillage. De plus, et contrairement au RBAC, une fois appliqués, les Locks impactent tous les utilisateurs, quelque soit leur rôle. Donc, si la modification ou suppression d’une ressource (déjà Lockée) devient vraiment nécessaire, vous devrez d’abord supprimer le verrou associé à la ressource avant de la modifier ou la supprimer.


Les Permissions : ce que vous devez connaître !

Les permissions qui vous permettent de créer et supprimer les verrous nécessitent l’accès à l’une des permissions RBAC suivante :

  • Microsoft.Authorization/*
  • Microsoft.Authorization/locks/*

Par défaut, ces actions /permissions sont prédéfinies pour les rôles « Owner /Propriétaire » et « User Access Administrator /Administrateur de l’accès Utilisateur ». Si nécessaire, vous pouvez les ajouter à des rôles spécifiques /personnalisés.

 

Logs /Traçabilité 

Les opérations de « Création & Suppression » de verrous sont (par défaut) inscrites dans les Journaux d’Activité Azure (Azure Activité Logs).

Les utilisateurs qui tente de supprimer ou modifier une ressource ayant un « Lock » déjà en place recoivent le message d’erreur suivant :

Au niveau du New Azure Portal (portal.Azure.com) :

Au niveau de l’interface Azure CLI, l’Admin IT reçoit le message suivant :

The scope ‘/subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-dev-rg/providers/Microsoft.Storage/storageAccounts/hkcriticalstorage1’ cannot perform delete operation because following scope(s) are locked: ‘/subscriptions/31854640-1004-4040-81fc-be333f3cef5c’. Please remove the lock and try again.

Même chose côté PowerShell, le message d’erreur suivant est retourné à l’Admin IT :

Remove-AzureRmResource : ScopeLocked : The scope ‘/subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-dev-rg/providers/Microsoft.Storage/storageAccounts/hkcriticalstorage1’
cannot perform delete operation because following scope(s) are locked: ‘/subscriptions/31854640-1004-4040-81fc-be333f3cef5c’. Please remove the lock and try again.

 

HowTo : Créer vos « Verrous /Locks »

Les « Locks » Resource Manager peuvent être créés soit au moment de la création de la ressource (au niveau du Template ARM) ou ultérieurement via le nouveau portal Azure (portal.Azure.com), Windows PowerShell ou encore l’interface en ligne de commande (Az CLI 2.0).

Création des « Locks » lors de la création d’une Ressource

La création de Verrous lors de la configuration du Template ARM est le meilleur moyen de s’assurer que votre protection est bien place une fois vos ressources Azure créées /provisionnées.

Les Verrous sont des ressources ARM de « Haut Niveau », ils ne font pas partis de la configuration (sous-couche) des ressources Azure mais plutôt référence à la (aux) ressource(s) à verrouiller, celles-ci doivent donc d’abord exister pour pouvoir créer des « Locks ».

Dans l’exemple suivant, nous allons créer un compte de stockage nommé hkcriticalstorage1 et ensuite verrouiller cette ressource contre la suppression. Notez que le paramètre « Type » fait référence au type de ressource que vous voulez « Verrouiller ».

 

{
« type »: « Microsoft.Storage/storageAccounts »,
« name »: « hkcriticalstorage1 »,
« apiVersion »: « 2015-01-01 »,
« location »: « [resourceGroup().location] »,
« tags »: {
« displayName »: « hkcriticalstorage1 »
},
« properties »: {
« accountType »: « Standard_LRS »
}
},
{
« name »: « [concat(‘hkcriticalstorage1’, ‘/Microsoft.Authorization/criticalStorageLock’)] »,
« type »: « Microsoft.Storage/storageAccounts/providers/locks »,
« apiVersion »: « 2015-01-01 »,
« properties »: {
« level »: « CannotDelete »
}
}
]

 

Le niveau de verrouillage peut être défini à « ReadOnly » simplement en changeant la valeur du paramètre « Level » et la définissant à ReadOnly

Création des « Locks » via le Portail Azure

Comme expliqué précédemment, les verrous s’appliquent à différent niveau : abonnement, groupe de ressource ou encore à des ressources individuelles.

Pour ajouter un « Lock », il suffit de sélectionner l’objet sur lequel vous souhaitez l’appliquer, et cliquez (depuis le volet gauche) sur :

Verrous (ou Locks si votre portail Azure est en En« glish ») : s’il s’agit d’un Groupe de Ressources ou une Ressource individuelle

 

 

 

 

Verrous de ressources (ou Resource Locks si votre portail Azure est en En« glish ») : s’il s’agit d’un Abonnement Azure

 

 

 

 

 

 

Dans l’exemple suivant, nous allons ajouter un « Lock » au niveau de mon abonnement (Visual Studio Premium avec MSDN) en spécifiant les informations suivantes :

  • Nom du Verrou : hk-subscription-lock-del(etion)
  • Type de verrou : Supprimer
  • Remarques : Ce Verrou permet d’empêcher tout utilisateur de supprimer les ressources de l’abonnement Azure « VS Prem MSDN » de HK

Pour ce faire, il faut simplement cliquer sur « Verrous de ressources » > Ajouter > et spécifier ensuite les informations de configuration:

Pour confirmer que les ressources Azure hébergées au niveau de l’abonnement héritent bien ce « Lock » nouvellement créé, cliquez sur n’importe quelle ressource de l’abonnement et rendez-vous ensuite sur « Verrous » ou « Locks », constatez l’apparition du « Lock », précédemment créé :

Création des « Locks » via Windows PowerShell

Le code PS ci-après peut être utilisé pour ajouter un « Lock » à une ressource existante. Encore une fois, le type de ressource (paramètre ResourceType) dépend du type de la ressource que vous souhaitez verrouiller.

Pour supprimer le Verrou, vous devez utiliser la Cmd-let Remove-AzureRmResourceLock.

 

Création des « Locks » via Azure CLI 2.0

Note : si vous n’avez pas encore connecter votre Interface Azure CLI 2.0 à votre compte Azure, je vous invite à consultez cet article.

La commande qui vous permet de créer et gérer les « Verrous » est : Az Lock

Depuis l’interface CLI 2.0, saisissez Az Lock -h pour faire apparaître l’aide en ligne de cette commande :

Pour créer un « Lock » de type « ReadOnly » et l’appliquer au niveau de votre abonnement Azure, la commande suivante est utilisée :

az lock create –name criticalStorageLock –resource-group hk-criticalstorage-rg –lock-type ReadOnly

Je vous invite à consulter cet article très bien rédigé par l’équipe MS Azure pour en savoir plus sur toute la syntaxe et paramètre disponibles avec la commande Az Lock.

 

Ce qu’il faut retenir

Notez que les Locks permettent seulement la protection contre toute suppression ou modification accidentelle des ressources Azure « Critiques », ceux-ci ne permettent pas une restriction totale car les Admins Azure peuvent facilement supprimer les verrous et récupérer les droits de « Supprimer et/ou Modifier » les ressources Azure.

Perso, je considère les Locks comme une couche de protection supplémentaire des ressources Azure car, ils s’appliquent à TOUS les utilisateurs, quelque soit leur rôle (hiérarchie RBAC), cela permettra donc une amélioration de la sécurité /protection de l’infrastructure Cloud, Azure.

What Next ?

Je vous laisse créer et tester vos new Resource Manager Locks sur vos ressources Azure et me faire part de votre feedback pour cette fonctionnalité.

Restez connecté, plusieurs articles autour de l’Azure sont en cours de finalisation et verront le jour très prochainement sur mon blog :).

A bientôt.

Rappel sur les Groupes de Ressources Azure [Azure Ressource Groupe]

Toutes les ressources créés /provisionnées dans Microsoft Azure ont besoin d’être associées à des « Groupes de Ressources ». il s’agit ici d’une fonctionnalité de base du modèle ARM (Azure Resource Manager).

Utiliser un groupe de ressources Azure vous permettra de grouper toutes vos ressources Cloud (VM, NIC, stockage, IP Public..etc) dans une sorte de « Conteneur logique » et de les gérer de manière centraliser

Puis-je déplacer mes ressources Azure d’un Groupe de Ressources vers un autre ?

Yes, cela est tout à fait possible !

Vous pouvez être amené à déplacer une ou plusieurs ressources Azure (VM, VNET, Compte de stockage…) d’un Groupe de Ressources vers un autre.

e.g : Déplacement d’une VM (ayant servie par exemple à la mise en pré-production d’une solution ou application pour validation) d’un groupe de ressources nommée « hk-preprod-rg » vers un Groupe de Ressources nommé « hk-prod-rg ». Un autre scénario classique est le déplacement d’une ou plusieurs VM Azure ayant servie pour la mise en place d’un PoC qui doit finir en Production. Vous aurez donc comme tâche le move de ces VMs d’un Groupe de Ressources TaGué « PoC » vers un autre TaGué « Prod ».

Comment ça marche ?

Le déplacement d’une ressource Azure d’un Groupe de Ressources vers un autre peut se faire via trois outils :

  • Nouveau Portail Azure : portal.azure.com
  • Windows PowerShell : module Azure
  • Azure CLI 2.0 : commande az resource move

 

Déplacement de Ressources via le Nouveau Portail Azure
  • Connectez-vous sur portal.azure.com
  • Cliquez sur le Groupe de Ressources « source » regroupant votre ou vos ressources Azure à déplacer. Dans l’exemple suivant, la ressource que je souhaite déplacer est associée au groupe de Ressources « hk-preprod-rg« .
  • Localisez et cliquez sur la Ressource à déplacer. Dans l’exemple, la VM « hk-preprod-vm1 » sera déplacée vers le Groupe de Ressources « hk-prod-rg« 

  • Depuis « Vue d’ensemble« , cliquez sur « Déplacer » et sélectionnez ensuite « Déplacer vers un autre groupe de ressources » :

  • L’assistant suivant apparaît, comme illustré dans l’image ci-dessous, vous pouvez également déplacer une ou toutes les autres ressources associées à la ressource que vous souhaitez déplacer. Sélectionnez le groupe de ressources de « Destination » et cliquez sur « Ok » pour démarrer le déplacement de la ressource.

  • Si vous cliquez sur le Groupe de Ressources de « Destination », vous constaterez l’apparition d’une notification vous indiquant le Déplacement de ressource.

 

Déplacement de Ressources via Windows PowerShell
  • Lancez Windows PowerShell (en tant qu’Administrateur) et saisissez Login-AzureRmAccount pour connecter votre compte Azure

  • Une fois connecté, saisissez la commande suivante et notez l’ID de la ressource à déplacer. Dans l’exemple suivant, nous allons afficher les informations sur la ressource Azure « hk-preprod-vm1« , qui est une VM Azure associée au groupe de Ressources « hk-preprod-rg » :

Get-AzureRmResource -ResourceName hk-preprod-vm1 -ResourceGroupName hk-preprod-rg

  • Pour déplacer votre ressource (dans l’exemple suivant > hk-preprod-vm1 dont l’ID de ressource est /subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-preprod-rg/providers/Microsoft.Compute/virtualMachines/hk-preprod-vm1), vous pouvez exécuter l’une des deux commandes suivante :

Move-AzureRmResource -ResourceId /subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-preprod-rg/providers/Microsoft.Compute/virtualMachines/hk-preprod-vm1 -DestinationResourceGroupName hk-prod-rg

ou

Get-AzureRmResource -ResourceName hk-preprod-vm1 -ResourceGroupName hk-preprod-rg | Move-AzureRmResource -DestinationResourceGroupName hk-prod-rg

  • Le déplacement de la ressource démarre …

 

Déplacement de Ressources via l’interface Azure CLI 2.0
  • Lancez l’Invite de commande CMD.exe (en tant qu’Administrateur) et suivez les instructions détaillées dans cet article pour connecter l’interface Azure CLI 2.0 à votre compte Azure
  • Comme sous Windows PowerShell, vous devez d’abord récupérer l’ID de la ressource à déplacer. Pour ce faire, Saisissez la commande suivante. Notez que dans l’exemple ci-dessous, la ressource à déplacer est la VM « hk-preprod-vm1 » associée au groupe de ressource source « hk-preprod-rg » :

az resource show -n hk-preprod-vm1 -g hk-preprod-rg –resource-type « Microsoft.Compute/virtualMachines »

Cette ressource (dont l’ID est /subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-preprod-rg/providers/Microsoft.Compute/virtualMachines/hk-preprod-vm1) sera déplacée vers le Groupe de ressources de Destination « hk-prod-rg », la commande suivante est utilisée :

az resource move –ids /subscriptions/31854640-1004-4040-81fc-be333f3cef5c/resourceGroups/hk-preprod-rg/providers/Microsoft.Compute/virtualMachines/hk-preprod-vm1 –destination-group hk-prod-rg


Plusieurs « HowTo » Azure sont en cours de finalisation et seront bientôt publiés, n’hésitez pas à vous abonner sur le Blog pour Keep updated de toute nouvelle publication.

A bientôt.