4. Infrastructure as Code
• Automatisation des procesus
▪ Provisioning d’infrastructure (Compute, Network and Storage)
▪ Installation et configuration
• Versioning des scripts de provisioning et d’automatisation
▪ Evolution des infrastructures
▪ Réduire les erreurs liées aux interventions humaines
• Réduire le temps de mise à disposition des plateformes
DevOps
9. 9
Authoring Managed Object Framework Apply configuration
1- Vérifier que les ressources DSC
sont installées
2- Vérifier les pré-requis sur la
machine (EnableRemoting et
WinRM)
2- Création de script DSC (fichier
powershell .ps1)
3 - Création du fichier de
configuration (.psd1)
4- Lancement de la configuration
5 - Génération du fichier .MOF 6 - Exécution de la configuration
souhaitée par le LCM (Start-
DSCConfiguration)
Desired State Configuration (Etapes)
12. 12
Ressources
• Les modules PowerShell utilisées par le LCM pour appliquer une
configuration
• Get-TargetResource
• Set-TargetResource
• Test-TargetResource
• Microsoft fournit des modules (ex: xWebAdmininstation, xWebSite)
• Les modules DSC sont extensibles
15. Resource Group
Resource Group est une unité
de gestion
Lifecycle: déploiement, mise à jour,
suppression, statut
Identity: devient une partie de l’identité des
ressources contenues
Grouping: Mesures, factration, quota:
appliqué à un groupe
Access Control: Support des permissions
RBAC
RESOURCE GROUP
16. Cycle de vie
Question:
Dois-je mettre mes ressources dans un
seul groupe ou plusieurs?
Indice:
Ont-ils le même cycle de vie et le même
niveau de management ?
Réponse:
A vous de decider .
17. Templates
Azure Templates permettent de :
• Assurer l’idempotence
• Simplifier l’Orchestration des ressources
• Simplifier le Roll-back
• Fournir une configuration Cross-Ressource
Azure Templates sont :
• Des fichiers sources, checked-in
• Décrivent les ressources et leurs dépendances
(VMs, WebSites, DBs) e les connexions (config,
LB sets)
• Paramétrables (input/output)
SQL - A Website Virtual
Machines
SQL-A
Website
[SQL CONFIG] VM (2x)
DEPENDS ON SQLDEPENDS ON SQL
SQL Config
18. Resource Tag
• Assigner des notes aux ressources
• Tag = Clé / Valeur
• Exemple :
▪ Environnement = {Dev, Staging, Prod}
▪ Owner = « … »
▪ Cost Center = 12345
22. OneGet
• Le chainon manquant ? Un compagnon indispensable à
PowerShell DSC
• OneGet est un jeu de comdlets powershell
• OnetGet permet d’installer des packages logiciels à partir
de bibliothèques internes ou externes (ex : Chocolatey)
• OneGet efficace pour se constituer un « Master »
25. PS> Enter-PSSession Server1
FAIL! – Talk to your supervisor for assistance
“Jeffrey I need to be admin on Server1 to restart SQL”
“No Eddie.
Just connect to the ‘Maintenance’ EndPoint”
PS> Enter-PSSession Server1 –Config Maintenance
Server1> Restart-Service MSSQLSERVER
Server1
Server1> Steal-Secrets
Error: You are not authorized to Steal-Secrets
26. JEA – Just Enough Administration
• La plus grande faille de sécurité : les administrateurs !
• Objectif : Réduire les droits admin
▪ Réduire le nb de personnes avec les droits Admin
▪ Réduire le périmètre des privileges admin
▪ Fournir au plus juste des besoins des privileges admin
• Basé sur PowerShell DSC
▪ JeaToolkit
– Définir les jeux de commandes supportés
▪ JeaEndPoint
– Point de Management où les utilisateurs sont autorisés
▪ JeaEndPointAccount
– Compte local avec les privileges admin
27. Exemple
JeaToolkit SQLMaintenace
{ Name = ‘SQLMaintenance’
CommandSpecs = @'
Module,Name,Parameter,ValidateSet,ValidatePattern
SQL,GET-*
,Get-Process
,Get-Service
,Stop-Process,Name,calc;notepad
,Restart-Service,Name,,^SQL
'@
}