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 con 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.
- Al usar el acceso en nombre de un usuario, las aplicaciones solo pueden acceder a los contenedores de los que el usuario es miembro.
- Cuando se usa el acceso sin un usuario, las aplicaciones pueden acceder a los contenedores habilitados por los permisos de aplicación de tipo contenedor que se les han concedido.
- Las aplicaciones usan el acceso en nombre de los usuarios siempre que sea posible para mejorar la seguridad y la audibilidad
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.
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 a las que no se puede acceder a través de Microsoft Graph:
- Administración de tipos de contenedor en inquilinos propietarios, que se realizan a través de cmdlets de PowerShell.
- Registro de tipos de contenedor en inquilinos de consumo, expuesto a través de la API rest de SharePoint v2.
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 paso ya no será necesario. Manténgase atento.
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:
- Configure el manifiesto de aplicación de SharePoint Embedded (puede usar 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
-
- Microsoft Graph (resourceAppId:
- Conceda el consentimiento del administrador a la aplicación en inquilinos propietarios y consumidores (que pueden ser el mismo inquilino).
- Cree un nuevo tipo de contenedor en el inquilino propietario.
- Registre un tipo de contenedor en el inquilino de consumo.
- Creación de un contenedor