Microsoft Teams Tip: impedir el acceso anónimo a las llamadas

Aunque la experiencia más rica en Microsoft Teams se obtiene utilizando identidad Microsoft 365, es decir, Azure Active Directory, la plataforma permite programar reuniones a las que pueden acceder de forma anónima. Esto es muy útil con servicios como Bookings, que permite agendar servicios desde el exterior a través de una página publicada y acceder a la llamada según lo programado sin necesidad de depender de una identidad.

No obstante, en esta nueva normalidad y en el ambiente educativo no es para nada bueno tener esta configuración habilitada, puesto que se presta para mucho tipo de saboteos, a veces inocentes, pero generalmente peligrosos. Es por esto que les quiero mostrar cómo podemos impedirlo para toda la institución y así empezar a estrechar la brecha de peligros.

Requerimientos

1. Tener cuenta de Global Admin o Teams Administrator en la organización

Inhabilitar acceso anónimo

Para poder cambiar la configuración de acceso anónimo, realizamos los siguientes pasos:

1. Navegar hasta https://admin.teams.microsoft.com/ e iniciamos sesión con una cuenta con privilegios

2. En el panel izquierdo, expandimos Meetings y clic en Meeting Settings:

image

3. En la página de Meeting Seetings, debajo de Participants, cambiamos de On a Off la opción de Anonymous users can join a meeting:

image

4. En la parte inferior de Meeting Seetings, clic en el botón Save:

image

5. Esperamos de 3 a 24 horas a que el cambio surta efecto

Una vez se actualice la configuración, todas las personas que deseen entrar a una reunión programada en el tenant de la organización deberá tener una identidad, es decir, correo asociado a Teams.

Teams Governance: creación y configuración de directiva de nombramiento

Con el objetivo de aprender y compartir un poco más sobre Microsoft Teams, trataré de crear una serie de artículos alrededor de gobernanza, seguridad y cumplimiento. Hay que tener en cuenta que esto aplicará para todos los workloads de Microsoft 365 (SharePoint, Exchange, Teams, etc.), así que conviene analizar bien si hace parte de una necesidad empresarial y, por supuesto, se cumplen con los requerimientos a nivel de licenciamiento.

No sé hasta dónde me dé, pero iniciaré primero con lo que es Teams Governance. Para este artículo en cuestión, vamos a hablar sobre Naming Policy.

Requerimientos

Para habilitar este tipo de directivas es necesario tener Azure Active Directory Premium P1.

¿Qué es Naming Policy?

En pocas palabras, crear una directiva de nombramiento (Naming Policy) nos permitirá forzar una convención específica de nombres para todos los grupos de Microsoft 365 nuevos o que se editen. Estas reglas se aplicarán tanto para el nombre del grupo como para el alias.

En este orden de ideas, los nombres siempre van a tener un estándar establecido por la organización, que se reflejará en Microsoft Teams y en otros servicios como grupos de SharePoint, etc.

La estructura general es: Prefijo(s) [NombreGrupo] Sufijo(s).

Prefijo

El prefijo, es decir, lo que hay antes del nombre del grupo, puede ser algo fijo o basado en una serie de atributos del de Azure Active Directory que está creando el grupo. Puede haber más de un prefijo, así que podría existir una combinación entre algo fijo y algo basado en atributo, por ejemplo:

GRP [Department]

Donde «GRP» es el prefijo que es fijo y [Department] es el atributo traído de Azure AD.

Los atributos soportados son:

  • [Department]
  • [Company]
  • [Office]
  • [StateOrProvince]
  • [CountryOrRegion]

Cuando el atributo que se utiliza no está en el objeto de Azure AD, simplemente quedará en blanco esa parte en el nombre.

[NombreGrupo]

Lo que va en el medio siempre será el nombre que el usuario decide ponerle al equipo de Microsoft Teams, así que esto no tiene restricción de forma predeterminada. Sin embargo, también se pueden habilitar palabras prohibidas en la organización para que los nombres no las puedan utilizar, pero eso queda para otro artículo.

Sufijo

El sufijo, es decir, lo que hay después del nombre, puede también ser una cadena fija o puede utilizar alguno de los atributos soportados (iguales a los del prefijo). Puede haber más de un sufijo, así que es posible combinar entre algo fijo y algo variable.

Ejemplo: [CountryOrRegion]

Si el equipo se va a llamar Programming 101, todo quedaría así:

GRP [Department] Programming 101 [CountryOrRegion]

Hay que tener en cuenta que todo no puede superar los 53 caracteres.

No es necesario habilitar prefijo y sufijo, puede ser solo uno de los dos. Por ejemplo, podría quedar solamente: GRP [Department] Programming 101 como nombre de equipo. Aquí yo habilitaré los dos para ilustrar, pero personalmente creo que entre más simple mejor.

Configuración de Naming Policy

Para configurar Naming Policy:

1. Navegamos hasta https://portal.azure.com/ e iniciamos sesión con un usuario que esté dentro del grupo de Group Administrator o Global Admin

2. Abrimos Azure Active Directory

3. Debajo de la categoría de Manage, en el panel izquierdo, clic en Groups:

image

4. En la página de Groups, debajo de Settings, panel izquierdo, hacemos clic en Naming Policy y luego, en el panel central, clic en la pestaña de Group naming policy:

image

5. En la página de Group naming policy,  tendremos las categorías de Add prefix y Add suffix. En cada una podremos agregar lo que hayamos definido como directiva de nombramiento.

Vamos a tener dos opciones: Attribute y String. La primera es para escoger alguno de los atributos de Azure AD, y la segunda es para una cadena fija:

Para mi caso, agregué un String en Prefix para poner el GRP y un Attribute para poner Department. Como Suffix, puse también un Attribute para escoger CountryOrRegion:

image

Sobra aclarar que cada uno tendrá un formato diferente, según la directiva que escojan.

6. Clic en el botón Save de la parte superior para que todos los cambios queden guardados y se apliquen.

Prueba de funcionamiento

Basta con abrir Microsoft Teams, crear un equipo y podremos ver que nuestro nombre cambiará de acuerdo a la directiva:

image

El alias también se modificará:

image

Aunque no lo muestro aquí, lo mismo aplicará para grupos individuales de Microsoft 365, SharePoint, Planner, etc.

Como dato particular, estéticamente es importante jugar un poco con los espacios para que se vea bien, además de no exagerar con los prefijos o sufijos ya que, como lo mencioné antes, el límite es de 53 caracteres.

Espero sea de utilidad.

—Checho

Auditar la eliminación de un equipo en Microsoft Teams

En mi trabajo actual estoy casi todos los días viendo algo en los alrededores de Microsoft Teams y como ahora es una de las plataformas más utilizadas en educación, empiezan a surgir nuevas necesidades como el hecho de poder saber quién realizar ciertas operaciones en la organización, por ejemplo, borrar un equipo accidental o con intención.

Como, de hecho, no sabía la forma, decidí investigar un poco y escribirlo mientras lo aprendía para:

  1. Entender el proceso
    2. Documentarlo para que fuese más sencillo de compartir
    3. Generar un poco de contenido en el blog

Cabe decir que me estoy basando en algunos documentos sobre búsqueda en registro de eventos y activación.

Dependiendo de la licencia asignada al usuario, la actividad recolectada puede permanecer entre 90 días y 1 año.

Asignar el rol de Compliance Management en Exchange Online

Antes de poder activar el registro de eventos, a menos de que usemos el usuario que es administrador global, vamos a necesitar asignar el rol de Compliance Management (o el de Organization Management) a un usuario encargado de auditar. Es importante precisar que, en realidad, el único rol necesario es el de Audit Logs, pero ya está incluido en el grupo de Compliance Management (o de Organization Management).

Desde la consola de administración de Office 365 (admin.microsoft.com), utilizando un usuario con privilegios de Administrador global, hacemos clic en el botón de Exchange del panel izquierdo, debajo de Admin centers:

image

En el portal de Exchange admin center, clic en la página de permissions del panel izquierdo:

image

En el panel central, debajo de admin roles, doble clic en Compliance Management para editarlo:

image

En la ventana de Compliance Management, bajamos hasta Members y ahí hacemos clic en el botón del más (+) para agregar un nuevo miembro:

