【问题标题】:Revoking default permission fails in new Office 365 Group在新的 Office 365 组中撤销默认权限失败
【发布时间】:2017-02-14 17:36:55
【问题描述】:

使用 Graph API 将文件上传到 Office 365 组的 OneDrive 后,我们希望撤消文件的默认权限。但是,在最近才创建的组中,这会失败。

默认情况下,文件的权限是“GroupName Owners”、“GroupName Members”和“GroupName visitor”。我们希望删除这些权限并授予对特定 AD 安全组的访问权限。

上传文件后,我们在获取默认权限时会看到两种不同的结果(准备删除它们)。

在一种情况下,我们获得了四个权限——上面列出的三个,加上一个具有 grantedTo 的“特殊”权限,用户的 ID 与组 ID 匹配。我们已经学会了不要删除这个权限,因为我们失去了删除其他权限的能力。

这里,这个“特殊”权限是列出的第一个:

{
"@odata.context": "https://graph.microsoft.com/V1.0/$metadata#drives('b%21Y25ow5oitkOvNToutf7LrYZ-y78P2jBEjoGLzb3oPqnw0a3YKFDwTobjTB4gYxKt')/root/permissions",
"value": [
    {
        "grantedTo": {
            "user": {
                "id": "273c2c33-8533-445d-ae65-4b63be296995",
                "displayName": "SharePoint Tests"
            }
        },
        "id": "Yzowby5jfGZlZGVyYXRlZGRpcmVjdG9yeWNsYWltcHJvdmlkZXJ8MjczYzJjMzMtODUzMy00NDVkLWFlNjUtNGI2M2JlMjk2OTk1X28",
        "roles": [
            "write"
        ]
    },
    {
        "grantedTo": {
            "user": {
                "displayName": "SharePoint Tests Owners"
            }
        },
        "id": "U2hhcmVQb2ludCBUZXN0cyBPd25lcnM",
        "roles": [
            "SP.Full Control",
            "write"
        ]
    },
    {
        "grantedTo": {
            "user": {
                "displayName": "SharePoint Tests Visitors"
            }
        },
        "id": "U2hhcmVQb2ludCBUZXN0cyBWaXNpdG9ycw",
        "roles": [
            "read"
        ]
    },
    {
        "grantedTo": {
            "user": {
                "displayName": "SharePoint Tests Members"
            }
        },
        "id": "U2hhcmVQb2ludCBUZXN0cyBNZW1iZXJz",
        "roles": [
            "SP.Edit"
        ]
    }
]
}

但是,在创建组后的一段时间内,上传文件后,我们只能获得 3 个权限 - 缺少上面提到的特殊权限。在这种情况下,尝试删除其他权限失败并显示“未经身份验证”错误代码。例如。

DELETE https://graph.microsoft.com/V1.0/drives/b!zn7l0OHTmUa3lGABIbIGQIZ-y78P2jBEjoGLzb3oPqnw0a3YKFDwTobjTB4gYxKt/items/013LUA5IQEPURED3OSURAI27FBHDYLFQJP/permissions/U2FnZSAtIFBBUiBTZWN1cml0eSA0IE93bmVycw

我们仍然可以添加权限,只是不能撤销默认权限。

对于在给定 Office 365 统一组中创建的所有文件,这种情况似乎一直存在,直到创建后几分钟。

目前我们唯一的选择似乎是创建一个虚拟文件,看看我们是否获得了 3 或 4 个权限(或者只是尝试删除默认权限)。如果我们只得到 3 次,请在一段时间后重试。但这似乎是一个脆弱的 hack,并为我们的上传过程增加了大量时间(几分钟)。

有没有人有更好的建议,或者对这种行为的解释?

谢谢

【问题讨论】:

  • 更新 - 在我们今天早上的最新测试中,我们发现在创建组 64 分钟后可以撤销权限。

标签: permissions onedrive microsoft-graph-api


【解决方案1】:

Peter,组文件存储在 SharePoint 文档库中,因此权限(所有者和成员)是从 AzureAD 继承的,无法更改,有关详细信息,请参阅此文档:https://support.office.com/en-us/article/Learn-about-Office-365-groups-b565caa1-5c40-40ef-9915-60fdb2d97fa2?ui=en-US&rs=en-US&ad=US&fromAR=1

【讨论】:

  • 感谢 Christophe,但正如我在问题中所说,这些权限确实可以撤销。问题是它只能在创建组后的一段时间后工作。
  • Peter 这不是受支持的方案。您要实现什么场景/用例?如果您想修改 SharePoint 文档库中的群组成员,请使用群组 REST API 来执行此操作。
  • 嗨@christophe-fiessinger 为什么不支持这种方案?可以通过SharePoint UI——进入组的OneDrive,右击文件,选择详细信息-->共享-->高级,然后就可以撤销默认权限了。我不是试图修改组的 members,而是控制现有成员有 permission 访问哪些文件。
【解决方案2】:

您不能中断继承,请查看我们针对 SharePoint 文档库推出的这些附加功能:https://techcommunity.microsoft.com/t5/SharePoint/UPDATE-Create-Office-365-Groups-with-team-sites-from-SharePoint/m-p/48277

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多