

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon WorkSpaces 安全浏览器的会话记录器中的会话事件
<a name="session-events-session-logger"></a>

会话记录器捕获各种与会话相关的事件，用于监控和审计。

您可以将会话记录器配置为收集所有会话事件或选定的子集，具体取决于 WorkSpaces 安全浏览器门户的需求。有关配置的更多信息，请参阅[为 Amazon WorkSpaces 安全浏览器设置会话记录器](session-logger.md)。

为了保护用户隐私，Session Logger 不会记录敏感内容，例如剪贴板数据或上传或下载文件的内容。

所有事件中都包含以下字段：
+ **时间**
+ **用户名**
+ **门户 ID**
+ **门户 IP**
+ **客户端 IP**
+ **会话 ID**


****  

| 名称 | 描述 | 活动中包含的其他字段 | 
| --- | --- | --- | 
| SessionStart | 安全浏览器会话已启动，但用户尚未连接。 |  | 
| SessionConnect | 用户已连接到安全浏览器会话。 |  | 
| TabOpen | 在他们的安全浏览器会话中，用户打开了一个新选项卡，或者在新标签页中打开了一个链接。 | 主机名、路径、URL（如果用户在新选项卡中打开链接）、无（如果用户打开新选项卡） | 
| UrlVisit | 在浏览器会话中，用户导航到一个 URL。 | 主机名、路径、URL  | 
| WebsiteInteract | 用户更改了网站上的标准 HTML 元素（例如，点击复选框、单选按钮或按钮，或者在下拉列表中选择项目）。 | 主机名、路径、URL  | 
| TabClose | 在浏览器会话中，用户关闭了一个选项卡。 | 主机名、路径、URL（如果用户关闭了他们导航到的选项卡）、无（如果用户关闭了新选项卡） | 
| ContentTransferFromLocalToRemoteClipboard | 用户使用本地浏览器（安全环境之外）中的内容在安全浏览器中更新了剪贴板。可以通过会话中的工具栏复制内容或通过键盘快捷键（Ctrl\$1C/Ctrl\$1V）传输数据来进行此更新。 |  | 
| ContentCopyFromWebsite | 用户使用安全浏览器（在安全环境内）中的内容更新了安全浏览器中的剪贴板。 | 主机名、路径、URL  | 
| ContentPasteToWebsite | 剪贴板内容已粘贴到浏览器内的网页中。（此事件不会捕获将剪贴板内容粘贴到浏览器 URL 栏中的实例。） | 主机名、路径、URL  | 
| PrintJobSubmit | 用户向浏览器的虚拟打印机（“DCV 打印机”）提交了请求作业。内容在用户的本地计算机上以 PDF 格式保存。 | 文件名、大小、扩展名  | 
| FileDownloadFromSecureBrowserToRemoteDisk | 会话中的一个文件已保存到远程实例的本地磁盘。 | 主机名、路径 URLfilename、大小、扩展名  | 
| FileTransferFromRemoteToLocalDisk | 文件已从远程实例的磁盘下载到用户的本地设备。 | 文件名、大小、扩展名  | 
| FileUploadFromRemoteDiskToSecureBrowser | 存储在远程实例本地磁盘上的文件已通过浏览器会话上传到文件共享 SaaS 平台（例如 Google 云端硬盘、Box 或 File.io）。 |  | 
| FileTransferFromLocalToRemoteDisk | 文件已从用户设备上传到安全浏览器会话。 | 文件名、大小和扩展名  | 
| SessionDisconnection | 用户已断开与安全浏览器会话的连接。 |  | 
| SessionEnd | 安全浏览器会话已终止。终止可以通过以下三种方式之一发生：管理员通过控制台中的用户会话管理器结束会话，用户使用工具栏中的 “结束会话” 手动结束会话，或者会话在超过管理员设置的持续时间后超时。 |  | 

