azure datalake (gen2) 日志中的用户标识

Userid in azure datalake (gen2) log

我正在研究 Azure 中的日志,尤其是从 ADSL Gen2 数据湖中获取的日志。 真的是我无法获取数据湖更改的登录/用户标识吗?

我有这些字段

TenantId TimeGenerated [UTC] AccountName Location Protocol OperationName AuthenticationType StatusCode StatusText DurationMs ServerLatencyMs Uri CallerIpAddress CorrelationId SchemaVersion OperationVersion AuthenticationHash UserAgentHeader ClientRequestId Etag ServiceType RequestHeaderSize ResponseHeaderSize LastModifiedTime [UTC] Category TlsVersion SourceSystem Type _ResourceId

AuthenticationType 刚调用 AccountKey

CallerIpAddress 是用户的 IP 地址

但像 123@domain.com 或类似的用户 ID 正是我要找的。那么我该如何包含 fields that describe how the operation was authenticated

要清楚 (在 KarthikBhyresh-MT 的一些输入之后)

我有自己的 ADSL,正在使用 在 ADSL 下的 Azure 门户中 > 诊断设置(经典) 我启用了 Blob 日志记录版本 2.0,Read/Write/Delete/Delete 数据 (正如建议的那样)

然后我使用 Microsoft Azure Storage Explore 上传一些文件,再次删除一些文件,通常会做一些记录

在 ADSL 下的 Azure 门户中 > 日志(预览) 我阅读了 StorageBlobLogs

如果我 运行 最简单的查询,其中 RequesterUpn 不为空,即使 AuthenticationType 是 OAuth,我也会得到我的用户名。那就是服务的登录。

但是当我找到 OperationName: DeleteFile 时,我不知道是谁做的 我有 autenticationHash(1) 和 CallerIpAdress(2),我可以从 OAuth 日志事件中查找 IpAdress 以对名称执行删除操作

如果您在 ADLS 帐户中开启了以下功能

如果需要,可选择路由

我现在可以从存储中的日志中看到有关ADLS的信息。

包含 upn 的示例记录。您可以在 identity.upn 找到它,其中 OAuth 是使用的授权,支持存储分析日志记录的 2.0 版

{
    "time": "2021-10-30T05:12:17.3923930Z",
    "resourceId": "/subscriptions/<Subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default",
    "category": "StorageRead",
    "operationName": "GetBlobServiceProperties",
    "operationVersion": "2020-08-04",
    "schemaVersion": "1.0",
    "statusCode": 200,
    "statusText": "Success",
    "durationMs": 712,
    "callerIpAddress": "<ip-address><port>",
    "correlationId": "fced83b0-xxxx-xxxx-xxxx-cd769c000000",
    "identity": {
        "type": "OAuth",
        "tokenHash": "E098F823BC1BE1D9AC73F22F82xxxxxxxxxxxxxxxxxxxx5537E013A5E6BDF71E",
        "requester": {
            "appId": "691458b9-xxxx-xxxx-xxxx-ed83a7f1b41c",
            "audience": "https://storage.azure.com/",
            "objectId": "b1c5060f-xxxx-xxxx-xxxx-31cce61160f4",
            "tenantId": "72f988bf-xxxx-xxxx-xxxx-2d7cd011db47",
            "tokenIssuer": "https://sts.windows.net/72f988bf-xxxx-xxxx-xxxx-2d7cd011db47/",
            "upn": "user@domain.com"
        }
    },
    "location": "East US",
    "properties": {
        "accountName": "<storage-account-name>",
        "userAgentHeader": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36 Edg/95.0.1020.30",
        "serviceType": "blob",
        "objectKey": "/<storage-account-name>",
        "serverLatencyMs": 711,
        "requestHeaderSize": 2713,
        "responseHeaderSize": 282,
        "responseBodySize": 802,
        "tlsVersion": "TLS 1.2"
    },
    "uri": "https://<storage-account-name>.blob.core.windows.net:443/?restype=service&comp=properties&_=1635xxxx35961",
    "protocol": "HTTPS",
    "resourceType": "Microsoft.Storage/storageAccounts/blobServices"
}

参考官方 MS Storage Analytics log format 文档了解更多详情。

"category": "StorageWrite"

的示例记录

一旦我坐下允许存储帐户密钥访问禁用。我在每个 StorageRead、StorageWrite、StorageDelete

上都有 OAuth

MS Dokumentation