image

En la ventana de Select Members, buscamos el usuario al que le asignaremos el rol, lo seleccionamos, clic en el botón add –> y en OK:

image

Una vez agregado el miembro, hacemos clic en el botón de Save para cerrar:

image

Ya tenemos nuestro usuario listo para poder activar o desactivar la auditoría en la organización.

Activar los registros de auditoría

Iniciamos sesión con el usuario que tiene el rol de Compliance Management en el portal de Security & Compliance Center:

image

Expandimos el panel izquierdo de Search y clic en Audit log search:

image

En el panel central, debajo de Audit log search, hacemos clic en el botón de Turn on auditing para habilitar el registro:

image

En el mensaje adicional de Security & Compliance, clic en el botón Yes para aceptar los cambios:

image

image

Puede tardar unos minutos antes de que aparezca el segundo mensaje. Antes de eso, probablemente salga un mensaje de error diciendo que debe intentar más tarde.

Después de esto, la página de Audit log search nos indicará que debemos esperar algunas horas antes de que los resultados empiecen a retornar:

image

Caso de uso: auditar la eliminación de un equipo en Teams

Aunque hay una cantidad considerable de actividades recolectadas en Teams específicamente, voy a concentrarme en la que más suelen interesarse ahora en las universidades: eliminación de equipos.

Normalmente, para eliminar un equipo debemos hacer clic en los puntos suspensivos al lado derecho del nombre () y luego en Eliminar el equipo:

image

La segunda fase de esto es un mensaje en el que debemos indicar que somos conscientes de su eliminación:

image

Cuesta creer que alguien no se dé cuenta de lo que está haciendo luego de estos pasos, pero podría darse el caso en el que creen que están haciendo otra operación.

Auditando

Antes de iniciar la auditoría, debemos tener en cuenta que:

  1. Se demora 24 horas en estar completamente activa, aunque traerá registros de las primeras horas del siguiente día después de activarse

  2. La búsqueda debe de hacerse indicando el día siguiente a la activación pero, obviamente, antes de la fecha final

Para auditar la eliminación de equipos:

  1. Con la cuenta que tiene los privilegios de Audit logs, es decir, la que pertenece al grupo de Compliance Management u Organization Management, navegamos al sitio de Security & Compliance

  2. Hacemos clic en el botón de Search –> Audit log search:

image

  1. En Activities, buscamos Deleted team, luego escogemos la fecha inicial de búsqueda, después la fecha final y hacemos clic en el botón de Search:

image

  1. Podremos ver el detalle general de los usuarios que eliminaron equipos en Teams en ese rango de fechas:

image

Si hacemos clic en la actividad, podremos ver muchos más detalles sobre el usuario, fechas, organización, etc.:

image

Lo siguiente puede ser simplemente restaurar el equipo eliminado y proceder a determinar la razón interna con el usuario sobre el porqué se eliminó.

Espero sea de utilidad.

—Checho

Tip: restaurar un equipo eliminado de Microsoft Teams

En este momento que se están utilizando tan masivamente las soluciones de colaboración como Teams, es muy normal que mientras los usuarios se acostumbran, terminen borrando los equipos de forma accidental, si es que son propietarios. En mi día a día de trabajo lo veo mucho con profesores a los que se les asigna un curso. En este pequeño artículo explicaré cómo podemos restaurar fácilmente un equipo eliminado.

Aunque esta tarea la puede ejecutar sin problemas con administrador global de la organización, es recomendable que sea otro usuario de servicio al que se le asigne el rol de Groups admin:

image

Recuperación del equipo

Para realizar la recuperación:

  1. Iniciamos sesión en el portal de administración de Microsoft 365 (admin.microsoft.com) con la cuenta global o que pertenece al Groups admin

  2. En el panel izquierdo, hacemos clic en la categoría de Groups y después en Deleted groups:

image

  1. Seleccionamos el grupo dentro de los eliminados y hacemos clic en el botón de Restore group en la parte superior:

image

  1. Si todo sale bien, debemos recibir el mensaje de que se restauró satisfactoriamente:

image

