Cómo extender las capacidades de Veeam Backup for Office 365 por medio de RESTful

Proteger los datos de las organizaciones que usan Microsoft Office 365 sin importar su tamaño ha estado en el corazón de Veeam y, con el lanzamiento de la versión 5 de Veeam Backup of Office 365, afirmamos nuestro pilar de innovar que nos ha permitido ser pioneros en muchas capacidades novedosas. Y esta nueva versión no es la excepción con la liberación de Veeam Explorar for Teams, la inclusión de mejoras de escalabilidad y rendimiento, respaldos más rápidos en sitios de SharePoint Online, etc. Si quiere conocer todo el detalle de las nuevas capacidades de esta nueva versión, puede consultarlas en el documento “Novedades” del centro de documentación de Veeam.

En posteos anteriores revisamos por qué es importante el respaldo de Microsoft 365 y cómo desplegar sus componentes, ahora revisaremos cómo integrar todas las funcionalidades de respaldo y recuperación de Veeam Backup of Office 365 por medio de la API de RESTful, donde una de sus principales ventajas es permitir a los desarrolladores de nuestros clientes y socios de negocio la construcción de soluciones flexibles y consistentes

Configuración inicial

La primera tarea que se debe realizar es habilitar la interfaz de RESTful. Para ello debemos ingresar al menú principal y luego a opciones generales:

Una vez que se despliegue la ventana de opciones generales, se deben realizar dos configuraciones importantes. La primera de ella es en el tab de REST API: ahí debemos seleccionar la casilla de habilitar el servicio; podemos dejar que el tiempo de vida del token sea por 60 minutos, pero se puede ajustar según las necesidades de la implementacion que se vaya a realizar. El puerto de acceso al servicio está definido por el 4443 y, por último, se debe instalar el certificado que vamos a usar (este puede ser autofirmado o seleccionar alguno que se haya instalado con anterioridad).

La segunda opción por configurar es la habilitación de la autenticación por medio de las cuentas de la organización de Microsoft Office 365 en la consola. Esta opción es útil cuando se tiene un ambiente multiorganización y se desea que un usuario del mismo realice tareas de recuperación y no visualice las demás organizaciones configuradas en la consola de Veeam Backup for Office 365. Para ello, seleccionamos el tab de Authentication, habilitamos el check de permitir la autenticación de usuarios de la organización de Microsoft Office 365 y, por último, instalamos el certificado como en la opción anterior.

Primeros pasos con API RESTful para Veeam Backup for Office 365

Ahora que ya que tenemos habilitados los servicios, vamos a ingresar con el fin de realizar consultas sobre la API. Veeam Backup for Office 365 trae implementado por defecto el cliente de Swagger, que nos permitirá interactuar con la API de forma sencilla. Para esto nuevamente entramos al menú principal -> Console -> Swagger:

Inmediatamente se nos desplegará el navegador con el sitio https://IP-Servidor:4443/swagger/ui/index  el cual nos permitirá interactuar por las distintas versiones de la API; para este caso vamos a utilizar la última versión disponible, la v5:

El siguiente paso es la autenticación con el servicio y, para ello, podemos usar dos tipos de usuarios:

  1. Administrador de Consola de Veeam Backup for Office 365, el cual podrá realizar todas las acciones disponibles con la API como creación, actualización y eliminación de componentes de infraestructura, así como también tareas de respaldo y recuperación.
  2. Usuario administrador de la Organización de Microsoft Office 365, quién podrá hacer tareas de recuperación de objetos solamente de la organización a la que pertenece y no podrá hacer llamados a la API de acciones sobre la infraestructura de la implementacion.

Una vez definido el tipo de usuario a utilizar, vayamos hasta el final de la página en busca de la opción Auth y seleccionamos la acción Post para acceder el token de autorización. Una vez ahí ingresamos el usuario y contraseña.  Para ejecutar la acción debemos hacer click en “Try it out!”.

