Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
SharePoint y OneDrive tienen un modelo de permisos establecido desde hace mucho tiempo que no encaja exactamente en el modelo de ámbitos. Por ejemplo, un ámbito global que proporciona acceso ReadWrite a una sola lista del inquilino no existe. En su lugar, los ámbitos seleccionados admiten estos escenarios. Inicialmente, Sites.Selected existía para restringir el acceso de una aplicación a una única colección de sitios. Ahora también se admiten listas, elementos de lista, carpetas y archivos, y todos los ámbitos seleccionados ahora admiten modos de aplicación y delegados.
Nota
Debido a la evolución de los requisitos de nomenclatura de ámbito, los ámbitos más recientes se enumeran como una tupla *.SelectedOperations.Selected
completa. No hay ninguna diferencia funcional entre este formato y el Sites.Selected
formato.
En la tabla siguiente se enumeran los ámbitos de permisos seleccionados.
Scopes | Descripción |
---|---|
Sites.Selected | Administra el acceso a la aplicación en el nivel de colección de sitios, lo que proporciona acceso a una colección de sitios específica. |
Lists.SelectedOperations.Selected | Administra el acceso a la aplicación en el nivel de lista, lo que proporciona acceso a una lista específica. |
ListItems.SelectedOperations.Selected | Administra el acceso a la aplicación en el nivel de archivos, elemento de lista o carpeta, lo que proporciona acceso a uno o varios elementos de lista. |
Files.SelectedOperations.Selected | Administra el acceso a la aplicación en el nivel de carpeta de archivo o biblioteca, lo que proporciona acceso a uno o varios archivos. |
Cuando un administrador da su consentimiento a ámbitos seleccionados para una aplicación, delega la administración de permisos de recursos a los propietarios de ese recurso dentro de la carga de trabajo. En el caso de otros ámbitos, como Files.Read.All, en cuanto se da su consentimiento al ámbito, la aplicación puede acceder a los recursos que representa. Los ámbitos seleccionados requieren una acción de asignación explícita; una aplicación consentida para Lists.SelectedOperations.Selected inicialmente no tendría acceso.
Los ámbitos seleccionados requieren una serie de pasos para funcionar, lo que proporciona varios medios de control para los administradores. En el ejemplo siguiente se usa el Lists.SelectedOperations.Selected
ámbito, pero los pasos se aplican a todos los *. Ámbitos seleccionados.
Lists.SelectedOperations.Selected
.POST /sites/{siteid}/lists/{listid}/permissions
con un rol específico.Lists.SelectedOperations.Selected
ámbito de las llamadas a la lista con permisos.Si se pierde cualquiera de los tres pasos, la aplicación no tiene acceso. Los administradores dos puntos de control:
DELETE /sites/{siteid}/lists/{listid}/permissions/{id}
, que quita el acceso a la lista de esa aplicación.Lists.SelectedOperations.Selected
ámbito en Entra ID, lo que impide que la aplicación acceda a cualquier lista a la que se le hayan concedido permisos anteriormente.En función de esto, puede dar su consentimiento a una aplicación en el Lists.SelectedOperations.Selected
ámbito de Entra ID, pero no conceder permisos a ninguna lista, lo que significa que la aplicación no tiene acceso. Del mismo modo, puede llamar a POST /sites/{siteid}/lists/{listid}/permissions
cualquier aplicación, pero sin que aparezcan los ámbitos adecuados en el token, la aplicación no tiene acceso. Los tres pasos deben completarse para garantizar el acceso esperado. Esto también se aplica al otro *. Ámbitos seleccionados y sus respectivos niveles.
Nota
La asignación de permisos de aplicación a listas, elementos de lista, carpetas o archivos interrumpe la herencia en el recurso asignado, por lo que debe tener en cuenta los límites de servicio para permisos únicos en el diseño de la solución. Los permisos en el nivel de colección de sitios no interrumpen la herencia porque esta es la raíz de la herencia de permisos.
Se muestra un ejemplo de configuración de permisos para sitios; la lógica es similar para listas, elementos de lista, archivos o carpetas.
En SharePoint, todos los archivos son elementos de lista, pero todos los elementos de lista no son archivos. Como resultado, las aplicaciones que llevan el ListItems.SelectedOperations.Selected
ámbito pueden acceder a todos los elementos y archivos de lista y operar en ellos hasta su rol permitido. Las aplicaciones con Files.SelectedOperations.Selected
solo pueden funcionar en archivos (elementos de lista) dentro de bibliotecas de documentos u otras listas marcadas como que contienen documentos. Esto imita el comportamiento Files.Read.All y Files.ReadWrite.All que existe actualmente, pero aislado en un único archivo. Este comportamiento no cambia en función de la ruta de acceso de Microsoft Graph usada, como con /drives/{driveid}/items/{itemid}
y /sites/{siteid}/lists/{listid}/items/{itemid}
; en su lugar, el destino al que se va a acceder controla el comportamiento.
En la tabla siguiente se enumeran los cuatro roles que se pueden asignar a una aplicación para un recurso determinado.
Role | Descripción |
---|---|
read | Lea los metadatos y el contenido del recurso. |
write | Lea y modifique los metadatos y el contenido del recurso. |
owner | Representa el rol de propietario. |
fullcontrol | Representa el control total del recurso. |
POST https://graph.microsoft.com/v1.0/sites/{siteId}/permissions
Content-Type: application/json
{
"roles": ["write"],
"grantedTo": {
"application": {
"id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e"
}
}
}
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
Content-Type | application/json. Necesario. |
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "1",
"@deprecated.GrantedToIdentities": "GrantedToIdentities has been deprecated. Refer to GrantedToIdentitiesV2",
"roles": ["write"],
"grantedToIdentities": [{
"application": {
"id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}],
"grantedToIdentitiesV2": [{
"application": {
"id": "89ea5c94-7736-4e25-95ad-3fa95f62b66e",
"displayName": "Contoso Time Manager App"
}
}]
}
Para ver ejemplos que muestran cómo administrar permisos, consulte los temas de API /permissions
para site, list, listItem y driveItem.
Los requisitos de permisos varían según el nivel. En todos los casos delegados, los casos en los que el usuario actual también necesita permisos suficientes para administrar el acceso mediante una llamada a la API. En la tabla siguiente se incluyen ámbitos y ámbitos y roles asignados al recurso primario. Por ejemplo, si tiene el ámbito Sites.Selected y el rol FullControl (Sites.Selected+FullControl), puede administrar los recursos dentro de esa colección de sitios.
Recurso | Permisos de recursos necesarios | Notas |
---|---|---|
sitio | Sites.FullControl.All | Dado que puede conceder permisos de control total a una colección de sitios mediante Sites.Selected, este requisito es necesariamente alto. |
lista | Sites.FullControl.All, Sites.Selected+FullControl, Sites.Selected+Owner | |
listItem | Sites.FullControl.All, Sites.Selected+FullControl, Sites.Selected+Owner, Lists.SelectedOperations.Selected+FullControl, Lists.SelectedOperations.Selected+Owner | |
archivo | Sites.FullControl.All, Sites.Selected+FullControl, Sites.Selected+Owner, Lists.SelectedOperations.Selected+FullControl, Lists.SelectedOperations.Selected+Owner |
Hay dos tipos de tokens: solo aplicación y delegado. Los escenarios de solo aplicación no tienen ningún usuario presente y se consideran de mayor riesgo. Con delegado, la aplicación nunca puede superar los permisos existentes del usuario actual y se puede considerar de menor riesgo en muchos escenarios. Se prefiere delegar siempre que sea posible, pero ambos modos están disponibles para satisfacer sus necesidades.
Se almacena una tupla de identificador de aplicación, identificador de recurso y rol. Como tal, la [aplicación] tiene acceso [rol] al [recurso]. Especifique la aplicación y el rol cuando se cree un permiso a través de la API y la ruta de acceso resuelta le proporciona el recurso. Por ejemplo, la aplicación Z tiene acceso de lectura a la lista en /sites/dev/lists/list1.
Para calcular el acceso, use los valores proporcionados en el token para seguir aproximadamente este flujo:
Revise el tipo de token (aplicación o delegado).
Busque el registro de aplicación para el identificador de aplicación proporcionado en el recurso o un elemento primario jerárquico protegible (herencia).
Se produce una de las siguientes acciones:
Las notas siguientes se aplican al comportamiento del consentimiento:
list/permissions
.list/permissions
y el acceso se quita a través de una llamada a DELETE lists/permissions/id
, pierde el acceso a esa lista y a todos los elementos de esa lista, independientemente de los permisos explícitos establecidos en esos elementos de lista. Posteriormente, puede regular permisos de elementos específicos si es necesario.Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Ruta de aprendizaje
Gestionar los permisos y la administración de Microsoft Dataverse - Training
¿Necesita administrar los derechos de acceso de los usuarios? En esta ruta de aprendizaje aprenderá a administrar los permisos asociados con entornos y entidades. También aprenderá sobre los diferentes portales administrativos y cómo acceder a cada uno de ellos.
Certificación
Demuestre los aspectos básicos de la seguridad de los datos, la administración del ciclo de vida, la seguridad de la información y el cumplimiento para proteger una implementación de Microsoft 365.
Documentación
Crear permiso - Microsoft Graph beta
Cree un nuevo objeto de permiso.
Crear permiso en una lista - Microsoft Graph beta
Cree un nuevo objeto de permiso.
Crear permiso en un elemento listItem - Microsoft Graph beta
Cree un nuevo objeto de permiso.