我正在使用网站处理 SharePoint 精细权限。选择范围选项并通过图形 API 权限授予应用程序访问/角色。如果应用程序需要与站点的所有可用列表/驱动器一起使用,它工作正常。
对于前。
https://graph.microsoft.com/v1.0/sites/{site-Id}/Permissions
并传递以下有效负载。
{
"roles": [
"write"
],
"grantedToIdentitiesV2": [
{
"application": {
"id": << App Id >>
"displayName": "TestDaemonGraphAPI"
}
}
]
}
但是,我有几个驱动器/文档库,需要限制应用程序的访问。 由于我在站点级别设置权限,因此它允许访问所有驱动器。
我们如何使用图形 API 仅允许在驱动器/库级别进行访问?
更新:我尝试在驱动器级别授予权限,但失败了。 错误详情
由于您可以限制可以访问哪些网站集或驱动器,因此首先授予
Sites.Seletced
权限,该权限仅限制您已设置的网站。
获取所有驱动器 ID,然后选择要限制访问的驱动器或文档库的驱动器 ID:
获取
https://graph.microsoft.com/v1.0/sites/{site-id}/drives
然后创建一个特定于drive的角色,并仅选择可以访问的应用程序
发布
https://graph.microsoft.com/v1.0/drives/{drive-id}/permissions
{
"roles": ["write"],
"grantedToIdentitiesV2": [
{
"application": {
"id": "{appid}"
}
}
]
}
然后删除站点权限
DELETE
https://graph.microsoft.com/v1.0/sites/{site-id}/permissions/{permission-id}
检查这是否会限制仅访问该特定驱动器。我无法检查这一点,因为我无法访问,因为需要 Office365 许可证。
参考:
现在可以在 Microsoft Graph 中控制特定 SharePoint 网站集上的应用程序访问 - Microsoft 365 开发人员博客
或
您可以通过仅邀请少数用户来检查这种使用独特权限破坏权限的方式自定义 SharePoint 列表或库的权限 - Microsoft 支持
有点晚了,但自 2024 年 6 月/7 月起,在 Beta API 上就可以实现这一点。请看这里:
https://learn.microsoft.com/en-us/graph/permissions-selected-overview?tabs=http