Planear la autenticación y los permisos

Se aplica a: Desarrollador

Use este artículo para planear la autenticación y autorización para una aplicación de SharePoint Embedded.

Las aplicaciones de SharePoint Embedded usan Microsoft Graph para acceder a contenedores y contenido.

Para obtener la referencia de autenticación completa, vea Autenticación y autorización de SharePoint Embedded.

Principios básicos

La autenticación y autorización de SharePoint Embedded siguen estos principios:

  • Las aplicaciones interactúan con SharePoint Embedded a través de Microsoft Graph.
  • Las aplicaciones necesitan permisos de aplicación de tipo contenedor para acceder a contenedores de ese tipo de contenedor.
  • Las aplicaciones solo pueden acceder a los contenedores de los que el usuario es miembro al usar el acceso en nombre de un usuario.
  • Las aplicaciones pueden acceder a todos los contenedores habilitados por sus permisos de aplicación de tipo contenedor al usar el acceso sin un usuario.
  • Las aplicaciones deben usar el acceso en nombre de los usuarios siempre que sea posible para mejorar la seguridad y la responsabilidad.

Requisitos previos

Planee lo siguiente:

  • Un registro de aplicación Microsoft Entra ID.
  • Una suscripción de Microsoft 365 en el inquilino de Microsoft Entra ID.
  • Permisos de Microsoft Graph para operaciones de SharePoint Embedded.
  • Permisos de aplicación de tipo contenedor concedidos mediante el registro de tipo de contenedor.
  • Administración consentimiento en el inquilino de consumo.

Capas de permisos

El acceso a SharePoint Embedded tiene varias capas.

Layer Objetivo
Permiso de Microsoft Graph Permite que la aplicación llame a puntos de conexión de SharePoint Embedded.
Permiso de aplicación de tipo contenedor Permite que la aplicación acceda a contenedores de un tipo de contenedor específico.
Permiso de contenedor Determina lo que un usuario puede hacer en un contenedor específico para el acceso delegado.

Importante

Los permisos de Microsoft Graph por sí solos no conceden acceso a los contenedores. También se debe conceder permiso a la aplicación a un tipo de contenedor.

Acceso delegado

El acceso delegado significa que la aplicación actúa en nombre de un usuario.

Las operaciones de SharePoint Embedded en nombre de un usuario requieren permiso delegado de Microsoft Graph FileStorageContainer.Selected .

Este permiso delegado no requiere el consentimiento del administrador en el inquilino de consumo.

El usuario también debe tener permisos de contenedor.

Los permisos efectivos de la aplicación son la intersección de:

  • Permisos de aplicación concedidos para el tipo de contenedor.
  • Permisos del usuario en el contenedor.

Use el acceso delegado siempre que sea posible.

El acceso delegado mejora la auditabilidad porque las acciones se pueden asociar al usuario.

Acceso solo a la aplicación

El acceso solo a la aplicación significa que la aplicación actúa sin un usuario.

Las operaciones de SharePoint Embedded sin un usuario requieren el permiso de aplicación de Microsoft Graph FileStorageContainer.Selected .

Este permiso requiere el consentimiento del administrador en el inquilino que consume.

Con el acceso solo a la aplicación, la aplicación puede acceder a todos los contenedores habilitados por sus permisos de aplicación de tipo contenedor.

Use el acceso solo a la aplicación para las operaciones en segundo plano que no se pueden realizar en nombre de un usuario.

Aplique privilegios mínimos al conceder permisos de aplicación de tipo contenedor.

Un administrador del inquilino que consume debe dar su consentimiento a la solicitud de permiso de la aplicación.

Administración consentimiento es necesario para el permiso de aplicaciónFileStorageContainer.Selected. FileStorageContainer.Selected Delegado no requiere consentimiento del administrador.

El registro de tipo de contenedor también requiere el consentimiento para que la aplicación propietaria actúe en el inquilino de consumo.

Para el registro de tipos de contenedor, consulte Registro de permisos de aplicación de tipo contenedor de almacenamiento de archivos.

Permisos de tipo de contenedor (Microsoft Graph)

La creación, administración y registro de tipos de contenedor son ahora operaciones de Microsoft Graph. Planee estos permisos:

Permiso Objetivo Tenant
FileStorageContainerType.Manage.All Cree y administre tipos de contenedor en el inquilino propietario. Poseer solo
FileStorageContainerTypeReg.Selected Registre el tipo de contenedor en inquilinos de consumo. Consumo
FileStorageContainer.Selected Acceso a contenedores del tipo de contenedor en inquilinos de consumo. Consumo

FileStorageContainerType.Manage.All es un permiso delegado y no requiere consentimiento del administrador. Cualquier usuario no invitado del inquilino propietario puede dar su consentimiento, usarlo para crear un tipo de contenedor y, a continuación, se asigna automáticamente como propietario de ese tipo de contenedor. (Antes de junio de 2026, esto requería el rol administrador de SharePoint Embedded o Administrador global).

Importante

FileStorageContainerType.Manage.All solo es necesario en el inquilino propietario para crear el tipo de contenedor. Quítelo del manifiesto de aplicación antes de distribuirlo a inquilinos de consumo para que no se pidan permisos excesivos a los clientes. En el consumo de inquilinos, los inquilinos solo FileStorageContainerTypeReg.Selected solicitan y FileStorageContainer.Selected.

Permisos de aplicación de tipo contenedor

La aplicación propietaria concede permisos de aplicación de tipo contenedor mediante el registro de tipos de contenedor.

Estos permisos definen lo que una aplicación puede hacer con contenedores del tipo de contenedor.

