Registro de permisos de aplicación

Se aplica a: Desarrollador

Registre los permisos de aplicación de tipo contenedor antes de que la aplicación de SharePoint Embedded cree contenedores o acceda al contenido en un inquilino de consumo.

Complete Primero Crear y configurar un tipo de contenedor para que tenga un identificador de tipo de contenedor y una aplicación propietaria.

Por qué se requiere el registro

Una aplicación de SharePoint Embedded no puede interactuar con contenedores en un inquilino de consumo hasta que el tipo de contenedor se registre en ese inquilino.

Controles de registro:

  • Qué identificadores de aplicación pueden acceder al tipo de contenedor.
  • Qué permisos delegados tiene cada aplicación.
  • Qué permisos de solo aplicación tiene cada aplicación.
  • Si las aplicaciones invitadas pueden interactuar con los contenedores de la aplicación propietaria.

Si falta el registro o está incompleto, las llamadas posteriores pueden producir errores de acceso denegado.

Descripción de quién puede registrarse

Solo la aplicación propietaria del tipo de contenedor puede invocar la API de registro en el inquilino de consumo.

La aplicación propietaria debe tener:

  • Una entidad de servicio instalada en el inquilino de consumo.
  • Administración consentimiento para realizar el registro en el inquilino de consumo.
  • Permiso FileStorageContainerTypeReg.Selected de Microsoft Graph (delegado por el usuario o solo aplicación).
  • Un token válido para el recurso de Microsoft Graph.

Nota:

La API de registro de tipo de contenedor está disponible en Microsoft Graph v1.0. Cuando la aplicación propietaria llama a la API de registro en nombre de un usuario (delegado), ese usuario debe tener asignado el rol Administrador de SharePoint Embedded o Administrador global . Cuando llama a sin un contexto de usuario (solo aplicación), usa el flujo de concesión de credenciales de cliente.

Pida a un administrador de inquilinos consumidor que conceda consentimiento de administrador a la aplicación propietaria.

Use el punto de conexión de consentimiento del administrador de Plataforma de identidad de Microsoft:

https://login.microsoftonline.com/{consuming-tenant-id}/v2.0/adminconsent?client_id={owning-app-clientid}&scope=https://graph.microsoft.com/.default&redirect_uri={spe-app-redirect-uri}

Configure el correcto y el control de errores para el flujo de incorporación.

Para ver los puntos de conexión de nube nacionales, consulte Plataforma de identidad de Microsoft puntos de conexión en nubes nacionales.

Adquisición de un token para el registro

Use la autenticación delegada o solo de aplicación para el registro.

El registro requiere:

  • Permiso FileStorageContainerTypeReg.Selected de Microsoft Graph.
  • Para las llamadas de solo aplicación, el flujo de concesión de credenciales de cliente.
  • En el caso de las llamadas delegadas, un usuario que ha iniciado sesión con el rol Administrador incrustado de SharePoint o Administrador global.

Registro de permisos de tipo de contenedor

Llame al punto de conexión de registro en el inquilino de consumo.

PUT https://graph.microsoft.com/v1.0/storage/fileStorage/containerTypeRegistrations/{containerTypeId}

{containerTypeId} es el identificador de tipo de contenedor creado en el inquilino propietario.

En el cuerpo de la solicitud, proporcione las concesiones de permisos de aplicación para el tipo de contenedor.

Concesión de permisos a la aplicación propietaria

Un primer registro común concede a la aplicación propietaria permisos completos para las llamadas delegadas y solo de aplicación.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    }
  ]
}

Reemplace el identificador de aplicación de ejemplo por su identificador de aplicación propietario.

Precaución

Use privilegios mínimos para producción. Conceda full solo cuando la aplicación necesite acceso completo al tipo de contenedor.

Concesión de permisos a una aplicación invitada

La aplicación propietaria también puede registrar permisos para otra aplicación.

Use este patrón cuando una aplicación invitada necesite una carga de trabajo definida, como copia de seguridad o procesamiento.

{
  "applicationPermissionGrants": [
    {
      "appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
      "delegatedPermissions": ["full"],
      "applicationPermissions": ["full"]
    },
    {
      "appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
      "delegatedPermissions": ["read", "write"],
      "applicationPermissions": ["none"]
    }
  ]
}

Reemplace ambos identificadores de aplicación por las aplicaciones.

Valores de permiso

Permiso Utilice
None No conceda permisos.
ReadContent Lee contenido en contenedores de este tipo.
WriteContent Escribir contenido en contenedores de este tipo.
Create Cree contenedores de este tipo.
Delete Elimine contenedores de este tipo.
Read Lee los metadatos del contenedor.
Write Actualice los metadatos del contenedor.
EnumeratePermissions Enumeración de miembros y roles de contenedor.
AddPermissions Agregar miembros de contenedor.
UpdatePermissions Actualice las pertenencias existentes.
DeletePermissions Elimine otros miembros.
DeleteOwnPermission Quite la pertenencia del autor de la llamada.
ManagePermissions Administrar asignaciones de roles de contenedor.
ManageContent Administre el contenido de los contenedores de este tipo.
Full Conceda todos los permisos.

Nota:

WriteContent no se puede conceder sin ReadContent.

Validación del registro

Un registro correcto devuelve 201 Created y los permisos configurados en el cuerpo de la respuesta.

Después de que el registro se realice correctamente:

  1. Confirme que la respuesta incluye los identificadores de aplicación esperados.
  2. Confirme que las matrices delegadas y solo de aplicación coinciden con las concesiones previstas.
  3. Adquirir un token de Microsoft Graph con permisos de SharePoint Embedded.
  4. Pruebe una operación de bajo riesgo que coincida con el permiso registrado.
  5. Continúe con Configuración de autenticación y autorización.
Síntoma Causa probable Acción
401 Unauthorized Token que falta o no es válido Solicite un token válido de solo aplicación.
403 Forbidden La aplicación carece de permiso o no es propietaria de la aplicación Confirme FileStorageContainerTypeReg.Selected, el consentimiento y el identificador de la aplicación.
404 Not Found El tipo de contenedor no existe Compruebe el identificador y el inquilino.
Acceso denegado en llamadas de Graph Falta el registro o es insuficiente Vuelva a registrarse con los permisos necesarios.
Administración no encuentra permiso oculto El portal no lo expone Use una dirección URL de consentimiento del administrador.

Volver a registrarse de forma segura

No hay ninguna restricción sobre cuántas veces se puede invocar la API de registro.

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

Use un proceso de actualización seguro:

  1. Cree una carga de registro completa.
  2. Incluya todas las aplicaciones que deben conservar el acceso.
  3. Envíe la llamada de registro.
  4. Valide la respuesta.
  5. Ejecute pruebas de humo para cada rol de aplicación.

Importante

No envíe una carga parcial a menos que tenga previsto que el registro resultante contenga solo ese conjunto de aplicaciones y permisos.

Pasos siguientes

Configure tokens y flujos de autorización en Configuración de autenticación y autorización.