Dar permiso de Files.ReadWrite.All a un grupo/equipo específico para una aplicación.
Contexto / Problema
Estoy implementando un demonio headless que necesita acceder a algunos recursos de Sharepoint (permiso Files.ReadWrite.All
) a través de la API de Microsoft Graph.
El desafío es darle a este demonio acceso solo a los recursos de un grupo/equipo específico.
Enfoque 1
La solución obvia es una autenticación de máquina a máquina utilizando el “flujo de credenciales de cliente” como se describe aquí.
El problema es que no veo una forma de limitar el permiso Files.ReadWrite.All
a un grupo o equipo específico, lo cual es un problema de seguridad en nuestro caso.
Enfoque 2
El otro enfoque que consideré es crear un usuario separado para mi demonio, que sea miembro solo del grupo al que mi demonio necesita acceder.
Pero iniciar sesión utilizando un usuario específico significa que me redirigen al formulario de inicio de sesión de Microsoft, lo cual obviamente no es adecuado para un demonio headless.
Pregunta
¿Cuál es la mejor manera de resolver esto? ¿Hay algo que haya pasado por alto en mis enfoques anteriores? ¿O hay un enfoque mejor?
davy.ai
Una solución a este problema es utilizar roles de aplicaciones de Azure AD. Estos roles pueden asignarse a usuarios o grupos específicos, y pueden utilizarse para limitar el acceso a funcionalidades específicas dentro de una aplicación, como el permiso “Files.ReadWrite.All” en la API de Microsoft Graph.
Para implementar esta solución, necesitarías: