CÓDIGO O CONSOLA

Qué cambia cuando tu tenant vive en Git.

TerraProvider mantiene Intune y Entra ID como código Terraform en tu repositorio, de modo que cada cambio es un plan que tu equipo puede revisar antes de que llegue al tenant. Así es como se compara con hacer clic en los centros de administración de Microsoft Intune y Microsoft Entra, y cuándo una consola de administración se adapta mejor a tu equipo.

  • terraprovider/microsoft365wp
  • Terraform and OpenTofu
  • Business Source License 1.1
terraform plan
  # 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.

Datos de ejemplo.

COMPARATIVA

El mismo cambio en los centros de administración y en código

Una política de acceso condicional, una regla de cumplimiento, un segundo tenant: qué ocurre con cada uno cuando se hace clic, y qué ocurre cuando es un archivo en tu repositorio.

El mismo cambio en los centros de administración y en código
SituaciónEn los centros de administraciónCon TerraProvider
Antes de que un cambio entre en vigorUn cambio de acceso condicional entra en vigor en el momento en que alguien pulsa Guardar.El cambio es un pull request. El plan muestra qué atributo pasa de qué valor a cuál antes de que nada toque el tenant.
Quién aprobó, y por quéEl registro de auditoría identifica la cuenta que guardó la política. El ticket y el motivo están en otro lugar, si es que están en alguno.El mensaje de commit, el pull request y la aprobación están junto al cambio. Revertir es un revert.
Test y producciónCada tenant se configura por separado haciendo clic, y los dos van divergiendo con el tiempo.Un solo módulo, aplicado a ambos tenants. Donde difieren, una variable lo indica.
Un cambio fuera del procesoLa documentación sigue describiendo el tenant tal como estaba antes.El siguiente plan lo recoge, incluidos los ajustes que tus archivos nunca mencionan. Lo adoptas o lo deshaces.
Un nuevo tenantCada política se vuelve a configurar haciendo clic, con el tenant antiguo abierto en la pestaña de al lado.Importa el tenant que tienes (la exportación del quickstart es un punto de partida) y aplica el mismo código al nuevo.
Cambios desde un pipelineAlguien inicia sesión en un navegador y realiza el cambio a mano.GitHub Actions y Azure DevOps inician sesión con OpenID Connect, sin ningún secreto almacenado.
Dónde vive la configuraciónEn el propio tenant.En tu propio repositorio Git, como HCL que ejecutan tanto Terraform como OpenTofu. El código fuente del provider es público bajo la Business Source License 1.1.
CUÁL ENCAJA

El código encaja en equipos que ya revisan los cambios en pull requests

Qué opción encaja mejor depende menos del tenant que del equipo: quién hace un cambio y dónde se revisa.

  • TerraProvider encaja cuando

    • Tu equipo ya escribe Terraform para Azure y lo revisa en pull requests.
    • Un cambio de acceso condicional necesita una segunda revisión antes de entrar en vigor.
    • Test y producción deben mantenerse alineados, y donde difieren tiene que quedar claro en el código.
    • Los cambios deben ejecutarse desde GitHub Actions o Azure DevOps, no desde el navegador de alguien.
  • Una consola de administración encaja mejor cuando

    • Nadie en el equipo escribe HCL ni tiene previsto hacerlo.
    • Los cambios los hacen personas desde un navegador, y el equipo quiere seguir así.
TENANT TEAMS AND MSPS

Un provider para tu propio tenant y para los tenants de tus clientes

Un equipo que gestiona su propio tenant pone test y producción bajo un mismo módulo. Un proveedor de servicios gestionados asigna a cada tenant de cliente su propio bloque de provider y llama al mismo módulo base para todos; las excepciones son variables que cualquier revisor puede leer.
  • Tu propio tenant: la Community Edition es gratuita para organizaciones de hasta 99 usuarios, y Enterprise añade soporte a partir de 100 usuarios.
  • Tenants de clientes: la Community Edition no los cubre, por lo que necesitan un plan propio. Contacta con ventas
main.tf
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}

Datos de ejemplo.

Visualiza tu propio tenant como un plan.

Solicita una prueba de Enterprise, o empieza con la Community Edition, gratuita para organizaciones de hasta 99 usuarios.