簡體   English   中英

獲取 Azure Data Lake Gen2 (ACL) 的特定用戶權限

[英]Get specific user permissions on Azure Data Lake Gen2 (ACL)

我正在使用 Azure 函數,我想知道如何查看用戶對某個目錄或文件的權限。

要獲取 ACL 的信息,我正在關注下一個文檔: https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-directory-file-acl-python (對於 conexion我已通過使用帳戶密鑰選項使用 Connect

我能夠得到下一個信息:

{
    'accept_ranges': None,
    'cache_control': None,
    'content_disposition': None,
    'content_encoding': None,
    'content_language': None,
    'content_length': None,
    'content_range': None,
    'content_type': None,
    'content_md5': None,
    'date': datetime.datetime(XXXXX),
    'etag': '"4545454545"',
    'last_modified': datetime.datetime(XXXXX),
    'request_id': 'XXXXX',
    'version': '2019-02-02',
    'resource_type': None,
    'properties': None,
    'owner': '123',
    'group': '123',
    'permissions': 'rwxr-x---',
    'acl': 'user: : rwx,
    group: : r-x,
    other: : ---',
    'lease_duration': None,
    'lease_state': None,
    'lease_status': None,
    'error_code': None
}

這將返回通用信息,但我想知道的是如何獲取特定用戶的權限信息。 我知道如何獲取用戶 ID 或用戶組 ID,但不知道如何與 ACL 關聯。

也許我需要使用 API?

預先感謝!

根據您的結果,您尚未向用戶授予權限。

因此,您需要按照此屏幕截圖授予權限。

在此處輸入圖像描述

然后您可以使用該代碼獲取其 ACL。

acl_props = directory_client.get_access_control()

print(acl_props['acl'])

它應該是這樣的:

user::rwx,
user:256xxxx6-019b-479c-a71f-d5axxxx93143:r-x,
group::r-x,
mask::r-x,
other::---

我們可以發現第二行是用戶 allenwu1 的 ACL。

然后你可以使用str.index('user:{user id}:')來獲取它的 position。 然后就可以得到接下來的三個字符,也就是用戶的ACL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM