Compartir a través de


Autenticación y autorización de SharePoint Embedded

Para usar SharePoint Embedded, la aplicación debe usar Microsoft Graph. Obtenga más información sobre la autenticación y autorización de Microsoft Graph. Obtenga más información sobre la arquitectura de SharePoint Embedded.

Información general

Estos son algunos principios clave de la autenticación y autorización de SharePoint Embedded:

  • 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 usan el acceso en nombre de los usuarios siempre que sea posible para mejorar la seguridad y la responsabilidad

Requisitos previos

  • Un registro de aplicación de identificador de Microsoft Entra. Consulte Registro de una aplicación.
  • El inquilino de Microsoft Entra id. tiene una suscripción a Microsoft 365

Autorización

Las operaciones de SharePoint Embedded se exponen a través de Microsoft Graph. SharePoint Embedded admite el acceso en nombre de un usuario y también el acceso sin un usuario.

Importante

Los permisos de Microsoft Graph concedidos a la aplicación le permiten llamar a puntos de conexión de SharePoint Embedded. Sin embargo, se debe conceder a la aplicación permiso para un tipo de contenedor antes de obtener acceso a los contenedores de ese tipo.

Acceso en nombre de un usuario

Las operaciones de SharePoint Embedded en nombre de un usuario requieren que las aplicaciones reciban consentimiento para el permiso delegado de Microsoft Graph FileStorageContainer.Selected . Este permiso requiere el consentimiento del administrador en el inquilino que consume antes de que cualquier usuario del inquilino pueda dar su consentimiento.

Además de que la aplicación recibe consentimiento para FileStorageContainer.Selected en un inquilino que consume, el usuario del que actúa en nombre de debe tener permisos de contenedor. Los permisos efectivos que tiene la aplicación son la intersección de los permisos de aplicación y los permisos de usuario al actuar en nombre de un usuario.

Importante

El uso de SharePoint Embedded en nombre de un usuario es el enfoque recomendado. Este tipo de acceso mejora la seguridad de la aplicación. También mejora la auditabilidad de las acciones realizadas por la aplicación.

Acceso sin un usuario

Las operaciones de SharePoint Embedded sin un usuario requieren que las aplicaciones reciban consentimiento para el permiso de aplicación de Microsoft Graph FileStorageContainer.Selected . Este permiso requiere el consentimiento del administrador en el inquilino que consume.

Nota:

Un administrador del inquilino que consume debe dar su consentimiento a la solicitud de permisos de la aplicación. Obtenga más información aquí.

Patrones de acceso excepcionales

Actualmente, hay dos tipos de operaciones con patrones de acceso excepcionales:

Importante

Tenga en cuenta las repercusiones de estos patrones de acceso excepcionales sobre cómo la aplicación y otras aplicaciones pueden acceder al contenido de SharePoint Embedded en el tipo de contenedor.

Operaciones no expuestas a través de Microsoft Graph

Actualmente, hay dos tipos de operaciones a las que no se puede acceder a través de Microsoft Graph:

Para realizar operaciones de administración de tipos de contenedor , debe ser administrador de SharePoint Embedded o administrador global.

Para registrar un tipo de contenedor, debe solicitar el Container.Selected permiso en el Office 365 SharePoint Online recurso.

Nombre de ámbito Identificador de ámbito Tipo Operación
Container.Selected 19766c1b-905b-43af-8756-06526ab42875 Aplicación En el contexto de SharePoint Embedded, habilita el registro de tipos de contenedor en un inquilino que consume.

Nota:

La administración de tipos de contenedor en inquilinos propietarios y el registro en inquilinos de consumo se convertirán pronto en operaciones de Microsoft Graph y este permiso ya no será necesario. Manténgase atento.

Para usar la experiencia del agente de SharePoint Embedded (en la fase de vista previa) en la aplicación, también necesita el Container.Selected permiso en el Office 365 SharePoint Online recurso.

Operaciones relacionadas con la búsqueda de contenido incrustado de SharePoint

Esta sección hace referencia solo a los escenarios de búsqueda en Contenido de búsqueda y no a los escenarios de enumeración.

Para usar el contenido de Microsoft Search en SharePoint Embedded, debe solicitar el permiso Delegado Files.Read.All de FileStorageContainer.SelectedMicrosoft Graph sobre , que se usa normalmente para el acceso de SharePoint Embedded. Durante la fase de vista previa de esta característica, el permiso de aplicación Files.Read.All concede a las aplicaciones acceso a las funcionalidades de búsqueda en todo el contenido de SharePoint Embedded.

Nota:

La compatibilidad con Microsoft Search para el contenido de SharePoint Embedded está en versión preliminar y está sujeta a cambios. Los requisitos de acceso para el contenido de Microsoft Search en SharePoint Embedded se alinearán con el modelo de autorización de SharePoint Embedded en el futuro. Manténgase atento.

Operaciones que requieren una licencia de usuario

SharePoint Embedded está diseñado para funcionar sin necesidad de que los usuarios finales tengan asignadas licencias de productos de Microsoft 365. Sin embargo, hay ciertas operaciones que aún no cumplen este principio.

Enumerar contenedores

