2017-02-14 191 views
0

使用圖形API將文件上傳到Office 365組的OneDrive後,我們希望撤銷文件的默認權限。但是,在最近才創建的小組中,這失敗了。新Office 365組中的撤銷默認權限失敗

默認情況下,文件的權限是「組名業主」,「組名成員」和「組名訪問者」。我們希望刪除這些權限並授予對特定AD安全組的訪問權限。

上傳文件後,我們看到兩個不同的結果,當獲得默認權限(準備刪除它們)。

在一種情況下,我們獲得了四個權限 - 上面列出的三個權限,以及具有授權給的'特殊'權限,該用戶的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 Unified Group內創建的所有文件,創建好幾分鐘之後,這種情況似乎會持續存在。

我們目前唯一的選擇是創建一個虛擬文件,並查看我們是否獲得3或4個權限(或者只是嘗試刪除默認權限)。如果我們在一段時間後只能再次嘗試3次。但是這似乎是一個脆弱的黑客攻擊,並且會在我們的上傳過程中增加大量時間(幾分鐘)。

有沒有人有任何更好的建議,或解釋這種行爲?

感謝

+0

更新 - 在我們最近的一次測試中,我們發現創建該組的權限爲64分鐘後被撤銷。 –

回答

1

彼得,組文件存儲在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

+0

感謝Christophe,但這些權限確實可以撤銷,就像我在我的問題中所說的那樣。問題在於它只能在創建組之後的一段時間後才能正常工作。 –

+0

彼得這不是一個受支持的方案。你想要達成什麼場景/用例?如果要修改SharePoint文檔庫中的組成員,請使用組REST API來完成此操作。 –

+0

Hi @ christophe-fiessinger爲什麼這不是一個受支持的場景?可以通過SharePoint UI進入組的OneDrive,右鍵單擊文件,選擇詳細信息 - >共享 - >高級,然後可以撤消默認權限。我不想修改組的*成員*,而是控制現有成員具有*權限*的訪問權限。 –