Integrar recursos de Azure como Logic Apps, Function Apps o máquinas virtuales con SharePoint Online requiere un control de acceso seguro y granular. En lugar de gestionar credenciales manualmente, la identidad administrada es la recomendada para autenticar de forma segura ante Microsoft Graph y acceder a recursos de SharePoint con el principio de mínimo privilegio.
En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud, ayudamos a diseñar e implementar estas integraciones de forma segura y escalable. Si buscas soporte en la nube puedes consultar nuestros servicios cloud en Servicios cloud AWS y Azure y para soluciones de inteligencia artificial visita nuestra página de IA para empresas. Además trabajamos con aplicaciones a medida, software a medida, agentes IA, servicios inteligencia de negocio y Power BI.
Resumen de pasos:
Paso 1 - Habilitar identidad administrada o registrar una app
Para el recurso de Azure (por ejemplo Logic App) en el portal de Azure ir al recurso y en Identity activar System-assigned Managed Identity. Apuntar Object ID y Client ID. Si se necesita una identidad reutilizable o multi-tenant, optar por un App Registration en Microsoft Entra ID.
Paso 2 - Conceder permiso Sites.Selected en Microsoft Entra ID
En Microsoft Entra ID ir a App registrations, seleccionar la identidad administrada o el app registration, en API permissions añadir Microsoft Graph en Application permissions el permiso Sites.Selected y hacer Grant admin consent. Sites.Selected garantiza acceso con mínimo privilegio, pero requiere consentimiento a nivel de sitio en SharePoint.
Paso 3 - Asignar permiso a nivel de sitio en SharePoint Online
SharePoint Online requiere consentimiento a nivel de sitio para apps con Sites.Selected. Debes ser administrador de SharePoint y disponer de Sites.FullControl.All para ejecutar el siguiente ejemplo en PowerShell. El ejemplo usa Microsoft Graph PowerShell SDK y muestra los valores a sustituir por tus identificadores.
Ejemplo PowerShell (sustituir valores entre llaves):
$application = @{ id = {ApplicationID} ; displayName = {DisplayName} } ; $appRole = write ; $spoTenant = contoso.sharepoint.com ; $spoSite = {Sitename} ; $spoSiteId = $spoTenant + :/sites/ + $spoSite + : ; Import-Module Microsoft.Graph.Sites ; Connect-MgGraph -Scope Sites.FullControl.All ; New-MgSitePermission -SiteId $spoSiteId -Roles $appRole -GrantedToIdentities @{ Application = $application }
Una vez completados estos pasos, tu recurso de Azure podrá llamar a las APIs de Microsoft Graph para interactuar con ese sitio concreto de SharePoint, por ejemplo listar archivos o subir documentos. Esta arquitectura evita secretos y credenciales de usuario, es auditable y escalable y se alinea con buenas prácticas de seguridad y cumplimiento.
En Q2BSTUDIO ofrecemos servicios integrales para implementar estas soluciones, incluyendo desarrollo de aplicaciones a medida, integración con servicios cloud, ciberseguridad y soluciones de inteligencia de negocio y Power BI para maximizar el valor de tus datos. Contacta con nosotros para diseñar una implementación segura y adaptada a tu organización.