CODICE O CONSOLE
Cosa cambia quando il tuo tenant vive in Git.
TerraProvider mantiene Intune ed Entra ID come codice Terraform nel tuo repository, così ogni modifica diventa un plan che il team può esaminare prima che raggiunga il tenant. Ecco come si confronta con il lavoro negli admin center di Microsoft Intune e Microsoft Entra, e quando una management console è la scelta più adatta al tuo team.
- terraprovider/microsoft365wp
- Terraform and OpenTofu
- Business Source License 1.1
# microsoft365wp_conditional_access_policy.require_mfa_admins will be updated in-place ~ resource "microsoft365wp_conditional_access_policy" "require_mfa_admins" { ~ conditions = { ~ users = { ~ exclude_users = [ - "7c1e4a90-3f2b-4d8e-9a61-0b5c2e8f1d47", ] # (8 unchanged attributes hidden) } # (6 unchanged attributes hidden) } id = "2b7f9c3e-8d41-4f6a-b0e2-5c9a1d7e3f80" # (3 unchanged attributes hidden) }Plan: 0 to add, 1 to change, 0 to destroy.
Dati di esempio.
La stessa modifica negli admin center e nel codice
Una policy di Conditional Access, una regola di compliance, un secondo tenant: cosa succede in ciascun caso quando si fa clic, e cosa succede quando è un file nel repository.
| Situazione | Negli admin center | Con TerraProvider |
|---|---|---|
| Prima che una modifica vada in produzione | Una modifica a Conditional Access è attiva nel momento in cui qualcuno preme Salva. | La modifica è una pull request. Il plan mostra quale attributo cambia, da quale valore a quale, prima che qualcosa tocchi il tenant. |
| Chi ha approvato, e perché | L'audit log riporta l'account che ha salvato la policy. Il ticket e la motivazione sono altrove, se esistono. | Commit message, pull request e approvazione sono accanto alla modifica. Tornare indietro è un revert. |
| Test e produzione | Ogni tenant viene configurato a clic per conto suo, e i due divergono nel corso dei mesi. | Un solo modulo, applicato a entrambi i tenant. Dove differiscono, lo dice una variabile. |
| Una modifica fuori dal processo | La documentazione continua a descrivere il tenant com'era prima. | Il plan successivo la elenca, comprese le impostazioni che i tuoi file non menzionano mai. La adotti o la ripristini. |
| Un nuovo tenant | Ogni policy viene riconfigurata a clic, con il vecchio tenant aperto nel tab accanto. | Importa il tenant che hai (l'export del quickstart è un punto di partenza), poi applica lo stesso codice al nuovo. |
| Modifiche da una pipeline | Qualcuno accede a un browser e fa la modifica a mano. | GitHub Actions e Azure DevOps si autenticano con OpenID Connect, senza secret memorizzati. |
| Dove vive la configurazione | Nel tenant stesso. | Nel tuo repository Git, come HCL che Terraform e OpenTofu eseguono entrambi. Il sorgente del provider è pubblico con la Business Source License 1.1. |
Il codice è adatto ai team che già revisionano le modifiche in pull request
La scelta giusta dipende meno dal tenant che dal team: chi fa una modifica, e dove viene revisionata.
TerraProvider è la scelta giusta quando
- Il tuo team scrive già Terraform per Azure e lo revisiona in pull request.
- Una modifica a Conditional Access ha bisogno di un secondo sguardo prima di andare in produzione.
- Test e produzione devono rimanere allineati, e le differenze devono essere leggibili.
- Le modifiche devono essere eseguite da GitHub Actions o Azure DevOps, non dal browser di qualcuno.
Una management console è più adatta quando
- Nessuno nel team scrive HCL, né intende farlo.
- Le modifiche vengono fatte da persone in un browser, e il team vuole che rimanga così.
Un solo provider per il tuo tenant e per i tenant dei tuoi clienti
- Il tuo tenant: la Community Edition è gratuita per le organizzazioni fino a 99 utenti, e la Enterprise aggiunge supporto a partire da 100 utenti.
- Tenant dei clienti: la Community Edition non li copre, quindi richiedono un piano dedicato. Contatta il team commerciale
provider "microsoft365wp" { alias = "contoso" tenant_id = "8a1f3c2e-5b7d-4e90-a6c4-2d9e7f1b0c35"}provider "microsoft365wp" { alias = "fabrikam" tenant_id = "e4c27b91-0d3a-4f86-b5e2-7a1c9d0f6b48"}module "baseline_contoso" { source = "./baseline" providers = { microsoft365wp = microsoft365wp.contoso }}module "baseline_fabrikam" { source = "./baseline" providers = { microsoft365wp = microsoft365wp.fabrikam } allow_byod = true}
Dati di esempio.
Visualizza il tuo tenant come un plan.
Richiedi una prova di Enterprise, oppure inizia con la Community Edition, gratuita per le organizzazioni fino a 99 utenti.