每个事件都遵循 [OCSF标准](https://github.com/ocsf)，并包含所有事件共有的属性列表：

```
{
    activity_name : String | A human readable name of the event | eg. UrlLoad
    activity_id : Integer | OCSF standard value 99 for 'others'
    category_name : "WorkSpacesSecureBrowser" | The category name where the event belongs to.
    category_id : 2 | Numerical identifier for category,
    metadata : [link](https://schema.ocsf.io/1.3.0/objects/metadata?extensions=) | Required {
        product : [link](https://schema.ocsf.io/1.3.0/objects/product?extensions=) {
            vendor_name : "wsb",
            name : "WorkSpacesSecureBrowser"
        }
        version : String | Version of the schema | eg. 1.0.0
    },
    severity_id : 1 | The severity of the event. All events will have a severity of 1, meaning 'Informational',
    type_id : class_uid * 100 + activity_id
    time : The time the event happened (RFC3339 format),
    observables : [link](https://schema.ocsf.io/1.3.0/objects/observable?extensions=) [
        {
            name : "session_detail.portal_id",
            type_id : 10 //Resource UID
            value : //Generated value
        },
        {
            name : "session_detail.session_id",
            type_id : 10 //Resource UID
            value : //Generated value
        },
        {
            name : "session_detail.client_ip",
            type_id : 2 //IP Address
            value : //Generated value
        },
        {
            name : "session_detail.portal_ip",
            type_id : 2 //IP Address
            value : //Generated value
        },
        {
            name : "session_detail.username",
            type_id : 10 //Resource UID
            value : //Generated value
        }
    ],
    
    // New Events
    session_detail : {
        portal_id : String | UUID of the Portal | eg. 1ebe42de-86bb-4073-88a4-34284bc5bcbb,
        session_id : String | SessionId of the user session | eg. 17be80fa-7bc2-4675-b17a-791243938cdf 
        client_ip : String | IP Address from which user LoggedIn From | eg. 31.65.180.9
        portal_ip : String | IP Address of the AWS AppStream Instance that is running the Portal | eg.240.62.100.169
        username : String | The logged-in username | eg. bobross
    }
}
```

以下是该 URLVisit 事件的示例：

```
{
    activity_id : 99,
    activity_name : "URLVisit",
    ...
    observables : [
        ...
        {
            name : "url",
            type_id : 23 //Unified Resource Locator
        }
    ]
    ...
    url : {
        url_string : String | Full URL path,
        hostname : String | The hostname in the URL
        path : String | Path in the domain
    }
}
```

以下是该 PrintJobSubmit 事件的示例：

```
{
    activity_id : 99,
    activity_name : "PrintJobSubmitted",
    observable : [
        ...
        {
            name : "file.name",
            type_id : 24 // File
        }
    ]
    ...
    file : {
        name : String | The file name,
        type_id : 1 //Regular file
        size : Long | Size in bytes
        ext : String | File extension
    }
}
```

## Amazon WorkSpaces 安全浏览器的会话记录器指标
<a name="session-logger-metrics"></a>

会话记录器会发出以下 Amazon CloudWatch 指标。

您可以使用该**SessionLoggerEventDelivered**指标来监控来自门户的事件的总数，或者通过计算数据点的数量而不是求和值来查看传送的日志文件数量。我们建议在**SessionLoggerTargetNotFoundError**和SessionLoggerAccessDeniedError指标上配置警报，以检测资源或权限的意外删除。

**注意**  
每个会话每分钟收集一次指标数据点，并每隔 5 分钟发布 Amazon CloudWatch 一次。每次传送日志文件时，都会立即发出会话记录器指标。


**会话记录器指标**  

| 指标 | 描述 | 维度 | 统计信息 | 单位 | 
| --- | --- | --- | --- | --- | 
| SessionLoggerEventDelivered | 每个交付的 Session Logger 文件包含的事件数。 | [PortalId] | 平均值、总数、最大值、最小值 | 计数 | 
| SessionLoggerTargetNotFoundError | 导致未找到存储桶的日志文件传送数量。 | [PortalId] | 平均值、总数、最大值、最小值 | 计数 | 
| SessionLoggerAccessDeniedError | 导致权限被拒绝的日志文件传送数量。 | [PortalId] | 平均值、总数、最大值、最小值 | 计数 | 