Todos los componentes asociados al grupo (objetos de AD, grupos de Yammer, buzón, equipo en Teams, etc.) pueden tardar hasta 24 en restaurarse y aparecer. En mi caso, fue cuestión de 5 minutos, aunque, obviamente, hay que cerrar e iniciar sesión:

image

Espero sea de utilidad.

—Checho

Configuración automática de clases en Microsoft Teams con School Data Sync (SDS)

Ante la situación actual del Covid-19 a nivel mundial, las instituciones de educación aquí en Colombia (colegios, universidades, etc.) decidieron desde hace poco más de una semana enviar a todos los estudiantes, personal administrativo y profesores para las casas; sin embargo, aunque la medida fue, en mi opinión, oportuna, no hubo mucho tiempo para planear las clases virtuales, así que empezaron a trabajar casi sobre la marcha. Por supuesto, la primera preocupación fue el espacio en dónde tener y dar las clases, pero rápidamente muchos optaron por utilizar Microsoft Teams, ya que utilizan internamente tecnología Microsoft.

Recordemos que Microsoft Teams, cuando se utiliza en un tenant educativo, permite crear equipos especiales que tienen una configuración enfocada a clases, donde el profesor puede compartir una libreta de direcciones, hacer llamadas, crear asignaciones y exámenes fácilmente.

El problema de todo es que las instituciones pueden llegar a tener más de 2k de cursos y crear eso manualmente, incluso a través de PowerShell, sería engorroso y demorado.

School Data Sync (SDS)

Con School Data Sync (SDS), las instituciones pueden exportar toda la información referente a la entidad, estudiantes, profesores, materias y cursos e importarla a través de unos formatos en la plataforma para que se creen automáticamente todas las clases en Microsoft Teams, referenciando tanto a estudiantes como profesores:

image

Por detrás de esto, SDS está creando todos los grupos en Office 365, espacios en SharePoint, Exchange Online, configuración de Intune para Educación, etc.

Aunque la plataforma se puede llegar a tardar algunas horas en aprovisionar y es necesario tener extremo cuidado con los archivos que se suben, es bastante productiva, ya que deja listo cada curso para que el profesor empiece a modificar a su gusto.

Requerimientos

  1. Es necesario tener un tenant educativo
  2. Utilizar una cuenta con privilegios Global Admin

Métodos de despliegue

School Data Sync (SDS) cuenta con varias formas para aprovisionar las clases:

  • Archivos CSV con formato especial para SDS
  • Archivos CSV en formato Clever
  • Archivos CSV en formato OneRoster
  • API de PowerSchool
  • API de OneRoster

Para el resto del artículo nos enfocaremos en la primera opción, archivos CSV con el formato especial para School Data Sync (SDS).

Configuración de archivos CSV para SDS

En total, serán 6 archivos los que vamos a crear:

  1. school.csv
  2. section.csv
  3. student.csv
  4. studentenrollment.csv
  5. teacher.csv
  6. teacherroster.csv

A continuación, describiré el escenario que utilizaré y cómo encaja en la creación de cada uno de los archivos.

Escenario

Nombre de la institución:
Nala University

Identificador de la institución:
1901

Código inicial para estudiantes:
10100

Código inicial para profesores:
20100

Código inicial para materias:
30100

Importante:

Desde que sea numérico, no importa qué rango de identificación quieran asignar. De hecho, estos datos deberían salir de su respectivo sistema de información. La intención de este post es mantenerlo lo más simple posible para comprender el proceso, así que asigné unos que fueran fáciles para mi de referenciar.

Además de esto, es necesario saber que todos los atributos deben escribirse respetando mayúsculas y minúsculas.

school.csv

image

El primer atributo, SIS ID, hace referencia al número con el que identificaré mi institución (pueden ser varias en un mismo archivo); Name se refiere al nombre de la institución, es decir, Nala University en mi caso.

En el formato CSV, utilizando mi ejemplo, se vería así:

image

section.csv

El archivo de section.csv contiene todas las materias que se van a agregar y tiene como obligación tres atributos: SIS ID, School SIS ID y Section Name; no obstante, debemos agregar los mismos tres por cada materia. En el ejemplo, referencio tres materias.

SNAGHTML715ae7d

