Articles Tagués ‘Azure PowerShell’

Introduction

J’ai récemment découvert un outil assez intéressant pour Azure, il s’agit d’Azure VizGov.

Cet outil vous permet d’auditer vos environnements Azure (ou ceux de vos clients) pour :

  • Avoir de la visibilité sur la hiérarchie de vos Management Group Azure (Groupes d’Administration) jusqu’aux abonnements Azure
  • Capturer /récupérer toutes les informations relatives aux droits/attributions de rôle RBAC
  • Lister toutes les Stratégies (Azure Policies) appliquées à vos Management Group (MG) et abonnements

 

Télécharger AzGovViz

L’outil tourne sou forme de Script PowerShell, et est disponible en téléchargement depuis ce Repo Github

 

Prérequis

AzGovViz a été codé sous PowerShell, vous devez donc disposer d’un des modules PowerShell Azure suivant pour l’exécuter :

  • Module Az
  • Module AzureRM

De plus, pour pouvoir exécuter le script, vous devez disposez les autorisations/permissions RBAC suivantes :

  • [RBAC] : le rôle « Management Group Reader«  au niveau du Management Group
  • [RBAC] : le rôle « Reader«  au niveau du Management Group
  • [Permissions API] : si vous voulez exécuter le script via Azure Automation ou l’agent Azure DevOp, vous devrez configurer les permissions de l’API au niveau de l’annuaire Azure AD. Idem pour le compte Automation qui sera utilisé, l’inscription de l’App du compte doit être autorisé avec l’autorisation suivante : Azure Active Directory API | Application | Directory | Read.All

 

HowTo : exécuter AzGovViz

Suivez les instructions suivantes pour exécuter l’outil de visualisation de gouvernance Azure depuis votre environnement :

.\AzGovViz.ps1 -managementGroupId <ID_de_votre_Management_Group>

 

 

Outputs

AzGovViz audit/collecte et retourne des informations sur vos Management Group, Abonnements, droits RBAC, Initiatives Policy et Policies Azure.

AzGovViz vous retourne le résultat sous format « HTML » et CSV (Comma-Separated Values).

 

Petit Bonus !

Le résultat /données collectées post-exécution d’AzGovViz sont directement disponibles dans le Wiki Azure DevOps (voir screenshot ci-dessous) :

 

Informations utiles

AzGovViz a été testé (par mes soins) sur le CloudShell et PowerShell Core pour Windows et Linux (Ubuntu 18.04 LTS). Il est compatible et ne présente aucun problème d’exécution/stabilité.

 

 

 

Microsoft a récemment publié un nouvel (free) eBook dédié à l’Administration des infrastructures Linux (IaaS) sur Azure V(irtual) M(achine).

Que vous soyez Développeur ou Administrateur Cloud, vous découvrirez à travers cet eBook comment déployer, gérer et administrer des Workloads Linux sur Azure.

Plus précisément, vous apprenez (entre autres) :

  • Comment ré-utiliser les mêmes commandes et tools que vous connaissez sur Azure
  • Comment utiliser Ansible pour gérer vos instances Linux dans un environnement Azure
  • Comment automariser vos déploiements Linux à l’aide d’Azure Resource Manager (ARM), Windows PowerShell et l’interface Azure CLI (2.0)
  • Enhance your Linux security and use Azure identity management services
  • Comment gérer vos Containers dans un environnement Azure

 

Note : Azure prend en charge au moment de la rédaction du présent post plusieurs distributions Linux, cela inclut : RedHat, SUSE, Ubuntu, CentOS, Debian et CoreOS. De nouvelles distributions Linux seront prises en charge prochainement. Vous pouvez vous abonner sur le Blog officiel Azure pour rester informé des dernières Updates relatives à Azure.

 

Consultez la Table des Matières ci-dessous pour en savoir plus :

 

L’eBook « Hands-On Linux Administration on Azure » peut être téléchargé directement depuis le lien/bouton suivant:

 

 

