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 Microsoft Entra ID. 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.

Permisos de la aplicación

Las aplicaciones de SharePoint Embedded deben solicitar los siguientes permisos de Microsoft Graph en su manifiesto de aplicación para trabajar con SharePoint Embedded:

  • FileStorageContainerType.Manage.All para permitir que una aplicación cree y administre tipos de contenedor en el inquilino propietario. Este permiso solo es necesario en el inquilino propietario donde se crea el tipo de contenedor.
  • FileStorageContainerTypeReg.Selected para permitir que una aplicación registre el tipo de contenedor en inquilinos de consumo.
  • FileStorageContainer.Selected para permitir que una aplicación acceda a contenedores del tipo de contenedor determinado en inquilinos de consumo.

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 FileStorageContainer.Selected de Microsoft Graph.

Además de que la aplicación recibe consentimiento para FileStorageContainer.Selected en un inquilino consumidor, el usuario del que actúa en nombre de debe tener permisos de usuario. 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 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. Para más información, consulte Concesión del consentimiento del administrador.

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 en un inquilino de consumo.

Permiso Descripción
Ninguna 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.
Delete Puede eliminar contenedores de este tipo de contenedor.
Read Puede leer los metadatos de los contenedores de este tipo de contenedor.
Write 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.
DeleteOwnPermission 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 (WriteContent y descartar el permiso de desprotección en el modo de solo aplicación).
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 usuario

A los usuarios se les conceden diferentes niveles de acceso a SharePoint Embedded en función del escenario:

Acceso al contenido en contenedores

Hay dos maneras en las que los usuarios pueden obtener acceso al contenido de los contenedores:

Permisos de contenedor

A los usuarios se les pueden asignar permisos de contenedor de dos maneras:

  • Pertenencia directa. Un usuario se agrega directamente como miembro de un contenedor con permisos específicos.
  • Pertenencia transitiva. Un usuario es miembro de un grupo de Microsoft 365 que es miembro de un contenedor con permisos específicos.

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.
Manager 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 y restaurar contenedores eliminados.
Acceso a elementos específicos de un contenedor

Los elementos específicos de un contenedor se pueden compartir con los usuarios a través de la invitación driveItem o los puntos de conexión de creación de permisos . El uso compartido concede a los usuarios acceso a los elementos específicos, pero no les concede acceso al propio contenedor ni a ningún otro elemento del contenedor. Para obtener información sobre los niveles de acceso admitidos, consulte roles de permiso.

Nota:

Para obtener más información sobre el uso compartido, vea Uso compartido y permisos en SharePoint Embedded.

Administración de aplicaciones de SharePoint Embedded instaladas en el inquilino de consumo

Los administradores de SharePoint Embedded pueden administrar todas las aplicaciones de SharePoint Embedded instaladas en el inquilino de consumo . Para obtener más información sobre la administración de aplicaciones instaladas en el inquilino de consumo, consulte Administración de aplicaciones de SharePoint Embedded instaladas en el inquilino de consumo.

Nota:

Los administradores globales tienen todos los permisos que tienen los administradores de SharePoint Embedded y mucho más, por lo que también pueden administrar las aplicaciones de SharePoint Embedded instaladas en el inquilino de consumo. Sin embargo, debe asignar el rol con privilegios mínimos necesario para realizar tareas administrativas, por lo que se recomienda usar el rol administrador de SharePoint Embedded para administrar aplicaciones de SharePoint Embedded.

Administración de aplicaciones de SharePoint Embedded creadas en el inquilino propietario

Los administradores de SharePoint Embedded pueden administrar todas las aplicaciones de SharePoint Embedded creadas en el inquilino propietario . Además, cualquier usuario Microsoft Entra que no sea una identidad externa se puede asignar como propietario de un tipo de contenedor. Los propietarios del tipo de contenedor pueden administrar ese tipo de contenedor específico. Para obtener más información sobre la administración de aplicaciones creadas en el inquilino propietario, vea Administrador de desarrolladores de SharePoint Embedded.

Funcionalidades del propietario del tipo de contenedor

Los propietarios de tipos de contenedor se administran a través de la propiedad de navegación permissions en el recurso fileStorageContainerType . Cada entrada de permiso tiene un rol de owner e identifica al usuario a través de grantedToV2. Los propietarios se pueden administrar de las siguientes maneras:

Los propietarios del tipo de contenedor pueden realizar las siguientes operaciones en el inquilino propietario cuando se usa una aplicación con FileStorageContainerType.Manage.All en modo delegado:

  • Cree, lea, actualice y elimine el tipo de contenedor que posee. Los propietarios que no son administradores solo pueden administrar los tipos de contenedor donde aparecen en la colección de permisos y la aplicación que realiza la llamada coincide con la aplicación propietaria.
  • Agregar y quitar otros propietarios en el tipo de contenedor que poseen (a través del punto de conexión de permisos)
  • Crear contenedores del tipo de contenedor que poseen, siempre y cuando la llamada esté delegada (no solo para la aplicación)