El primer atributo, SIS ID, no es el mismo identificador que tiene el archivo de school.csv. Aunque el nombre es igual, aquí debemos establecer el identificador pero de la materia que vayamos a agregar. El segundo atributo, School SIS ID, sí corresponde al SIS ID del archivo school.csv. En mi caso, por ejemplo, siempre será 1901, número escogido para referenciar a la universidad. El tercer atributo, Section Name, es el nombre de cada materia. Puede contener letras y números.

Siguiendo mi ejemplo, el archivo se vería así en el CSV:

image

student.csv

El archivo student.csv contiene el detalle por cada estudiante, de forma obligatoria: SIS ID, School SIS ID y Username.

SNAGHTML7127d4a

El primer atributo, SIS ID, no es el mismo identificador que tienen los archivos school.csv y section.csv, sino la referencia única a cada estudiante que existe en Office 365 (o que se va a crear). El segundo atributo, School SIS ID, sigue correspondiendo al SIS ID del archivo school.csv, es decir, al que identifica la institución: en mi caso, por ejemplo, 1901. El tercer atributo, Username, es el nombre de usuario tal cual aparece (o aparecerá) en Office 365.

En mi ejemplo, quedaría así en el CSV:

image

Noten que los números no deben ser necesariamente secuenciales, aunque es buena práctica.

studentenrollment.csv

El archivo studentenrollment.csv tiene toda la relación entre la materia que se está registrando en section.csv y los estudiantes en student.csv:

SNAGHTML73d310d

El primer atributo, Section SIS ID, como el nombre lo dice, corresponde al mismo identificador que está en section.csv y que referencia al curso/clase que se va a crear. En este ejemplo, 30100 es el identificador del curso de Colombia moderna. El segundo atributo, SIS ID, es el identificador único del estudiante que se creó en el student.csv.

El resto ya son repeticiones de estos mismos atributos obligatorios por cada materia y estudiantes asociados. Por ejemplo, los últimos 6 registros son de un mismo curso, pero registrando diferente estudiante.

En mi CSV de ejemplo, quedaría así:

image

teacher.csv

El archivo teacher.csv contiene toda la información única para cada profesor:

SNAGHTML7542f29

El primer atributo, SIS ID, no es ninguno de los identificadores de los archivos anteriores, sino el que será único para cada profesor que vamos a registrar. El segundo atributo, School SIS ID, hace referencia al identificador que se creó para la institución en el archivo school.csv. En este caso, por ejemplo, 1901. El tercer atributo, Username, es el nombre de usuario del profesor tal cual aparece en Office 365 (o que se va a crear).

En mi archivo CSV de ejemplo quedaría así:

image

teacherroster.csv

El archivo tearcherroster.csv contiene la relación entre los cursos registrados y los profesores que van a estar como propietarios de estos cursos:

SNAGHTML7670974

El primer atributo, Section SIS ID, hace referencia al SIS ID que tiene el archivo section.csv y que identifica a cada curso. En mi caso, por ejemplo, 30100 es la materia 2001 – Colombia moderna. El segundo atributo, SIS ID, es el mismo SIS ID que está para cada profesor en teacher.csv. En mi primer ejemplo, 20102, correspondería a HaderR. El resto son los mismos dos atributos obligatorios que debo repetir por cada profesor que vaya a registrar en los diferentes cursos.

Nota: todas las clases en Teams deben quedar asignadas a un profesor al menos.

En mi archivo CSV de ejemplo quedaría así:

image

Con esto culminamos la parte más difícil, ahora solo queda hacer la carga y sincronizar. Cabe aclarar que es recomendable revisar muy bien el formato de cada archivo, pues de esto depende el éxito en la creación y puede ser muy engorroso depurar después de que se sincronizan miles de cursos.

Creación y sincronización del perfil en SDS

Primero, abrimos el navegador, vamos a https://sds.microsoft.com/ e iniciamos sesión con nuestras credenciales de administrador global.

Una vez iniciados, vamos a la pestaña de Home y hacemos clic en Add profile:

image

En la página de Choose connection type, escribimos un nombre para nuestro perfil en el cuadro de texto debajo de Enter a name for your profile, escogemos Upload CSV files, luego CSV files: SDS Format y hacemos clic en Start:

