El problema
Un tenant de Microsoft 365 se desvía cambio razonable a cambio razonable. Un Global Administrator dado para una migración sigue activo dos años después. Los ingenieros del proveedor tienen roles de administración permanentes sin fecha de fin. El cambio para permitir el reenvío automático se rechazó en el CAB y se hizo igualmente. El bloqueo de la autenticación heredada lleva en modo solo informe desde julio. Cuando la plataforma la opera un proveedor, el riesgo sigue siendo del equipo interno, que necesita una lista corta para la revisión mensual.
Qué he hecho
- Una revisión de una exportación de solo lectura del tenant en seis áreas: acceso privilegiado, cuentas de emergencia, lo básico de Acceso condicional, diez ajustes del tenant frente a una línea base, licencias y cambios de administración sensibles.
- Cada cambio de administración en roles, Acceso condicional, ajustes del tenant o del flujo de correo se cruza con un ticket de cambio por implementador y ventana: aprobado, de emergencia, rechazado, sin ticket o hecho con una cuenta de emergencia.
report.html,review.mdcon una sección para la revisión de servicio con el proveedor,actions.csv,privileged-access.csvpara la revisión trimestral de accesos,licence-reclaim.csvyadmin-changes.csv.
Cómo está hecho
Python solo con la librería estándar, y un exportador de solo lectura en PowerShell sobre Microsoft Graph y, si se quiere, Exchange Online. La demo es un comercio inventado con 395 cuentas, operado por un proveedor ficticio, con problemas puestos a propósito. 16 tests y un runbook para la revisión mensual.
Qué aprendí
De administrar Microsoft 365 como Global Administrator: PIM y acceso just-in-time, Acceso condicional, Exchange Online, Purview, migraciones de tenant a tenant y cambios por CAB con proveedores. El gobierno de un tenant no es un proyecto de bastionado puntual, es un hábito mensual, y el ticket de cambio es lo que mantiene alineados al proveedor y al equipo interno.
Siguientes pasos
- Ejecutar el exportador con una cuenta Global Reader en tu tenant y revisar en la primera ejecución los nombres de roles y el mapeo de Acceso condicional.
- Acordar la línea base con seguridad antes de la primera revisión.
- Pedir al proveedor que ponga la referencia del cambio en cada sesión de administración, para que el cruce con los cambios sea un trámite.
¿Quieres llevarlo a tu entorno o adaptarlo a tu caso? Escríbeme y lo vemos.
The problem
A Microsoft 365 tenant drifts one reasonable change at a time. A Global Administrator given for a migration is still always-on two years later. The provider's engineers hold permanent admin roles with no end date. The change to allow automatic forwarding was rejected at CAB and made anyway. The legacy authentication block has been in report-only since July. When the platform is operated by a provider, the internal team still owns the risk, and it needs a short list for the monthly review.
What I built
- A review of a read-only export of the tenant in six areas: privileged access, emergency accounts, the four Conditional Access basics, ten tenant settings against a baseline, licences, and sensitive admin changes.
- Each admin change on roles, Conditional Access, tenant or mail-flow settings is matched to a change ticket by implementer and window: approved, emergency, rejected, no ticket, or made with an emergency account.
report.html,review.mdwith a section for the service review with the provider,actions.csv,privileged-access.csvfor the quarterly access review,licence-reclaim.csvandadmin-changes.csv.
How it is built
Python with the standard library only, and a read-only PowerShell exporter on Microsoft Graph and, optionally, Exchange Online. The demo is a made-up retailer with 395 accounts, operated by a fictional provider, with problems placed on purpose. 16 tests and a runbook for the monthly review.
What I learned
From running Microsoft 365 as Global Administrator: PIM and just-in-time access, Conditional Access, Exchange Online, Purview, tenant-to-tenant migrations and changes through CAB with providers. Governance is not a one-off hardening project; it is a monthly habit, and the change ticket is what keeps the provider and the internal team on the same page.
Next steps
- Run the exporter with a Global Reader account against your tenant and check the role names and the Conditional Access mapping on the first run.
- Agree the baseline with security before the first review.
- Ask the provider to put the change reference in every admin session, so the change matching becomes a formality.
Want to bring it to your environment or adapt it to your case? Get in touch and we can look at it together.
Tech Career Lab · newsletter
¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.Found this useful? Every two weeks I send one practical idea for IT professionals: LinkedIn, projects, networking and hiring processes.
Apúntate y llévate las 33 ideasSign up and get the 33 ideas →