Bonne lecture à tous :).

A bientôt.

 

Si vous êtes amenés à gérer et administrer un ou plusieurs tenants Azure AD au quotidien, et que vous souhaitez automatiser toutes les tâches et opérations répétitives et fastidieuses, eh bien sachez que vous êtes à la bonne adresse :).

Aujourd’hui, je vais vous parler d’un module PowerShell qui va vous faciliter la vie quand il s’agit de déployer, gérer, administrer mais aussi troubleshooter Azure Active Directory.

Il s’agit du module « AzureAD » (ou Azure Active Directory PowerShell for Graph).

Les Cmd-Lets fournies avec ce Module vous permettent de récupérer les données à partir de l’annuaire/service Azure Active Directory, créer de nouveaux objets, modifier et mettre à jour les objets existants, supprimer des objets AAD, mais aussi configurer votre tenant Azure AD et ses options /fonctionnalités associées.

Enfin, notez que le module AzureAD vous permet également de gérer vos AAD Application Proxy et Connecteurs.

HowTo : Installer le module PowerShell AzureAD

Le module AzureAD est disponible depuis la PowerShellGallery et peut être installer via un simple

Install-Module AzureAD

 

HowTo : Utiliser le module PowerShell AzureAD

Une fois installé, commencez par importer le module « AzureAD » en saisissant la commande suivante :

Import-Module AzureAD

ou simplement

ipmo AzureAD

Exécutez ensuite la commande suivante pour lister toutes les Cmd-lets du module PowerShell AzureAD :

Get-Command -Module AzureAD | ft -AutoSize

Vous pouvez connaitre le nombre exact des Cmd-lets fournies avec le module AzureAD en exécutant la commande ci-dessous :

(Get-Command -Module AzureAD).Count

164 Cmd-Lets au total sont fournies avec le module PowerShell AzureAD, cela vous permet d’automatiser presque toutes les opérations disponibles depuis le Nouveau Portail Azure (portal.azure.com)

Avant de pouvoir créer et gérer vos objets (users & groups) Azure AD, vous devez connecter votre Interface PowerShell à votre tenant AzureAD, pour ce faire, saisissez la commande suivante :

Connect-AzureAD

Vous êtes invités à renseigner votre compte Microsoft (ou Professionnel) pour vous connecter :

Comme montré ci-dessous, mon compte Azure a été connecté correctement :

Commençons maintenant par lister tous les users AzureAD existants, saisissez la commande suivante :

Get-AzureADUser

Pour créer un nouvel utilisateur AzureAD, la commande suivante sera utilisée :

Note : dans l’exemple suivant, nous allons créer un nouvel utilisateur avec les informations suivantes :

UPN : hicham.kadiri-demo@k-nd-k-group.com

GivenName : hicham.kadiri-demo

DisplayName : Hicham KADIRI

City : Paris

Country : France

Department : IT

Mot de passe : « MyP@ss0rd2018! »

 

$PasswordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile $PasswordProfile.Password = « MyP@ss0rd2018! »

New-AzureADUser -City Paris -Country France -Department IT -DisplayName « Hicham KADIRI » -GivenName hicham.kadiri-demo -JobTitle « Azure Cloud Architect » -AccountEnabled $true -PostalCode 75000 -UserPrincipalName hicham.kadiri-demo@k-nd-k-group.com -PasswordProfile $PasswordProfile -MailNickName hicham.kadiri-demo

Pour supprimer cette fois-ci l’utilisateur créé précédemment, exécutez la commande suivante :

  • Notez que vous devez d’abord exécutez la Cmd-let Get-AzureADUser pour récupérer l’ObjectID de l’utilisateur à supprimer (af3dbbdd-e51b-44e3-8944-91150d296fd4 dans l’exemple suivant) :
    • Remove-AzureADUser -ObjectId af3dbbdd-e51b-44e3-8944-91150d296fd4

Vous pouvez lister tous les domaines AAD déclarés/enregistrés en saisissant la commande suivante :

