Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Desarrollador
Configure la autenticación y la autorización antes de que la aplicación de SharePoint Embedded llame a Las API de Microsoft Graph o SharePoint Embedded.
Complete primero Registrar permisos de aplicación para que el tipo de contenedor se registre en el inquilino de consumo.
Descripción del modelo de acceso
SharePoint Embedded usa dos capas de permisos.
Los permisos de Microsoft Graph permiten que la aplicación llame a puntos de conexión de SharePoint Embedded.
Los permisos de aplicación de tipo contenedor permiten a la aplicación acceder a contenedores de un tipo de contenedor específico.
Ambas capas son necesarias.
Importante
El consentimiento de Microsoft Graph por sí solo no concede acceso a los contenedores. También se debe conceder permiso a la aplicación para el tipo de contenedor.
Configuración de la aplicación de Microsoft Entra ID
Comience con un registro de aplicación Microsoft Entra ID.
Configúrelo para el tipo de aplicación:
- Registre o identifique la aplicación propietaria.
- Agregue URI de redireccionamiento para clientes de desarrollo y producción.
- Agregue credenciales para flujos de solo aplicación cuando sea necesario.
- Agregue permisos de Microsoft Graph para el acceso a SharePoint Embedded.
- Agregue el permiso de Microsoft Graph necesario para escenarios de registro.
- Pida a un administrador que conceda el consentimiento cuando sea necesario.
Para ver los pasos generales, consulte Registro de una aplicación con el Plataforma de identidad de Microsoft.
Solicitud de permisos de Microsoft Graph
Las operaciones de SharePoint Embedded a través de Microsoft Graph requieren FileStorageContainer.Selected.
Use delegado FileStorageContainer.Selected para el acceso en nombre de un usuario.
Use la aplicación FileStorageContainer.Selected para el acceso solo a la aplicación.
La aplicación FileStorageContainer.Selected requiere el consentimiento del administrador en el inquilino de consumo.
FileStorageContainer.Selected Delegado no requiere consentimiento del administrador.
Para las funcionalidades administrativas en nombre de un usuario administrador, como enumerar, eliminar, restaurar, purgar y actualizar contenedores y administrar sus permisos en todos los tipos de contenedor gobernables del inquilino de consumo, solicite FileStorageContainer.Manage.All.
Nota:
La combinación de permisos de Microsoft Graph y permisos de aplicación de tipo contenedor determina lo que la aplicación puede hacer realmente.
Solicitud del permiso para el registro
El registro de tipos de contenedor usa la API de registro de tipos de contenedor de Microsoft Graph en la versión 1.0.
Para el registro, solicite el FileStorageContainerTypeReg.Selected permiso de Microsoft Graph (delegado o solo aplicación).
| Nombre de ámbito | Tipo | Utilice |
|---|---|---|
FileStorageContainerTypeReg.Selected |
Delegado o aplicación | Habilita el registro de tipos de contenedor en un inquilino que consume. |
Para las llamadas de registro delegados, el usuario que ha iniciado sesión debe tener el rol Administrador de SharePoint Embedded o Administrador global.
Use este permiso con los permisos de registro de la aplicación.
Preferir el acceso delegado siempre que sea posible
Use el acceso en nombre de un usuario siempre que sea posible.
El acceso delegado mejora la seguridad, la responsabilidad, la auditabilidad y la alineación con la pertenencia al contenedor del usuario.
Cuando se usa el acceso delegado, los permisos efectivos son la intersección de los permisos de aplicación y los permisos de contenedor de usuarios.
El usuario debe ser miembro del contenedor.
Use una aplicación cliente confidencial para mantener la aplicación en control de las acciones realizadas en nombre de un usuario. Una aplicación cliente pública puede exponer tokens de usuario al usuario final, lo que puede dar lugar a acciones realizadas fuera del control de la aplicación. Para obtener más información, consulte Aplicaciones cliente pública y cliente confidencial.
Configuración de la adquisición de tokens delegados
Para las llamadas delegadas:
- Inicie sesión del usuario con Plataforma de identidad de Microsoft.
- Solicitud delegada
FileStorageContainer.Selected. - Confirme que el consentimiento delegado se concede según las directivas de consentimiento del usuario del inquilino de consumo.
- Adquirir un token de acceso para Microsoft Graph.
- Llame a puntos de conexión de Microsoft Graph SharePoint Embedded.
- Compruebe que el usuario es miembro del contenedor de destino.
Si el usuario no es un miembro del contenedor, la aplicación no puede acceder a ese contenedor en nombre del usuario.
Configuración de la adquisición de tokens solo de aplicación
Use el acceso de solo aplicación para las cargas de trabajo de servicio que no se ejecutan como usuario.
Para llamadas de solo aplicación:
- Configure una credencial de aplicación, como un certificado.
- Solicitud de aplicación
FileStorageContainer.Selected. - Hacer que un administrador de inquilinos que consume conceda consentimiento de administrador.
- Adquiera un token mediante el flujo de credenciales de cliente.
- Llame a puntos de conexión de Microsoft Graph SharePoint Embedded.
- Limite los permisos de tipo de contenedor a las necesidades de la carga de trabajo.
Precaución
Un token de solo aplicación puede acceder a todos los contenedores habilitados por sus permisos de aplicación de tipo contenedor. Utilizar privilegios mínimos.
Llamada a las API de Microsoft Graph
Después de la adquisición de tokens, llame a las operaciones de SharePoint Embedded a través de Microsoft Graph. Entre las referencias útiles se incluyen:
- Tipo de recurso de contenedor de almacenamiento de archivos
- Creación de fileStorageContainer
- Conceptos básicos de autenticación y autorización de Microsoft Graph
Continúe con Creación y administración de contenedores para las operaciones del ciclo de vida.
Controlar operaciones no expuestas a través de Graph
Algunas operaciones tienen patrones de acceso excepcionales.
Estas operaciones usan patrones de acceso excepcionales:
- Administración de tipos de contenedor en el inquilino propietario a través de la API de tipo de contenedor de Microsoft Graph (
FileStorageContainerType.Manage.Allpermiso delegado). - Registro de tipos de contenedor en el inquilino de consumo a través de la API de registro de tipos de contenedor de Microsoft Graph (
FileStorageContainerTypeReg.Selected). - Experiencias del agente de SharePoint Embedded a través de sus propios requisitos de permisos.
-
Búsqueda: La búsqueda de Microsoft en el contenido de SharePoint Embedded requiere el permiso delegado
Files.Read.Allademás deFileStorageContainer.Selected. -
Operaciones que requieren una licencia de usuario: los contenedores de lista se devuelven
403 Forbiddenpara un usuario delegado que no tiene OneDrive (las llamadas de solo aplicación no se ven afectadas) y los usuarios necesitan una licencia de Microsoft 365 para aparecer en el selector de personas de Office @mentions . -
Acciones administrativas en contenedores:
FileStorageContainer.Manage.Allrequiere que el usuario que ha iniciado sesión sea administrador de SharePoint Embedded o administrador global. Para un usuario que no es administrador, no concede nada: si soloManage.Allse concede, se deniega el acceso a la aplicación; si se conceden yManage.AllFileStorageContainer.Selectedse conceden,Manage.Allse omite.
Importante
No suponga que todas las operaciones usan el mismo token o recurso de permiso. Compruebe patrones de acceso excepcionales antes de implementar un flujo.
Concesión de permisos de aplicación de tipo contenedor
La aplicación propietaria concede permisos de aplicación de tipo contenedor mediante el registro de tipo de contenedor en un inquilino de consumo. Estos permisos determinan lo que una aplicación puede hacer con contenedores del tipo de contenedor.
| Permiso | Descripción |
|---|---|
| Ninguno | No hay permisos para ningún contenedor o contenido de este tipo de contenedor. |
| ReadContent | Lea el contenido de los contenedores de este tipo de contenedor. |
| WriteContent | Escriba contenido en contenedores de este tipo de contenedor. Requiere ReadContent. |
| Crear | Cree contenedores de este tipo de contenedor. |
| Eliminar | Elimine contenedores de este tipo de contenedor. |
| Lectura | Lea los metadatos de los contenedores de este tipo de contenedor. |
| Escritura | Actualice los metadatos de los contenedores de este tipo de contenedor. |
| EnumeratePermissions | Enumera los miembros de un contenedor y sus roles. |
| AddPermissions | Agregar miembros a un contenedor. |
| UpdatePermissions | Cambie los roles de los miembros existentes. |
| DeletePermissions | Quite otros miembros (pero no uno mismo) de un contenedor. |
| DeleteOwnPermission | Quitar la pertenencia propia de un contenedor. |
| ManagePermissions | Agregue, quite (incluido el autoservicio) o actualice los miembros de los roles de contenedor. |
| ManageContent | Administrar el contenido del contenedor (WriteContent y descartar la desprotección en el modo de solo aplicación). |
| Full | Todos los permisos para contenedores de este tipo de contenedor. |
Administración de propietarios de tipos de contenedor
Cualquier usuario Microsoft Entra que no sea una identidad externa puede ser propietario de un tipo de contenedor. Los propietarios se administran a través de la propiedad de navegación permissions en el recurso fileStorageContainerType . Cada entrada tiene el owner rol e identifica al usuario a través de grantedToV2.
- Asignación automática: el usuario que crea un tipo de contenedor se asigna automáticamente como propietario.
-
Agregar propietarios: use
POST /containerTypes/{id}/permissionspara agregar hasta tres propietarios por tipo de contenedor. -
Quitar propietarios: se usa
DELETE /containerTypes/{id}/permissions/{id}para quitar un propietario. -
Leer propietarios: use
GET /containerTypes/{id}?$expand=permissionsoGET /containerTypes/{id}/permissionspara recuperar propietarios.
Los administradores de SharePoint Embedded pueden administrar todas las aplicaciones creadas en el inquilino propietario e instaladas en el inquilino de consumo. Asigne el rol con privilegios mínimos necesario; El rol de administrador incrustado de SharePoint se recomienda sobre el administrador global para estas tareas.
Descripción de los permisos de contenedor
Los permisos de contenedor solo se aplican al acceso delegado. En su lugar, una aplicación que accede a contenedores sin un usuario obtiene el acceso completo definido por sus permisos de aplicación de tipo contenedor.
Los usuarios obtienen la pertenencia a contenedores de dos maneras:
- Pertenencia directa : el usuario se agrega directamente a un contenedor con permisos específicos.
- Pertenencia transitiva : el usuario pertenece a un grupo de Microsoft 365 que es miembro del contenedor.
Un usuario debe ser miembro del contenedor con uno de estos roles:
| Role | Resumen de acceso |
|---|---|
| Lector | Lee las propiedades y el contenido del contenedor. |
| Redactor | Acceso de lector, además de crear, actualizar y eliminar contenido y actualizar las propiedades aplicables. |
| Administrador | Acceso de escritura y administración de la pertenencia a contenedores. |
| Owner | Acceso del administrador y eliminación de contenedores. |
Cuando un usuario crea un contenedor a través de llamadas delegadas, a ese usuario se le asigna automáticamente el rol Propietario.
Para compartir elementos individuales sin conceder acceso al contenedor, use los puntos de conexión de invitación o de creación de permisosdriveItem. El uso compartido de un elemento no concede acceso al contenedor ni a ningún otro elemento del mismo.
Validación de la autenticación
Valide el flujo antes del código de característica:
- Confirme que el consentimiento del administrador se completó correctamente.
- Adquirir un token delegado.
- Adquirir un token de solo aplicación.
- Llame a un punto de conexión de Graph simple que coincida con el tipo de token.
- Confirme que el registro incluye la aplicación que realiza la llamada.
- Confirme la pertenencia al usuario para las llamadas delegadas.
- Confirme que el acceso solo a la aplicación está limitado por permisos de tipo contenedor.
Solución de problemas de errores de autorización
| Síntoma | Cheque |
|---|---|
| La llamada a Graph devuelve un valor no autorizado | Falta el token, ha expirado o para el recurso incorrecto. |
| La llamada a Graph devuelve prohibido | Falta el consentimiento, el permiso graph o el permiso de tipo contenedor. |
| Se produce un error en la llamada delegada para un usuario | El usuario no es un miembro del contenedor o carece del rol necesario. |
| La llamada solo a la aplicación tiene demasiado acceso | El permiso de tipo de contenedor es más amplio de lo necesario. |
| Se produce un error en la llamada de registro | Use FileStorageContainerTypeReg.Selected; para las llamadas delegadas, el usuario necesita el rol Administrador de SharePoint Embedded o Administrador global. |
| Se produce un error en la llamada de búsqueda | Revise los patrones de acceso excepcionales específicos de la búsqueda. |
Pasos siguientes
Use el flujo configurado para crear y administrar contenedores.