Registro de permisos de aplicación

Se aplica a: Desarrollador

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

Complete primero la creación y configuración de un tipo de contenedor para tener un identificador de tipo de contenedor y una aplicación propia.

Por qué es necesario registrarse

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

Controles de registro:

  • Qué id. de aplicación pueden acceder al tipo de contenedor.
  • Qué permisos delegados tiene cada aplicación.
  • Qué permisos solo de 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 fallar con errores de acceso denegado.

Comprender quién puede registrarse

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

La aplicación propietaria debe tener:

  • Una entidad de servicio instalada en el inquilino consumidor.
  • Consentimiento del Administrador para realizar el registro en el inquilino consumidor.
  • El FileStorageContainerTypeReg.Selected permiso 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), se le debe asignar el rol de administrador de SharePoint Embedded o administrador global . Cuando llama 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 el consentimiento del administrador a la aplicación propietaria.

Use el punto de conexión de consentimiento de administrador de la 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 control de éxitos y errores para el flujo de incorporación.

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

Adquirir un token para el registro

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

El registro requiere:

  • El permiso de FileStorageContainerTypeReg.Selected Microsoft Graph.
  • Para las llamadas de solo aplicación, el flujo de concesión de credenciales de cliente.
  • Para las llamadas delegadas, un usuario que ha iniciado sesión con el rol de administrador global o administrador de SharePoint Embedded.

Registrar permisos de tipo de contenedor

Llame al punto de conexión de registro del inquilino consumidor.

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

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

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

Crear, reemplazar o actualizar un registro

Elija la operación en función de si necesita reemplazar el registro completo o actualizar las propiedades seleccionadas:

Meta Solicitud de Microsoft Graph Comportamiento
Crear o reemplazar un registro PUT /storage/fileStorage/containerTypeRegistrations/{containerTypeId} Crea el registro con el identificador de tipo de contenedor. Si el registro existe, la solicitud lo reemplaza con la carga completa.
Actualizar las propiedades de registro seleccionadas PATCH /storage/fileStorage/containerTypeRegistrations/{registrationId} Solo novedades las propiedades suministradas en Microsoft Graph v1.0.

La PATCH operación usa el registro etag para la simultaneidad optimista. Leer el registro actual e incluir su etag propiedad en el cuerpo de la actualización. Si otra solicitud cambia primero el registro, lea el valor más reciente y concilie la actualización en lugar de sobrescribirlo.

Las actualizaciones de registro pueden tardar hasta una hora en propagarse.

Para obtener más información sobre la API, consulte Creación de un fileStorageContainerTypeRegistration y actualización de un fileStorageContainerTypeRegistration.

Conceder permisos a la aplicación propietaria

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

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

Reemplace el id. de la aplicación de ejemplo por el id. de la aplicación propietaria.

Precaución

Utilice los privilegios mínimos para la producción. Concédalo solo cuando la aplicación necesite acceso completo al tipo de full contenedor.

Conceder 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 una copia de seguridad o un procesamiento.

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

Reemplace ambos identificadores de aplicaciones por las aplicaciones.

Valores de permisos

Permiso Utilice
none No conceda permisos.
readContent Lea 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 Leer metadatos del contenedor.
write Actualizar metadatos del contenedor.
enumeratePermissions Enumerar los roles y los miembros del contenedor.
addPermissions Agregue miembros del contenedor.
updatePermissions Actualizar las pertenencias existentes.
deletePermissions Eliminar a otros miembros.
deleteOwnPermission Quite la pertenencia del autor de llamada.
managePermissions Administre las asignaciones de roles de contenedor.
manageContent Administrar el contenido de los contenedores de este tipo.
full Otorgue todos los permisos.

Nota:

writeContent no se puede conceder sin readContent.

Validar registro

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

Cuando el registro se realiza correctamente:

  1. Confirme que la respuesta incluye los id. de aplicación esperados.
  2. Confirme que las matrices delegadas y de solo aplicación coincidan con las concesiones previstas.
  3. Adquiera un token de Microsoft Graph con permisos de SharePoint Embedded.
  4. Intente una operación de riesgo bajo que coincida con el permiso registrado.
  5. Continúe con la configuración de autenticación y autorización.
Síntoma Causa probable Acción
401 Unauthorized Falta el token 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 Confirmar FileStorageContainerTypeReg.Selected, consentimiento e id. de aplicación.
404 Not Found El tipo de contenedor no existe Compruebe el id. y el inquilino.
Acceso denegado en llamadas de Graph Falta registro o es insuficiente Vuelva a registrarse con los permisos necesarios.
El Administración no puede encontrar el permiso oculto El portal no lo expone Use una dirección URL de consentimiento del administrador.

Volver a registrarse de forma segura

No hay restricciones en el número de veces que se puede invocar la API de registro.

La última llamada de registro correcta determina la configuración que se usa en el espacio empresarial consumidor.

Utilice un proceso de actualización seguro:

  1. Decida si el cambio requiere un reemplazo completo PUT o una actualización dirigida PATCH .
  2. Para PUT, cree una carga de registro completa.
  3. Para PATCH, lea e incluya el registro etagactual.
  4. Incluya todas las aplicaciones que deben conservar el acceso.
  5. Enviar la convocatoria de inscripción.
  6. Valide la respuesta.
  7. Realiza pruebas de humo para cada rol de la aplicación.

Importante

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

Pasos siguientes

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