Get-AzureADDomain

La liste des devices enregistrés dans votre domaine Azure AD peut être obtenue via la commande suivante :

Get-AzureADDevice

Je vous invite à consulter cet article pour en savoir plus sur l’ensemble des Cmd-lets fournies avec le module AzureAD.

 

Hello Azure (Classic :D) Guys,

Microsoft a publié le 06 Décembre une Update pour annoncer la suppression « définitive » du Portail Azure « Classic », le 08 Janvier 2018.

D’ailleurs, si vous vous connectez sur le Portail Azure Classic (https://manage.windowsazure.com), vous constaterez l’apparition du message /alerte suivante « Avis de suppression du portail classic Azure » :

BUT, do not worry :).

Toutes vos ressources /services déployés en mode ASM (Azure Service Manager) seront automatiquement migrés vers le nouveau Portail (https://portal.azure.com), MS s’en occupe, donc transparence totale pour les « Cloud Consumers » :).

En attendant, commencez à découvrir toutes les nouvelles features, options et services introduits avec le nouveau Portail Azure.

Ci-après quelques liens utiles que je vous invite à consulter pour prendre en main le nouveau modèle de déploiement Azure et ses différents outils d’automatisation (e.g : Az PS, Az CLI ..etc)

Démarrer avec Azure (ARM)

Découvrez l’interface Azure CLI

Découvrez Azure Cloud Shell 

Découvrez Azure PowerShell

Dans le cadre d’un projet de migration de Datacenters d’un de mes clients vers Azure, j’avais en charge l’étude, design et l’implémentation de plusieurs canaux VPN entre les Datacenters Azure et ceux OnPremise.

Compte-tenu du nombre de Gateway VPN Azure à monter, j’ai créé le script P(ower)S(hell) suivant pour automatiser et accélérer le processus de création des services Cloud réseaux nécessaires pour interconnexion.

Le code est détaillé ci-après, j’ai utilisé des noms & subnets de tests, vous aurez donc juste à remplacer les valeurs des variables par celles correspondant à votre environnement.

Mon architecture réseau Azure « cible » est la suivante :

  • 1 VNET nommé : hk-demo-vnet »
  • 1 Espace d’adressage : 10.0.52.0/24
  • 5 Subnets :
    • Subnet « Front-end » : 10.0.52.0/25
    • Subnet « Back-end » :  10.0.52.128/26
    • Subnet « Management« : 10.0.52.192/27
    • Subnet « DMZ » :  10.0.52.224/28
    • Subnet dédiée à la « Passerelle Az » : 10.0.52.240/28

 

Note : la seule étape qui nécessite un peu d’attente (~45 minutes environ) est la création de la Gateway VPN Az [Step #8]. Le reste des opérations est quasi immédiat :).

Note importante : le présent script concerne uniquement la configuration côté « Azure »; une configuration spécifique côté « Réseau OnPrem » est à faire, cela dépendra du type d’équipement déjà présent sur votre S.I (e.g : Fortigate, Cisco ASA, F5 BIG-IP, A10 Network…Etc). N’hésitez pas à consulter cette page pour vérifier la comptabilité /prise en charge de votre équipement réseau pour la connexion VPN avec Azure.


#1 Connecter votre compte Azure
Login-AzureRmAccount

#2 Selectionner votre Abonnement Azure (si vous en avez qu’un seul, vous pouvez bypasser cette etape). Dans l’exemple suivant, la subscription « HKDemoSubsription » sera selectionnee
Select-AzureRmSubscription -SubscriptionName « HKDemoSubscription »

#3 Crerr votre groupe de Ressource Azure au niveau de la Region Europe de l’Ouest
New-AzureRmResourceGroup -Name « hk-demo-rg » -Location ‘West Europe’

#4 Creer  du VNET ‘HK-Demo-vnet » et ses Subnets associés
$hkdemosubfe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-fe’ -AddressPrefix 10.0.52.0/25

$hkdemosubbe = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-be’ -AddressPrefix 10.0.52.128/26

$hkdemosubmgmt = New-AzureRmVirtualNetworkSubnetConfig -Name ‘hk-demo-sub-mgmt’ -AddressPrefix 10.0.52.192/27

$SecuritySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘SecuritySubnet’ -AddressPrefix 10.0.52.224/28

$GatewaySubnet = New-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -AddressPrefix 10.0.52.240/28

New-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -AddressPrefix 10.0.52.0/24 -Subnet $hkdemosubfe, $hkdemosubbe, $hkdemosubmgmt, $SecuritySubnet, $GatewaySubnet

#5 Declarer La Passerelle /Device VPN Local ainsi que les Subnets de votre reseau Corporate (192.168.x.0 dans l’exemple suivant)
New-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg `
-Location ‘West Europe’ -GatewayIpAddress ‘10.112.11.33’ -AddressPrefix ‘192.168.1.0/24’, ‘192.168.2.0/24’, ‘192.168.3.0/24’

#6 Creation d’une nouvelle adresse IP public pour la Gateway VPN Azure
$azuregtwpip = New-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg -Location ‘West Europe’ -AllocationMethod Dynamic

#7 Declarer /Creer la configuration de la Gateway VPN Azure
$vnet = Get-AzureRmVirtualNetwork -Name hk-demo-vnet -ResourceGroupName hk-demo-rg
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -Name ‘GatewaySubnet’ -VirtualNetwork $vnet
$azgtwipconfig = New-AzureRmVirtualNetworkGatewayIpConfig -Name hk-demo-azgtwconfig -SubnetId $subnet.Id -PublicIpAddressId $azuregtwpip.Id

#8 Creer votre nouvelle Gateway Azure
New-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg -Location 'West Europe' -IpConfigurations $azgtwipconfig -GatewayType Vpn
-VpnType RouteBased -GatewaySku Standard

#9 Obtenir l’@IP Public de la Gateway Azure (verifier que l’IP Public de votre Gateway Azure est bien générée)
Get-AzureRmPublicIpAddress -Name hk-demo-azgtwpip -ResourceGroupName hk-demo-rg

#10 Creer la connexion VPN entre le Device OnPrem et Azure
$azuregtw = Get-AzureRmVirtualNetworkGateway -Name hk-demo-azgtw -ResourceGroupName hk-demo-rg
$localgtw = Get-AzureRmLocalNetworkGateway -Name hk-demo-localgtw -ResourceGroupName hk-demo-rg

New-AzureRmVirtualNetworkGatewayConnection -Name hk-demo-azgtwcon -ResourceGroupName hk-demo-rg -Location 'West Europe' -VirtualNetworkGateway1 $azuregtw -LocalNetworkGateway2 $localgtw
-ConnectionType IPsec -RoutingWeight 10 -SharedKey ‘$HKD€m0@2017$’


Run & Enjoy the script :).

Une fois l’interconnexion établie entre le Device VPN Azure et celui d’OnPrem, le statut de l’objet de connexion passe à « Connected« , checkez les « Data in » et « Data out » pour s’assurer que le traffic passe bien entre vos ressources locales (OnPrem) et celles hébergées dans le Cloud Az.

Restez connectés, de nouveaux posts autour de l’Azure (step-by-step guides, HowTo..Etc) sont en cours de finalisation :).

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.

 

 

 

CouvertureAzureRemoteApp

Titre eBook

Gérer Azure RemoteApp avec Microsoft Azure PowerShell

Description de l’eBook

Il s’agit d’un guide pas à pas détaillant toutes les Cmd-let Azure PowerShell et leurs paramètres associés vous permettant de créer et gérer vos Collections RemoteApp. Des scénarios « real-world » sont également détaillés dans cet eBook.

Où acheter cet eBook ?

Cet eBook est disponible sur :

BecomeITExpert.com

Logo_BecomeITExpert

 

 

YouScribe.com

youscribe_logo