Office 365 模块
编辑Office 365 模块
编辑此功能处于测试阶段,可能会发生变化。其设计和代码不如正式 GA 功能成熟,按原样提供,不提供任何保证。测试版功能不受正式 GA 功能支持 SLA 的约束。
这是一个用于通过 Office 365 API 端点之一接收的 Office 365 日志的模块。它目前支持来自 Office 365 和 Azure AD 活动日志的用户、管理员、系统和策略操作和事件,这些日志由 Office 365 管理活动 API 公开。
运行此模块需要 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 的已记录限制。
示例仪表板
编辑此模块附带一个示例仪表板
字段
编辑有关模块中每个字段的说明,请参阅 导出字段 部分。