Administración de la configuración de inquilino de Microsoft 365 mediante Microsoft365DSC y Azure DevOps

Azure DevOps
Azure Key Vault
Máquinas virtuales Windows en Azure
Microsoft 365

La solución que se describe aquí realiza un seguimiento de los cambios realizados por los administradores de servicios y agrega un proceso de aprobación a las implementaciones de inquilinos de Microsoft 365. Puede ayudarle a evitar cambios sin seguimiento en los inquilinos de Microsoft 365. También ayuda a evitar el desfase de configuración entre varios inquilinos de Microsoft 365.

Architecture

Diagrama que muestra la arquitectura para automatizar los cambios en las configuraciones del inquilino de Microsoft 365.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  1. El administrador 1 agrega, actualiza o elimina una entrada en la bifurcación del administrador 1 del archivo de configuración de Microsoft 365.
  2. El administrador 1 confirma y sincroniza los cambios en el repositorio bifurcado del administrador 1.
  3. El administrador 1 crea una solicitud de incorporación de cambios (PR) para combinar los cambios en el repositorio principal.
  4. La canalización de compilación se ejecuta en la PR.
  5. Los administradores revisan el código y combinan la PR.
  6. La PR combinada desencadena una canalización para compilar archivos Managed Object Format (MOF). La canalización llama a Azure Key Vault para recuperar las credenciales que se usan en los MOF.
  7. Una tarea de Azure PowerShell en una canalización de varias etapas usa los archivos MOF compilados, para implementar cambios de configuración a través de Microsoft365DSC.
  8. Los administradores validan los cambios en un inquilino de ensayo de Microsoft 365.
  9. Los administradores obtienen la notificación del proceso de aprobación en Azure DevOps para el inquilino de producción de Microsoft 365. Los administradores aprueban o rechazan los cambios.

Componentes

  • Azure Pipelines combina la integración continua (CI) y la entrega continua (CD) para probar y compilar el código y enviarlo a cualquier destino.
  • Azure Key Vault mejora la seguridad del almacenamiento de tokens, contraseñas, certificados, claves de API y otros secretos. También proporciona acceso estrechamente controlado a estos secretos.
  • Microsoft365DSC proporciona automatización para la implementación, configuración y supervisión de inquilinos de Microsoft 365 a través de DSC de PowerShell.
  • Windows PowerShell DSC es una plataforma de administración en PowerShell. Puede usarlo para administrar la infraestructura de desarrollo mediante un modelo de configuración como código.

Alternativas

Como paso siguiente, puede usar DSC en Azure Automation para almacenar configuraciones en una ubicación central y agregar informes de cumplimiento con el estado deseado.

Esta arquitectura usa Key Vault para almacenar certificados de Azure App Service o credenciales de usuario, que se usan para la autenticación del inquilino de Microsoft 365. Key Vault proporciona escalabilidad. Como alternativa, puede usar variables de canalización para reducir la complejidad de la solución.

Detalles del escenario

Muchas empresas están adoptando prácticas de DevOps y quieren aplicar estas prácticas a sus inquilinos de Microsoft 365. Si no adopta DevOps para Microsoft 365, puede encontrar algunos problemas comunes:

  • Error de configuración
  • Desafíos con el seguimiento de los cambios de configuración
  • Falta de proceso de aprobación para modificaciones de inquilinos

Puede usar la solución descrita en este artículo para automatizar los cambios en las configuraciones de inquilino de Microsoft 365 mediante Azure DevOps y Microsoft365DSC. Microsoft365DSC es un módulo Desired State Configuration (DSC) de PowerShell. Puede usarlo para configurar y administrar inquilinos de Microsoft 365 en un estilo DevOps real: configuración como código.

Posibles casos de uso

Esta solución puede ayudarle a administrar la configuración de inquilinos de Microsoft 365 de forma controlada y automatizada, mediante herramientas y procedimientos de DevOps, a través de:

  • Entornos de desarrollo, prueba, aceptación y producción.
  • Varios inquilinos de cliente, como en un escenario de proveedor de servicios administrados.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

La mayoría de las personas que empiezan con DSC de PowerShell descubren que se tarda un tiempo en aprender a usarlo. Tendrá más facilidad para manejarlo si tiene un conocimiento sólido de PowerShell y experiencia con la creación de scripts.

Operations

Algunos equipos de operaciones consideran Azure DevOps una herramienta para desarrolladores. Pero estos equipos pueden beneficiarse del uso de Azure DevOps. Los equipos de operaciones pueden:

  • Almacenar sus scripts en un repositorio y agregar control de código fuente y control de versiones.
  • Automatizar las implementaciones de scripts.
  • Usar paneles para realizar un seguimiento de tareas, proyectos y mucho más.

El uso de un modelo de configuración como código no es una tarea única. Es un cambio en su forma de trabajar y un cambio fundamental para todos los miembros del equipo. Ya no realiza cambios manualmente. En su lugar, todo se implementa en scripts, automáticamente. Todos los miembros del equipo deben tener las aptitudes necesarias para realizar este cambio.

Escalabilidad

Puede usar esta solución cuando trabaje con varios entornos, varias cargas de trabajo o varios equipos. Puede configurar el proceso de validación para que los expertos necesiten aprobar cada carga de trabajo. También puede ampliar la solución para implementarla en varios inquilinos, para un escenario de desarrollo, pruebas, aceptación o producción o para varias organizaciones.

Para aumentar aún más la escalabilidad, puede usar una solución de datos de configuración agregada como Datum.

Seguridad

La mayoría de los recursos de Microsoft365DSC admiten la autenticación a través del nombre de usuario y la contraseña. Pero no se recomienda ese tipo de autenticación, ya que los procedimientos recomendados de Microsoft recomiendan la autenticación multifactor. Las credenciales de la aplicación son el método preferido, allá donde sean compatibles con los recursos de Microsoft 365. Por ejemplo, SharePoint Online, Microsoft Entra ID y otros recursos admiten credenciales de aplicación.

Si compila una solución Microsoft365DSC en Azure DevOps, también puede aprovechar la seguridad de Azure Pipelines y un proceso de aprobación para proteger la implementación en el inquilino de producción.

DevOps

Puede ejecutar esta solución en Azure DevOps Server. Puede crear una solución similar en GitHub mediante Acciones de GitHub.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Para más información sobre los precios de Azure DevOps, consulte Precios de Azure DevOps. Si incorpora Key Vault a la solución, puede encontrar información de precios aquí.

Puede usar la calculadora de precios de Azure para hacer una estimación de los costes.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Pasos siguientes