CODE ODER KONSOLE
Was sich ändert, wenn dein Tenant in Git lebt.
TerraProvider verwaltet Intune und Entra ID als Terraform-Code in deinem Repository, sodass jede Änderung als Plan vorliegt, den dein Team prüfen kann, bevor er den Tenant erreicht. Hier siehst du, wie das im Vergleich zum Klicken in den Microsoft Intune- und Microsoft Entra-Admin-Centern aussieht, und wann eine Management-Konsole besser zu deinem Team passt.
- 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.
Beispieldaten.
Dieselbe Änderung in den Admin-Centern und als Code
Eine Conditional-Access-Richtlinie, eine Compliance-Regel, ein zweiter Tenant: Was passiert jeweils beim Klicken, und was passiert, wenn es eine Datei in deinem Repository ist.
| Situation | In den Admin-Centern | Mit TerraProvider |
|---|---|---|
| Bevor eine Änderung live geht | Eine Conditional-Access-Änderung ist live, sobald jemand auf Speichern klickt. | Die Änderung ist ein Pull Request. Der Plan zeigt, welches Attribut sich von was zu was verändert, bevor irgendetwas den Tenant berührt. |
| Wer zugestimmt hat, und warum | Das Audit-Log nennt das Konto, das die Richtlinie gespeichert hat. Das Ticket und der Grund stehen irgendwo anders, wenn überhaupt. | Commit-Message, Pull Request und Freigabe liegen direkt neben der Änderung. Ein Rollback ist ein Revert. |
| Test und Produktion | Jeder Tenant wird einzeln durchgeklickt, und die beiden driften im Laufe der Monate auseinander. | Ein Modul, auf beide Tenants angewendet. Wo sie sich unterscheiden, sagt eine Variable es. |
| Eine Änderung außerhalb des Prozesses | Die Dokumentation beschreibt den Tenant weiterhin so, wie er vorher war. | Der nächste Plan listet sie auf, einschließlich Einstellungen, die in deinen Dateien nie erwähnt werden. Du übernimmst sie oder machst sie rückgängig. |
| Ein neuer Tenant | Jede Richtlinie wird erneut durchgeklickt, mit dem alten Tenant im Nachbar-Tab. | Importiere den vorhandenen Tenant (der Export des Quickstarts ist ein Ausgangspunkt) und wende denselben Code auf den neuen an. |
| Änderungen aus einer Pipeline | Jemand meldet sich in einem Browser an und nimmt die Änderung manuell vor. | GitHub Actions und Azure DevOps melden sich per OpenID Connect an, ohne ein gespeichertes Secret. |
| Wo die Konfiguration liegt | Im Tenant selbst. | In deinem eigenen Git-Repository, als HCL, das Terraform und OpenTofu beide ausführen. Der Quellcode des Providers ist öffentlich unter der Business Source License 1.1. |
Code passt zu Teams, die Änderungen bereits in Pull Requests reviewen
Welcher Weg passt, hängt weniger vom Tenant ab als vom Team: Wer nimmt eine Änderung vor, und wo wird sie geprüft.
TerraProvider passt, wenn
- Dein Team schreibt bereits Terraform für Azure und reviewed es in Pull Requests.
- Eine Conditional-Access-Änderung braucht ein zweites Augenpaar, bevor sie live geht.
- Test und Produktion müssen konsistent bleiben, und wo sie sich unterscheiden, muss das lesbar sein.
- Änderungen sollen aus GitHub Actions oder Azure DevOps heraus laufen, nicht aus dem Browser von jemandem.
Eine Management-Konsole passt besser, wenn
- Niemand im Team schreibt HCL, und das plant auch niemand.
- Änderungen werden von Personen im Browser vorgenommen, und das Team möchte das so beibehalten.
Ein Provider für den eigenen Tenant und für die Tenants deiner Kunden
- Eigener Tenant: Die Community Edition ist für Organisationen mit bis zu 99 Nutzern kostenlos, und Enterprise ergänzt Support ab 100 Nutzern.
- Kunden-Tenants: Die Community Edition deckt sie nicht ab, sie brauchen daher einen eigenen Plan. Vertrieb kontaktieren
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}
Beispieldaten.
Sieh deinen eigenen Tenant als Plan.
Fordere eine Testversion von Enterprise an, oder starte mit der Community Edition, kostenlos für Organisationen mit bis zu 99 Nutzern.