Nota:

El usuario que crea un tipo de contenedor se asigna automáticamente como propietario. Las identidades externas (usuarios invitados) no se pueden asignar como propietarios del tipo de contenedor y no pueden realizar operaciones de propietario.

Importante

Los propietarios del tipo de contenedor solo existen en el inquilino propietario. Cuando se registra un tipo de contenedor en un inquilino de consumo, la información del propietario no se propaga a ese inquilino. Por ejemplo, si Contoso crea un tipo de contenedor con propietarios y lo registra en Fabrikam, esos usuarios de Contoso no existen en el inquilino de Fabrikam y no tienen capacidades de propietario allí.

Importante

Las funcionalidades de propietario del tipo de contenedor son permisos de usuario. El acceso efectivo es la intersección de los permisos de aplicación (permisos de Microsoft Graph) y los permisos de usuario (rol de propietario). La aplicación debe tener suficientes permisos de Graph para que la intersección conceda el acceso deseado.

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 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 Búsqueda de Microsoft en SharePoint Embedded, debe solicitar el Files delegado. Permiso Read.All de Microsoft Graph sobre FileStorageContainer.Selected, que se usa normalmente para el acceso a SharePoint Embedded. Durante la fase de vista previa de esta característica, el Files. El permiso de aplicación Read.All concede a las aplicaciones acceso a las funcionalidades de búsqueda en todo el contenido de SharePoint Embedded.

Nota:

La compatibilidad con Búsqueda de Microsoft para el contenido de SharePoint Embedded está en versión preliminar y está sujeta a cambios. Los requisitos de acceso para el contenido de Búsqueda de Microsoft 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 código de respuesta 403 Prohibido 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.

¿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 en su inquilino propietario:

    • Agregue el permiso de Microsoft Graph FileStorageContainerType.Manage.All para crear tipos de contenedor en el inquilino propietario :
      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • Identificador: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b
  2. Conceder consentimiento de administrador a la aplicación en su inquilino propietario

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

  4. Vuelva a configurar el manifiesto de aplicación de SharePoint Embedded para solicitar solo los permisos necesarios en inquilinos de consumo:

    • Quite el permiso FileStorageContainerType.Manage.All** del permiso de Microsoft Graph, ya que esto solo es necesario para crear el tipo de contenedor en el inquilino propietario :

      • resourceAppId: 00000003-0000-0000-c000-000000000000

      • tipo: Role

      • Identificador: 8e6ec84c-5fcd-4cc7-ac8a-2296efc0ed9b

        Nota:

        Después de crear el tipo de contenedor en el inquilino propietario , debe quitar el permiso FileStorageContainerType.Manage.All del manifiesto de la aplicación. La aplicación no necesita esto en el consumo de inquilinos, solo en el inquilino propietario para crear el tipo de contenedor. Si no se quita este permiso del manifiesto de la aplicación, los clientes estarán preocupados por los permisos excesivos solicitados por la aplicación.

    • Agregue el permiso de Microsoft Graph FileStorageContainerTypeReg.Selected para registrar el tipo de contenedor en inquilinos de consumo :

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • Identificador: 2dcc6599-bd30-442b-8f11-90f88ad441dc
    • Agregue el permiso de Microsoft Graph FileStorageContainer.Selected para acceder a contenedores en inquilinos de consumo en nombre de los usuarios:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Scope
      • Identificador: 085ca537-6565-41c2-aca7-db852babc212
    • Opcionalmente, agregue el permiso de Microsoft Graph FileStorageContainer.Selected para acceder al contenedor en inquilinos de consumo sin un usuario:

      • resourceAppId: 00000003-0000-0000-c000-000000000000
      • tipo: Role
      • Identificador: 40dc41bc-0f7e-42ff-89bd-d9516947e474
  5. Conceda el consentimiento del administrador a la aplicación en un inquilino que consume (que puede ser el mismo que el inquilino propietario).

  6. Registre el tipo de contenedor en el inquilino de consumo .

  7. Quite FileStorageContainerTypeReg.Selected del manifiesto de la aplicación una vez completado el registro.

    Nota:

    Después de registrar el tipo de contenedor, debe quitar el permiso FileStorageContainerTypeReg.Selected del manifiesto de la aplicación. Este permiso solo es necesario durante la configuración del registro. Mantenerla después del registro aumenta innecesariamente la superficie de permisos de la aplicación.

  8. Creación de un contenedor en el inquilino de consumo