[{"data":1,"prerenderedAt":477},["ShallowReactive",2],{"blog-\u002Fen\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code":3,"blog-\u002Fen\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code-surround":277,"blog-\u002Fen\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code-certifications":337},{"id":4,"title":5,"body":6,"categories":258,"cover":261,"cover_contain":262,"credly_badge_id":263,"date":264,"description":265,"extension":266,"meta":267,"navigation":268,"path":269,"related_certifications":270,"seo":273,"slug":274,"stem":275,"__hash__":276},"blog\u002Fen\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code.md","Take Back Control of Your Microsoft Directories with an Infrastructure as Code Approach",{"type":7,"value":8,"toc":239},"minimark",[9,14,18,21,24,28,31,35,38,65,68,72,75,79,82,87,92,97,116,120,136,140,148,152,163,167,186,190,202,206,214,218,229,233,236],[10,11,13],"h2",{"id":12},"real-world-use-case","Real-world use case",[15,16,17],"p",{},"You're piling up technical debt by creating your Microsoft resources manually: here's how Infrastructure as Code let me take back control of my directories.",[15,19,20],{},"In a world where security and compliance no longer tolerate approximation, continuing to manage identities and access through the graphical interface is a technical inconsistency and represents a genuine dead end for security. Infrastructure as Code (IaC) is no longer optional: it's a way to automate, audit, and make reliable the creation of resources: accounts, groups, permissions, access policies, and so on.",[15,22,23],{},"Adopting IaC means guaranteeing consistency, traceability, and security, while meeting the requirements of standards like ISO 27001 or 9001. This article explains why IaC is now essential for professional, secure identity management, here for Microsoft Entra ID and Microsoft Active Directory. As a result, companies that keep relying on manual management expose themselves to errors, security gaps, and non-compliance.",[10,25,27],{"id":26},"the-tools","The tools",[15,29,30],{},"There's a wide range of tools for provisioning resources, whether in the cloud or directly on-premises. Terraform, OpenTofu, CloudFormation, and Pulumi are well recognized. The oldest date back at least a decade, 2011 for CloudFormation and 2014 for Terraform. My preference goes to HashiCorp's solution: Terraform, and that's what I started with in 2020.",[10,32,34],{"id":33},"terraform-providers-for-microsoft-entra-id-and-microsoft-active-directory","Terraform providers for Microsoft Entra ID and Microsoft Active Directory",[15,36,37],{},"The two modules I recommend are the ones created and maintained by the HashiCorp teams:",[39,40,41,55],"ul",{},[42,43,44,54],"li",{},[45,46,50],"a",{"href":47,"rel":48},"https:\u002F\u002Fregistry.terraform.io\u002Fproviders\u002Fhashicorp\u002Fazuread\u002Flatest\u002Fdocs",[49],"nofollow",[51,52,53],"strong",{},"Azure Active Directory"," It refers to the historical name of Microsoft's cloud directory solution (later renamed by the vendor to Microsoft Entra ID).",[42,56,57,64],{},[45,58,61],{"href":59,"rel":60},"https:\u002F\u002Fregistry.terraform.io\u002Fproviders\u002Fhashicorp\u002Fad\u002Flatest\u002Fdocs",[49],[51,62,63],{},"Active Directory"," It refers to the historical name of Microsoft's Active Directory product.",[15,66,67],{},"In my experience, the operations and configuration options offered by these modules cover a wide range of needs for most companies. Their first version dates back to 2019 (v0.1.0).",[10,69,71],{"id":70},"the-technical-debt-built-up-on-microsoft-entra-id-and-microsoft-active-directory","The technical debt built up on Microsoft Entra ID and Microsoft Active Directory",[15,73,74],{},"If, since 2019, you've kept creating resources manually in your Microsoft directory, whether cloud or on-premises, it's fair to say you're building up technical debt. The lack of automation, the lack of traceability and reproducibility, the inability to guarantee environment consistency, and the difficulty of compliance (ISO, GDPR, security) without an up-to-date reference make audits more complex and costly. On top of that, the risk of error or loss during migrations, restores, or team changes becomes a real obstacle to your organization's growth and security. Believe me, knowing that at any moment you have the ability to extract the reference of your infrastructure and its access, and knowing it's up to date, is very valuable.",[10,76,78],{"id":77},"where-to-start","Where to start?",[15,80,81],{},"To stop relying on manual management and move to automated management that follows best practices, here's a project plan I've implemented.",[15,83,84],{},[51,85,86],{},"Example project: Inventory and IaC migration of identities and access",[88,89,91],"h3",{"id":90},"_1-inventory-of-existing-resources","1. Inventory of existing resources",[93,94,96],"h4",{"id":95},"entra-id-azure-ad","Entra ID (Azure AD)",[39,98,99],{},[42,100,101,102],{},"Search for and export:",[39,103,104,107,110,113],{},[42,105,106],{},"Users",[42,108,109],{},"Groups",[42,111,112],{},"Permissions (assigned roles)",[42,114,115],{},"Conditional Access Policies",[93,117,119],{"id":118},"active-directory-on-prem-ad","Active Directory (on-prem AD)",[39,121,122],{},[42,123,101,124],{},[39,125,126,128,130,133],{},[42,127,106],{},[42,129,109],{},[42,131,132],{},"Permissions (group members, delegated rights)",[42,134,135],{},"GPOs (Group Policy Objects)",[88,137,139],{"id":138},"_2-structuring-the-reference-repository","2. Structuring the reference repository",[39,141,142,145],{},[42,143,144],{},"Organize the exports into structured files (e.g., CSV).",[42,146,147],{},"Document the mapping between Entra ID and AD resources (e.g., in a hybrid setup).",[88,149,151],{"id":150},"_3-preparing-for-terraform-authentication","3. Preparing for Terraform authentication",[39,153,154,157,160],{},[42,155,156],{},"Create an application with a token in Microsoft Entra ID with the required permissions.",[42,158,159],{},"Create a dedicated user account with the required permissions for the Active Directory directory.",[42,161,162],{},"Ideally, avoid making WinRM calls directly to the Active Directory domain (use a jump box instead).",[88,164,166],{"id":165},"_3-generating-the-terraform-code","3. Generating the Terraform code",[39,168,169,172,183],{},[42,170,171],{},"Create the Terraform files for each resource (users, groups, permissions, policies).",[42,173,174,175,179,180],{},"Use the official providers: ",[176,177,178],"code",{},"hashicorp\u002Fazuread"," and ",[176,181,182],{},"hashicorp\u002Fad",[42,184,185],{},"Follow a clear, documented naming convention.",[88,187,189],{"id":188},"_4-importing-existing-resources","4. Importing existing resources",[39,191,192,199],{},[42,193,194,195,198],{},"Use the ",[176,196,197],{},"terraform import"," command to bring the actual resources into the Terraform state.",[42,200,201],{},"Check that the inventory and the code are consistent.",[88,203,205],{"id":204},"_5-documentation-and-validation","5. Documentation and validation",[39,207,208,211],{},[42,209,210],{},"Generate an up-to-date Markdown reference repository for the teams.",[42,212,213],{},"Validate compliance, traceability, and security.",[88,215,217],{"id":216},"_6-automation-and-maintenance","6. Automation and maintenance",[39,219,220,223,226],{},[42,221,222],{},"Set up CI\u002FCD workflows for future changes.",[42,224,225],{},"Set up tests to ensure future provisioning follows the rules (naming convention, etc.).",[42,227,228],{},"Train teams on how to use and maintain the IaC reference repository.",[10,230,232],{"id":231},"conclusion","Conclusion",[15,234,235],{},"For my part, structuring identity and access management with Infrastructure as Code isn't just a technical project: it's a genuine transformation effort for the company. Yes, the approach is demanding, sometimes long and complex, but it's now essential to guarantee security, compliance, and quality. Organizations that put off this shift risk staying vulnerable, losing agility, and exposing themselves to growing technical debt.",[15,237,238],{},"IaC requires discipline, clear documentation, and upskilling the teams. But the benefit is huge: a well-controlled, auditable, scalable infrastructure that meets standards. The real question is no longer \"should we do it?\", but \"how many companies are ready to take on the challenge and step out of the (false) comfort of manual management?\"\nThose who choose automation and traceability lay the foundations of a modern, resilient, and secure IT system.",{"title":240,"searchDepth":241,"depth":241,"links":242},"",2,[243,244,245,246,247,257],{"id":12,"depth":241,"text":13},{"id":26,"depth":241,"text":27},{"id":33,"depth":241,"text":34},{"id":70,"depth":241,"text":71},{"id":77,"depth":241,"text":78,"children":248},[249,251,252,253,254,255,256],{"id":90,"depth":250,"text":91},3,{"id":138,"depth":250,"text":139},{"id":150,"depth":250,"text":151},{"id":165,"depth":250,"text":166},{"id":188,"depth":250,"text":189},{"id":204,"depth":250,"text":205},{"id":216,"depth":250,"text":217},{"id":231,"depth":241,"text":232},[259,260],"Microsoft","Sécurité","\u002Fimages\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code\u002F96c873f6c1.png",false,null,"2025-08-25","Stop piling up technical debt by creating your resources manually. Adopt IaC for a reliable, up-to-date reference of your Microsoft directories.","md",{},true,"\u002Fen\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code",[271,272],"certificat-hashicorp-certified-terraform-associate","certificat-microsoft-security-compliance-and-identity-fundamentals",{"title":5,"description":265},"reprenez-controle-annuaires-microsoft-infrastructure-as-code","en\u002Fblog\u002Freprenez-controle-annuaires-microsoft-infrastructure-as-code","1UUIOoC3AE2QrQv4wIAXqtAxy1VEpsYaAiQWrUGuebM",[278,286,294,301,309,316,323,330],{"title":279,"path":280,"stem":281,"date":282,"cover":283,"categories":284,"children":-1},"AI Wars, Supply Chain Attack: how to protect yourself from the AI threat?","\u002Fen\u002Fblog\u002Fwebinar-ai-wars-supply-chain-attack-menace-ia","en\u002Fblog\u002Fwebinar-ai-wars-supply-chain-attack-menace-ia","2026-08-07","\u002Fimages\u002Fblog\u002Fwebinar-ai-wars-supply-chain-attack-menace-ia\u002Fthumbnail.jpg",[285],"Webinar",{"title":287,"path":288,"stem":289,"date":290,"cover":291,"categories":292,"children":-1},"ISO\u002FIEC 27001 Lead Implementer","\u002Fen\u002Fblog\u002Fcertificat-iso27001-lead-implementer","en\u002Fblog\u002Fcertificat-iso27001-lead-implementer","2026-03-05","\u002Fimages\u002Fblog\u002Fcertificat-iso27001-lead-implementer\u002F364fa30a2c.png",[293,260],"Certifications",{"title":295,"path":296,"stem":297,"date":298,"cover":299,"categories":300,"children":-1},"Achieving a 0% Exposure Score with Microsoft Defender Vulnerability Management","\u002Fen\u002Fblog\u002Fassurer-un-score-exposition-de-0-avec-microsoft-defender-vulnerability-management","en\u002Fblog\u002Fassurer-un-score-exposition-de-0-avec-microsoft-defender-vulnerability-management","2025-10-27","\u002Fimages\u002Fblog\u002Fassurer-un-score-exposition-de-0-avec-microsoft-defender-vulnerability-management\u002Fe8a06eec09.png",[259,260],{"title":302,"path":303,"stem":304,"date":305,"cover":306,"categories":307,"children":-1},"GitHub Copilot","\u002Fen\u002Fblog\u002Fcertificat-microsoft-github-copilot","en\u002Fblog\u002Fcertificat-microsoft-github-copilot","2025-08-28","\u002Fimages\u002Fblog\u002Fcertificat-microsoft-github-copilot\u002Fcf8333d63e.png",[293,308],"Code",{"title":310,"path":311,"stem":312,"date":313,"cover":314,"categories":315,"children":-1},"Goal: 100%, Veeam Backup & Replication v12 Security","\u002Fen\u002Fblog\u002Fobjectif-100-securite-veeam-backup-replication","en\u002Fblog\u002Fobjectif-100-securite-veeam-backup-replication","2025-08-18","\u002Fimages\u002Fblog\u002Fobjectif-100-securite-veeam-backup-replication\u002Ffd1cbd3a9e.png",[260],{"title":317,"path":318,"stem":319,"date":320,"cover":321,"categories":322,"children":-1},"Optimal Hardening of Active Directory Security","\u002Fen\u002Fblog\u002Fdurcissement-optimal-securite-active-directory","en\u002Fblog\u002Fdurcissement-optimal-securite-active-directory","2025-08-13","\u002Fimages\u002Fblog\u002Fdurcissement-optimal-securite-active-directory\u002F9dc4acd9d6.png",[260],{"title":324,"path":325,"stem":326,"date":327,"cover":328,"categories":329,"children":-1},"Full Application of the Zero Trust Model in Microsoft 365","\u002Fen\u002Fblog\u002Fapplication-complete-modele-zero-trust-microsoft365","en\u002Fblog\u002Fapplication-complete-modele-zero-trust-microsoft365","2025-08-10","\u002Fimages\u002Fblog\u002Fapplication-complete-modele-zero-trust-microsoft365\u002Fcea858f515.png",[260],{"title":331,"path":332,"stem":333,"date":334,"cover":335,"categories":336,"children":-1},"Goal: 100%, Microsoft 365 Exposure Management","\u002Fen\u002Fblog\u002Fobjectif-100-securite-exposition-microsoft365","en\u002Fblog\u002Fobjectif-100-securite-exposition-microsoft365","2025-08-09","\u002Fimages\u002Fblog\u002Fobjectif-100-securite-exposition-microsoft365\u002Fe8a06eec09.png",[260],[338,420],{"id":339,"title":340,"body":341,"categories":410,"cover":411,"cover_contain":268,"credly_badge_id":412,"date":413,"description":414,"extension":266,"meta":415,"navigation":268,"path":416,"related_certifications":263,"seo":417,"slug":271,"stem":418,"__hash__":419},"blog\u002Fen\u002Fblog\u002Fcertificat-hashicorp-certified-terraform-associate.md","HashiCorp Terraform Associate",{"type":7,"value":342,"toc":406},[343,345,348,351,398,401,403],[10,344,13],{"id":12},[15,346,347],{},"To industrialize infrastructure deployment for my clients, I took the HashiCorp Terraform Associate certification.",[15,349,350],{},"The \"Terraform Associate\" training path is designed for IT professionals in charge of infrastructure deployment operations.\nThe course catalog covers the following modules:",[39,352,353,358,363,368,373,378,383,388,393],{},[42,354,355],{},[51,356,357],{},"Understand Infrastructure as Code (IaC) concepts",[42,359,360],{},[51,361,362],{},"Understand the purpose of Terraform (vs other IaC)",[42,364,365],{},[51,366,367],{},"Understand Terraform basics",[42,369,370],{},[51,371,372],{},"Use Terraform outside the core workflow",[42,374,375],{},[51,376,377],{},"Interact with Terraform modules",[42,379,380],{},[51,381,382],{},"Use the core Terraform workflow",[42,384,385],{},[51,386,387],{},"Implement and maintain state",[42,389,390],{},[51,391,392],{},"Read, generate, and modify configuration",[42,394,395],{},[51,396,397],{},"Understand HCP Terraform capabilities",[15,399,400],{},"The training takes about 4 days.\nYou should then allow around 1h45 for the certification exam itself: Terraform Associate.",[10,402,232],{"id":231},[15,404,405],{},"This Pearson VUE certification covers all the concepts needed to confidently approach the Terraform Associate exam: infrastructure as code, the Terraform workflow, state management, and using modules. It validates a solid understanding of infrastructure deployment best practices with Terraform. A useful certification for any professional automating cloud infrastructure.",{"title":240,"searchDepth":241,"depth":241,"links":407},[408,409],{"id":12,"depth":241,"text":13},{"id":231,"depth":241,"text":232},[293,308],"\u002Fimages\u002Fblog\u002Fcertificat-hashicorp-certified-terraform-associate\u002F488880edcf.png","632a52a8-b218-4463-aa2e-f85c9643535f","2025-02-11","HashiCorp Terraform Associate: Pearson VUE certification, completed as part of my professional watch in cybersecurity and IT.",{},"\u002Fen\u002Fblog\u002Fcertificat-hashicorp-certified-terraform-associate",{"title":340,"description":414},"en\u002Fblog\u002Fcertificat-hashicorp-certified-terraform-associate","Jo1W0rdAoS7xXZL4ego6L3fNZXTKjZux5afRrkNBxhE",{"id":421,"title":422,"body":423,"categories":467,"cover":468,"cover_contain":268,"credly_badge_id":469,"date":470,"description":471,"extension":266,"meta":472,"navigation":268,"path":473,"related_certifications":263,"seo":474,"slug":272,"stem":475,"__hash__":476},"blog\u002Fen\u002Fblog\u002Fcertificat-microsoft-security-compliance-and-identity-fundamentals.md","Microsoft: Security, Compliance, and Identity Fundamentals",{"type":7,"value":424,"toc":463},[425,427,430,433,455,458,460],[10,426,13],{"id":12},[15,428,429],{},"To advise my clients on Microsoft security and compliance, I took the Security, Compliance, and Identity Fundamentals certification.",[15,431,432],{},"The \"Microsoft Security, Compliance, and Identity Fundamentals\" training path is designed for IT professionals in charge of deploying and securing cloud resources.\nThe course catalog covers the following modules:",[39,434,435,440,445,450],{},[42,436,437],{},[51,438,439],{},"Describe security, compliance, and identity concepts",[42,441,442],{},[51,443,444],{},"Describe the capabilities of Microsoft Entra",[42,446,447],{},[51,448,449],{},"Describe the capabilities of Microsoft security solutions",[42,451,452],{},[51,453,454],{},"Describe the capabilities of Microsoft compliance solutions",[15,456,457],{},"The training takes about 3 days.\nYou should then allow around 1h00 for the certification exam itself: Microsoft Security, Compliance, and Identity Fundamentals.",[10,459,232],{"id":231},[15,461,462],{},"This Microsoft course covers security, compliance, and identity management concepts, as well as the main associated Microsoft solutions (Entra, security, and compliance). It complements the Azure fundamentals already acquired by providing a broader view of protecting Microsoft environments. A useful certification for any professional in charge of securing cloud resources.",{"title":240,"searchDepth":241,"depth":241,"links":464},[465,466],{"id":12,"depth":241,"text":13},{"id":231,"depth":241,"text":232},[293,259],"\u002Fimages\u002Fblog\u002Fcertificat-microsoft-security-compliance-and-identity-fundamentals\u002F70ef935f2a.png","82a09914-e95c-43b6-a371-f308b5ee8185","2022-10-17","Microsoft: Security, Compliance, and Identity Fundamentals: course completed as part of my professional watch in cybersecurity and IT.",{},"\u002Fen\u002Fblog\u002Fcertificat-microsoft-security-compliance-and-identity-fundamentals",{"title":422,"description":471},"en\u002Fblog\u002Fcertificat-microsoft-security-compliance-and-identity-fundamentals","pzrV5JRrELrJgaqSoqL2QuFzeb9_7_olBJ4fv_fRsgo",1786644869391]