image

En la página de Sync options, seleccionamos Existing users*, luego hacemos clic en el botón de Upload Files, debajo de Import data:

image

*En este artículo estamos trabajando sobre usuarios que ya existen; en un próximo artículo intentaré mostrar cómo es el proceso con usuarios nuevos.

En el cuadro de texto de Select data files to be uploaded, hacemos clic en el botón de Add Files

image

Seleccionamos únicamente los 6 archivos y los abrimos para que se carguen:

SNAGHTML9d8df62

Después de que los archivos queden agregados, hacemos clic en el botón Upload:

image

Si no hay fallos con alguno de los archivos, deben ver un cuadro de confirmación:

image

De regreso a la página de Sync options, escogemos la opción de Automatically replace unsupported special characters while syncing from source, debajo de Replace unsupported special characters. Esto es para que se cambien los caracteres no admitidos por SDS por otros soportados.

Después, debajo de When should we stop syncing this profile, escogemos la fecha en la que terminarían las clases para que SDS nos dé la opción de eliminar todas las clases asociadas.

Por último, hacemos clic en Next:

image

En el paso 2, Teacher options, debajo de Domain (optional), escogemos el dominio asociado a nuestros usuarios, dejamos las opciones de Username y userPrincipalName como están y hacemos clic en el botón Next:

image

En Student options, hacemos exactamente la misma configuración del dominio, dejamos las demás como están de forma predeterminada y clic en Next:

image

En la página de Review, revisamos todo lo que configuramos y hacemos clic en Create profile:

image

Finalmente, veremos el inicio de la sincronización de nuestro perfil:

image

De aquí en adelante, si queremos ver el progreso o los errores, debemos ir actualizando la página hasta que termine y quede todo aprovisionado:

image

image

En caso de error con alguno de los archivos, SDS va a notificar y a entregar un error descriptivo, aunque no siempre preciso:

image

Basta con depurar el archivo o hacer cambios en Office 365 y volver a subir los archivos haciendo clic en el botón de Upload Files. Sin embargo, si el error es de plataforma, habría que hacer los cambios y hacer clic en Reset Sync para que inicie nuevamente.

Al terminar la sincronización, SDS notificará para subir más actualizaciones o proceder a revisar los resultados:

image

Nota: si hay errores durante la sincronización, podría terminar en color amarillo. Es buena práctica subir los archivos de nuevo para que se haga y no se quede nada sin sincronizar.

Verificación de resultados

Desde el administrador de la plataforma

En el panel izquierdo de la plataforma de School Data Sync (SDS), hacemos clic en Groups:

SNAGHTMLa490865

Aquí vamos a ver la institución o sedes que hayamos creado, así como la pestaña de Sections (cursos) y de los grupos de seguridad:

image

Si hacemos clic sobre el nombre de la universidad, vamos a ver todos los datos que hayamos subido en los archivos y el acceso directo a estudiantes, profesores y cursos:

image

Al hacer clic en Sections, por ejemplo, SDS va a filtrar todos los cursos que estén asociados a ese SIS ID:

image

Si hacemos clic en cualquiera de las materias, vamos a ver los estudiantes asociados:

image

Hasta aquí todo bien. Lo siguiente es que cada profesor abra Teams, active sus clases y empiece a generar contenido.

Desde Microsoft Teams como profesor

Primero, por supuesto, el profesor debe de iniciar sesión en Microsoft Teams:

image

Una vez dentro de Teams, debe de ir al panel izquierdo en Teams/Equipos y buscar el que le fue asignado:

image

Dentro del equipo, en la parte superior, van a ver un botón que dice Activate/Activar. Hasta que el profesor o propietario del equipo no lo active, no será visible para los estudiantes dentro de Teams:

image

Cabe aclarar que el profesor puede modificar el equipo, pero hasta que no se active, no podrá hacer operaciones como agregar estudiantes dentro del equipo o de un canal privado:

image

Al activar el equipo, Teams notificará que no se puede devolver y dejará confirmar nuevamente:

image

image

¡Listo! ¡A dar clases! =)

Saludos,

—Checho