La operación De lista de contenedores devuelve un 403 Forbidden código de respuesta si se llama en nombre de un usuario que no tiene OneDrive. Hay planes para quitar esta dependencia pronto. Esta dependencia no se aplica a la operación De lista de contenedores cuando se llama sin un contexto de usuario (modo de solo aplicación).

Mención de usuarios en documentos de Office

La experiencia común de Office incluye revisar documentos y agregar comentarios a esos documentos. Para que los usuarios aparezcan en el @mentions selector de personas, deben tener una licencia de Microsoft 365 asignada.

Permisos de aplicación de tipo contenedor

La aplicación propietaria debe conceder permisos de aplicación de tipo contenedor a las aplicaciones de SharePoint Embedded para que puedan acceder a contenedores del tipo de contenedor especificado. Los permisos de aplicación de tipo contenedor se conceden a las aplicaciones a través del registro de tipos de contenedor.

Permiso Descripción
Ninguno No tiene permisos para ningún contenedor o contenido de este tipo de contenedor.
ReadContent Puede leer el contenido de los contenedores de este tipo de contenedor.
WriteContent Puede escribir contenido en contenedores para este tipo de contenedor. Esto no se puede conceder sin el permiso ReadContent.
Crear Puede crear contenedores de este tipo de contenedor.
Eliminar Puede eliminar contenedores de este tipo de contenedor.
Lectura Puede leer los metadatos de los contenedores de este tipo de contenedor.
Escritura Puede actualizar los metadatos de los contenedores de este tipo de contenedor.
EnumeratePermissions Puede enumerar los miembros de un contenedor y sus roles para contenedores de este tipo de contenedor.
AddPermissions Puede agregar miembros al contenedor para contenedores de este tipo de contenedor.
UpdatePermissions Puede actualizar (cambiar roles de) pertenencias existentes en el contenedor para contenedores de este tipo de contenedor.
DeletePermissions Puede eliminar otros miembros (pero no uno mismo) del contenedor para contenedores de este tipo de contenedor.
DeleteOwnPermissions Puede quitar la pertenencia propia del contenedor para contenedores de este tipo de contenedor.
ManagePermissions Puede agregar, quitar (incluido el autoservicio) o actualizar miembros en los roles de contenedor para contenedores de este tipo de contenedor.
ManageContent Puede administrar el contenido del contenedor.
Full Tiene todos los permisos para contenedores de este tipo de contenedor.

Nota:

La combinación de permisos de Microsoft Graph y permisos de aplicación de tipo contenedor abarca la autorización de cliente para las aplicaciones.

Permisos de contenedor

Cualquier usuario que acceda a un contenedor debe ser miembro del contenedor. La pertenencia a un contenedor concede a los usuarios permisos de contenedor. Estos permisos definen el nivel de acceso que los usuarios tienen en un contenedor determinado. Los permisos de contenedor solo se aplican al acceso en nombre de un usuario y no al acceso sin un usuario. En su lugar, una aplicación de SharePoint Embedded que accede a contenedores sin un usuario obtiene el acceso completo definido en sus permisos de aplicación de tipo contenedor .

Importante

Al usuario que llama creando un nuevo contenedor mediante llamadas delegadas se le asigna automáticamente el rol Propietario.

Permiso Descripción
Lector Este rol permite al usuario leer las propiedades y el contenido del contenedor.
Redactor Este rol tiene todos los permisos que tiene un lector, además del permiso para crear, actualizar y eliminar contenido dentro del contenedor, y para actualizar las propiedades de contenedor aplicables.
Administrador Este rol tiene todos los permisos que tiene un escritor, además del permiso para administrar la pertenencia al contenedor.
Owner Este rol tiene todos los permisos que tiene un administrador, además del permiso para eliminar contenedores.

¿Qué sigue?

Estas son algunas de las acciones que puede realizar a continuación:

  1. Configure el manifiesto de aplicación de SharePoint Embedded (puede usar Microsoft Entra PowerShell o la CLI de Azure) para solicitar los permisos necesarios:

    • Microsoft Graph (resourceAppId: 00000003-0000-0000-c000-000000000000)
      • FileStorageContainer.Selected (tipo: Scope, ID: 085ca537-6565-41c2-aca7-db852babc212) para acceder a contenedores en inquilinos de consumo
    • Office 365 SharePoint Online (resourceAppId: 00000003-0000-0ff1-ce00-000000000000)
      • Container.Selected (tipo: Role, ID: 19766c1b-905b-43af-8756-06526ab42875) para registrar un contenedor en inquilinos de consumo
  2. Conceda el consentimiento del administrador a la aplicación en inquilinos propietarios y consumidores (que pueden ser el mismo inquilino).

    Nota:

    El Container.Selected permiso de aplicación está oculto, lo que puede causar problemas con la concesión del consentimiento del administrador mediante el panel Aplicaciones empresariales del Azure Portal. En su lugar, cree la dirección URL de consentimiento del administrador y proporcionela al administrador de directorios de Microsoft Entra. Por ejemplo:

    https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&redirect_uri={redirect_uri}

    Asegúrese de que el administrador del directorio Microsoft Entra confirma una respuesta correcta.

  3. Cree un nuevo tipo de contenedor en el inquilino propietario.

  4. Registre un tipo de contenedor en el inquilino de consumo.

  5. Creación de un contenedor