Si la operación fue exitosa nos devolverá el código 200 y la respuesta en formato JSON con varios campos, por el momento nos interesan dos: el tiempo de vida del token según la configuración que hicimos inicialmente y el token en sí. Este, de forma automática, se deberá colocar en el campo “Api_key” que se encuentra al inicio de la página con el siguiente orden: palabra Bearer y luego el token. Posteriormente hacemos click el boton de “Explore” para usar cada una de las opciones de la API con la autenticación aprobada.

Ejemplos de integración

Con las capacidades de RESTful habilitadas y en funcionamiento, podemos dar inicio con la realización de diferentes implementaciones. Una de las más interesantes que ha trabajo la comunidad es el portal de auto-servicio. Este portal web nos sirve de ejemplo para probar las llamadas a la API y cómo podemos interactuar con ellas. El código fuente se puede descargar desde el siguiente repositorio en GitHub.

A continuación veremos como desplegar este portal fácilmente sobre una VM Windows para explorar todas las opciones de integración que podemos implementar.

Lo primero que debemos hacer es descargar el cliente Microsoft Web Plaform  desde el siguiente enlace. Este nos ayudará a instalar todos los componentes necesarios para el funcionamiento del portal con IIS + PHP. Una vez instalada la extensión, lanzamos el programa para la instalación de los componentes de PHP y URL Write según las imágenes a continuación:

Procedemos a a la descarga del código del portal desde el enlace de GitHub relacionado anteriormente:

Todo el contenido del Zip descargado lo colocamos en la carpeta C:\inetpub\wwwroot\ y renombramos o eliminamos los archivos que se encontraban en ella, tal como se muestra la imagen a continuación.

Estamos por terminar. Ahora instalamos Composer, que nos ayudará con todas las dependecias de PHP que usa el portal. La descarga la podemos hacer desde el siguiente enlace. Procedemos luego a instalar el componente y, posteriormente, vamos a la línea de comandos (podemos usar PowerShell) y ejecutamos el siguiente comando para que Composer haga la configuracion de los dependecias finales.

composer install -d C:\inetpub\wwwroot

Por último, ingresaremos a la página de configuración del portal de autoservicio con la siguiente dirección: http://localhost/setup.php donde, en el primer campo, vamos a ingresar el servidor donde está la consola de Veeam Backup for Office 365 que, para este caso, es la misma máquina. El siguiente campo es el puerto del servicio web de RESTful configurado anteriormente, seguimos con el nombre que va a tener el portal, la version de la API a usar y, finalmente, si vamos a permitir hacer login con usuarios administradores de la consola o solamente usuarios de la organización de Microsoft Office 365; en este caso vamos a permitir los dos perfiles.

Despues de salvar,  debemos borrar  el archivo setup.php del sitio C:\inetpub\wwwroot para continuar con el ingreso al portal.

Se ingresa al portal con cualquiera de los tipos de usario que señalamos y podemos empezar a explorar las diferentes opciones, como por ejemplo restringir la recuperación a una sola aplicación con Exchange Online o incluso permitir solo la recuperación a la locación original. El código está totalmente disponible con licencia MIT, lo que permite que se puedan hacer los cambios que sean necesarios.

Otro gran ejemplo de cómo extender las capacidades de Veeam Backup for Office 365 por medio de RESTful es la capacidad de generar notificaciones cuando se realice cualquier tipo de recuperación dentro del ambiente. Puede ver la forma de hacer esta configuración desde nuestro sitio de comunidades.

Para concluir, a continuación encontrará el enlace con la guía de referencia de la implemetación de RESTful, donde podrá consultar todas la opciones disponibles.

Stay up to date on the latest tips and news
Al enviar el formulario usted acepta que sus datos personales serán tratados de acuerdo a los términos de la Política de privacidad de Veeam.
You're all set!
Watch your inbox for our weekly blog updates.
Aceptar