Los permisos de aplicación de tipo contenedor incluyen:

  • None
  • ReadContent
  • WriteContent
  • Create
  • Delete
  • Read
  • Write
  • EnumeratePermissions
  • AddPermissions
  • UpdatePermissions
  • DeletePermissions
  • DeleteOwnPermission
  • ManagePermissions
  • ManageContent
  • Full

Conceda solo los permisos que necesita la aplicación.

Por ejemplo, no conceda Full a una aplicación invitada en segundo plano si solo necesita acceso de lectura para la copia de seguridad o el análisis.

Permisos de contenedor

Los permisos de contenedor se aplican a los usuarios.

Solo se aplican al acceso en nombre de un usuario.

Cualquier usuario que acceda a un contenedor debe ser miembro del contenedor.

La pertenencia a contenedores concede permisos de usuario para ese contenedor.

SharePoint Embedded admite estos roles de contenedor:

Role Resumen
Lector Lee las propiedades y el contenido del contenedor.
Redactor Permisos de lector, además de crear, actualizar y eliminar contenido y actualizar las propiedades de contenedor aplicables.
Administrador Permisos de escritura además de administrar la pertenencia al contenedor.
Owner Permisos de administrador y eliminación de contenedores.

Cuando un usuario crea un nuevo contenedor a través de llamadas delegadas, a ese usuario se le asigna automáticamente el rol Propietario.

Propietarios de tipos de contenedor

Los propietarios de tipos de contenedor son distintos de los propietarios de contenedores. Rigen el propio tipo de contenedor, en el inquilino propietario .

  • Asignación automática: el usuario que crea un tipo de contenedor se asigna automáticamente como propietario.
  • Agregar o quitar propietarios: use la relación de tipo permissions de contenedor (DELETE /storage/fileStorage/containerTypes/{id}/permissionsPOST/beta) para administrar hasta tres propietarios por tipo de contenedor.
  • Funcionalidades: con FileStorageContainerType.Manage.All en modo delegado, los propietarios pueden crear, leer, actualizar y eliminar el tipo de contenedor que poseen, administrar sus propietarios y crear contenedores de ese tipo (solo llamadas delegadas).
  • Restricciones: las identidades externas (usuarios invitados) no pueden ser propietarios del tipo de contenedor. La información del propietario solo existe en el inquilino propietario y no se propaga a inquilinos de consumo durante el registro.
  • Acceso efectivo: las funcionalidades de propietario son permisos de usuario; el acceso efectivo es la intersección de los permisos de Graph de la aplicación y el rol de propietario.

Implicaciones del registro de tipos de contenedor

Para que la aplicación propietaria actúe en un inquilino consumidor:

  • La aplicación propietaria debe tener una entidad de servicio instalada en el inquilino de consumo.
  • A la aplicación propietaria se le debe conceder el consentimiento del administrador para realizar el registro de tipo contenedor.
  • Solo la aplicación propietaria del tipo de contenedor puede invocar la API de registro en el inquilino de consumo.

La API de registro especifica permisos para la aplicación propietaria y las aplicaciones invitadas.

La última llamada api de registro correcta determina la configuración usada en el inquilino de consumo.

Patrones de acceso excepcionales

Planee las operaciones que no siguen el patrón de autorización normal de Microsoft Graph.

Los patrones de acceso excepcionales incluyen:

  • Administración de tipos de contenedor en inquilinos propietarios a través de Microsoft Graph.
  • Registro de tipos de contenedor en inquilinos de consumo a través de Microsoft Graph (FileStorageContainerTypeReg.Selected).
  • Operaciones de contenedor administrativo que requieren FileStorageContainer.Manage.All y un administrador de SharePoint Embedded o un usuario global que ha iniciado sesión.
  • Escenarios de Búsqueda de Microsoft que requieren permisos adicionales durante la versión preliminar.
  • Operaciones que actualmente requieren una licencia de usuario.

Revísalos antes de diseñar características con privilegios o con mucha búsqueda.

Consideraciones acerca de la seguridad

  • Prefiere el acceso delegado para las operaciones controladas por el usuario.
  • Use el acceso solo a la aplicación solo cuando sea necesario para las operaciones de servicio.
  • Conceda al menos privilegios en el nivel de tipo de contenedor.
  • Conceda al menos privilegios en el nivel de pertenencia al contenedor.
  • Requerir el consentimiento del administrador en el inquilino correcto.
  • Trate el registro como parte de la incorporación de clientes.
  • Evite el acceso amplio a la aplicación invitada a menos que el escenario lo requiera.
  • Revise las implicaciones de auditoría y cumplimiento con los administradores de inquilinos.

Lista de comprobación de la planificación

  • Registre la aplicación Microsoft Entra ID.
  • Decida qué operaciones usan el acceso delegado.
  • Decida qué operaciones usan el acceso solo a la aplicación.
  • Solicitar permisos de Microsoft Graph FileStorageContainer.Selected .
  • Solicite Microsoft Graph FileStorageContainerType.Manage.All (inquilino propietario) y FileStorageContainerTypeReg.Selected (inquilinos de consumo) para la creación y el registro del tipo de contenedor.
  • Planifique el consentimiento del administrador en cada inquilino que consume.
  • Definir permisos de aplicación de tipo contenedor.
  • Definir roles de contenedor de usuario.
  • Identifique las aplicaciones invitadas y sus permisos.
  • Revise patrones de acceso excepcionales.

Pasos siguientes

Revisar las restricciones de escalado y rendimiento: comprenda los límites y los patrones de llamada.