This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

审计日志

编辑页面

了解如何通过使用审计日志来跟踪和分析你的账户活动。


审计日志会记录帐户通过 Expo Application Services(EAS)执行的操作。记录的数据包括受影响实体的信息、对其所做修改的类型、执行该操作的人以及活动发生的时间。

重点

  • 审计日志只能创建,不能修改或删除;它们是事实来源,可帮助监控事件并调试帐户中出现的问题。
  • 审计日志适用于 Enterprise plan 客户。订阅后,Expo 内部使用的部分日志会立即开放,而其他类型的日志将在订阅激活后开始收集。
  • 审计日志会保存 1.5 年。如果帐户被删除,其审计日志将在 90 天后删除。
  • 若要访问审计日志,请前往 Account settings/Organization settings > Audit logs,或使用 EAS CLI。

使用场景

权限监控

审计日志可以跟踪组织内的用户邀请和权限变更。一个安全事件示例可能包括:某个被入侵的员工帐户将攻击者邀请进组织,并将其权限更改为 管理员。

在这种情况下,审计日志会记录是哪个员工帐户邀请了攻击者并修改了权限。由于审计日志是不可变的,攻击者将无法删除这段已记录的历史。其他组织成员可以查看审计日志,以确定哪个帐户遭到入侵,采取措施撤销攻击者的权限,并保护员工的帐户。

审计日志按权限名称记录权限变更,而非按角色记录。例如,PUBLISH_PROTECTED 包含在 Release Manager、Admin 和 Owner 角色中。它允许管理处于 private beta 阶段的受保护渠道,并向这些渠道所指向的分支发布更新。

访问历史

Expo 组织帐户可以包含许多项目,其中开发访问权限通过分配给各个团队的分发证书来控制。当设备被授权加入这些团队时,跟踪访问权限何时被授予和移除,对于历史记录保存非常重要。尽管某台设备当前可能未包含在某个 Apple 团队中,但在发生内部安全事件时,查看谁曾经有权访问该团队可能会很有用。

Expo 团队设置中列出的 Apple 设备只会显示当前已注册到帐户的设备,但借助审计日志,可以查看 Apple 团队和设备的历史修改记录。

审计日志实体

虽然我们未来还在持续添加更多实体,但以下实体已经启用:

  • 账户
  • 账户订阅
  • Android App 凭据
  • Android Keystore
  • App Store Connect API 密钥
  • Apple 设备
  • Apple 分发证书
  • Apple 配置描述文件
  • Apple 团队
  • EAS 托管别名
  • EAS 托管自定义域名
  • EAS 托管部署
  • EAS 更新分支
  • EAS 更新渠道
  • Google 服务账号密钥
  • iOS App 凭据
  • LogRocket 组织
  • LogRocket 项目
  • 组织 SSO 配置
  • 项目
  • 用户邀请
  • 用户权限
  • 工作流
  • 工作流修订版

结构

审计日志条目包含以下字段:

字段描述
行为者执行特定操作的帐户行为者。
实体类型使用以下修改类型之一被修改的对象:CREATE、UPDATE、DELETE。
操作类型修改类型:CREATE、UPDATE、DELETE。
消息包含基于 Action 的信息。
创建时间执行特定操作的时间。

此外,点击某条审计日志行后,你可以查看与该日志相关的元数据。

导出

审计日志适用于 Enterprise plan 客户。订阅后,Expo 内部使用的部分日志会立即开放,而其他类型的日志将在订阅激活后开始收集。

你可以导出审计日志,以便在 Expo 控制面板之外查看。导出审计日志的步骤如下:

  1. 在侧边栏菜单的 Account/Organization settings 下,点击 Audit logs。
  2. 点击审计日志页面右上角的 Export 按钮。
  3. 选择所需的时间范围。导出支持最长 30 天的时间范围。
  4. 审计日志将导出为可下载的文件。

导出的文件将包含审计日志页面上显示的所有字段,但不包括 Message 字段。

使用 EAS CLI 查看审计日志

你也可以在终端中以编程方式读取审计日志。使用帐户名称运行 eas account:audit 命令:

Terminal
- eas account:audit my-account

如果省略帐户名称,命令会提示你选择一个帐户。若要在脚本中读取日志,请传入 --json 标志:

Terminal
- eas account:audit my-account --json

有关分页和其余标志的信息,请参阅 eas account:audit 参考。