Office 365 模块
编辑Office 365 模块编辑
此功能处于测试阶段,如有更改,恕不另行通知。设计和代码的成熟度低于正式的 GA 功能,并且按原样提供,不提供任何担保。测试版功能不受正式 GA 功能支持 SLA 的约束。
这是一个用于接收通过 Office 365 API 端点之一接收的 Office 365 日志的模块。它目前支持来自 Office 365 管理活动 API 公开的 Office 365 和 Azure AD 活动日志的用户、管理员、系统和策略操作和事件。
运行此模块需要ingest-geoip和ingest-user_agent Elasticsearch 插件。
阅读快速入门,了解如何配置和运行模块。
配置模块编辑
您可以通过在 modules.d/o365.yml
文件中指定变量设置或在命令行覆盖设置,进一步优化 o365
模块的行为。
您必须在模块中至少启用一个文件集。 默认情况下,文件集处于禁用状态。
变量设置编辑
每个文件集都有单独的变量设置,用于配置模块的行为。如果您没有指定变量设置,则 o365
模块将使用默认值。
对于高级用例,您还可以覆盖输入设置。请参阅覆盖输入设置。
当您在命令行指定设置时,请记住在设置前加上模块名称,例如,使用 o365.audit.var.paths
而不是 audit.var.paths
。
audit
文件集设置编辑
audit
文件集使用 Office 365 管理活动 API 从 Office 365 和 Azure AD 活动日志中检索审计消息。这些日志与“安全与合规性中心”的“审计日志搜索”下提供的日志相同。
设置编辑
要使用此文件集,您需要启用审计日志搜索并在Azure AD 中注册应用程序。
注册此应用程序后,请记下“应用程序(客户端)ID”和“目录(租户)ID”。然后在“证书和机密”部分中配置身份验证。
使用客户端机密身份验证的示例配置 o365.yml
audit: enabled: true var.application_id: "<My Azure AD Application ID>" var.tenants: - id: "<My Tenant ID>" name: "mytenant.onmicrosoft.com" var.client_secret: "<My client secret>"
基于证书的身份验证在监控多个租户时特别有用。示例配置
audit: enabled: true var.application_id: "<My Azure AD Application ID>" var.tenants: - id: "<Tenant A ID>" name: "tenantA.onmicrosoft.com" - id: "<Tenant B ID>" name: "tenantB.onmicrosoft.com" var.certificate: "/path/to/certificate.pem" var.key: "/path/to/private_key.pem" var.key_passphrase: "my_passphrase" # (optional) for encrypted keys
最后,您需要在“API 权限”部分添加权限并授予管理员同意。单击“添加权限”并选择“Office 365 管理 API”。所需的权限为
- User.Read
- ActivityFeed.Read
- ActivityFeed.ReadDlp
- ServiceHealth.Read
添加所需的权限后,单击“授予管理员同意”按钮。请注意,所需的权限可能需要一段时间才能生效,因此您可能会在立即运行 Filebeat 时观察到一些权限错误。
备用端点编辑
此模块支持用于本地部署的自定义端点以及备用端点(GCC 高端点、美国国防部、欧盟等)。为了将模块指向备用端点,您需要相应地调整 authentication_endpoint
和 resource
变量。例如
var.api: # default is https://login.microsoftonline.com/ authentication_endpoint: https://login.microsoftonline.us/ # default is https://manage.office.com resource: https://manage.office365.us
配置选项编辑
-
var.application_id
- Azure 应用程序的应用程序 ID(也称为客户端 ID)。
-
var.tenants
- 一个或多个租户 ID 和名称对的列表。将
id
字段设置为租户 ID(也称为目录 ID)。将名称设置为租户的主机名,即您组织的 Office 365 域。 -
var.client_secret
- 用于对您的 Azure AD 应用程序进行身份验证的客户端机密 (api_key)。此选项不能与
var.certificate
选项同时指定。 -
var.certificate
- 用于客户端身份验证的证书文件的路径。此选项不能与
var.client_secret
选项同时指定。 -
var.key
- 用于客户端身份验证的私钥文件的路径。
-
var.key_passphrase
- 用于解密存储在已配置的
var.key
文件中的加密密钥的密码。仅当密钥已加密时才设置此选项。 -
var.content_type
-
要订阅的内容类型列表。默认情况下,它会订阅所有已知的内容类型
- Audit.AzureActiveDirectory
- Audit.Exchange
- Audit.SharePoint
- Audit.General
- DLP.All
高级配置选项编辑
以下配置选项仅在出现问题时才建议使用。它们必须嵌套在单个 var.api
键下,如下所示
var.api: authentication_endpoint: https://login.microsoftonline.com/ resource: https://manage.office.com max_retention: 168h poll_interval: 3m max_requests_per_minute: 2000 max_query_size: 24h
-
var.api.authentication_endpoint
- 用于对 Azure 应用进行授权的身份验证端点。默认情况下为
https://login.microsoftonline.com/
,可以更改以访问备用端点。 -
var.api.resource
- 要从中检索信息的 API 资源。默认情况下为
https://manage.office.com
,可以更改以访问备用端点。 -
var.api.max_retention
- 支持的最大数据保留期。默认值为
168h
。Filebeat 在首次运行时将获取租户的所有保留数据。默认值为 7 天,这与 Microsoft 在删除日志之前保留日志的标准期限相匹配。仅当您的租户的保留期更长时才增加此值。 -
var.api.poll_interval
- 在轮询 API 服务器以获取新事件之前等待的时间间隔。默认值为
3m
。 -
var.api.max_requests_per_minute
- 每个租户每分钟要执行的最大请求数。默认值为
2000
,因为这是每个租户的服务器端限制。 -
var.api.max_query_size
- API 在单个查询中允许的最大时间窗口。默认为
24h
,以匹配 Microsoft 记录的限制。
示例仪表板编辑
此模块附带一个示例仪表板
字段编辑
有关模块中每个字段的描述,请参阅导出字段部分。