> ## Documentation Index
> Fetch the complete documentation index at: https://docs.molesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 数据安全设置

> 管理加密字段的数据密钥，用正则模式脱敏敏感文本，在查询结果中遮掩字段，托管自定义域名，并搜索审计记录。

**设置** 的 **数据安全** 分组包括 **加密密钥**、**正则模式**、**字段遮掩**、**域名管理** 和 **审计**。查看前四个需要 `org.settings.read`，修改需要 `org.settings.manage`；**审计** 需要 `audit.read`。审计记录的保留期属于[平台设置](https://docs.molesignal.com/zh-Hans/settings/platform.md#审计保留)。

## 加密密钥

**加密密钥** 列出工作区的数据密钥，包括算法、版本和上次轮换时间。数据流第一次写入[加密字段](https://docs.molesignal.com/zh-Hans/streams.md#加密字段)时，MoleSignal 会自动创建对应的密钥，名称为 `__field_default__`。每把密钥都由根密钥 `MS_CIPHER_KEY` 包裹，密钥材料不会离开服务端。

| 操作 | 方法 |
| - | - |
| **新建密钥** | 填写 **名称** 和 base64 编码的 32 字节密钥材料（`key_material_b64`）。 |
| **轮换** | 粘贴新的 32 字节 base64 密钥材料。轮换会新增一个版本：新数据使用新版本，旧版本仍能解密它们加密过的数据。 |
| 删除 | 用这把密钥加密的数据将无法解密。 |

> [!WARNING]
>
> 丢失 `MS_CIPHER_KEY` 会导致所有加密字段无法恢复。参见[字段级加密](https://docs.molesignal.com/zh-Hans/security.md#字段级加密)。

## 正则模式

正则模式用于找出银行卡号、Token 等敏感文本并替换掉。

1. 点击 **新建模式**。
2. 填写 **名称**、**正则** 和 **描述**。保存时服务端会校验正则。
3. 填写 **替换为**。支持 `$1` 等捕获组；留空则删除命中的片段。
4. 用 **写入时脱敏** 选择生效位置，然后点击 **创建**。

| **写入时脱敏** | 效果 |
| - | - |
| 开启 | 每个写入事件的所有字符串值都会在流水线之后、落盘之前被脱敏，原文永久丢失。 |
| 关闭 | 存储的数据保留原文。SQL 中调用 `mask(<column>)` 的查询会得到应用了这些正则的列。 |

`mask()` 应用工作区的全部正则模式。列表的 **脱敏** 列为每个模式显示 **写入时** 或 **仅查询**。

## 字段遮掩

字段遮掩在查询结果中隐藏字段值的一部分，查询仍基于原始值计算。它不作用于指标数据流。

1. 点击 **新建规则** 并填写 **规则名称**。
2. **字段匹配**：精确的字段名，或带 `*`、`?` 通配符的名称，例如 `user.*`。不支持正则表达式。
3. 可以用 **数据流匹配**（例如 `customer-*`）和 **数据流类型** 缩小范围。
4. 选择 **算法**，保持 **启用规则** 开启并保存。

| 算法 | 效果 |
| - | - |
| **全遮掩** | 用 **替换内容** 替换整个值。 |
| **区间遮掩** | 遮掩从 **起始字符** 到 **结束字符（不含）** 的字符。 |
| **内部遮掩** | 保留 **保留前缀字符数** 和 **保留后缀字符数** 指定的字符，遮掩中间部分。 |
| **外部遮掩** | 只保留从 **起始字符** 到 **结束字符（不含）** 的字符，遮掩两侧。 |
| **HMAC-SHA-256 哈希** | 用服务端管理的工作区密钥生成摘要替换原值。同一个值得到同一个摘要，因此结果仍可分组和关联。 |

字段命中的第一条启用规则生效，拖动行可以调整顺序。[数据流](https://docs.molesignal.com/zh-Hans/streams.md#schema-与字段)的字段设置可以覆盖继承的规则，或为某个字段关闭遮掩。

## 域名管理

**域名管理** 让工作区通过自己的域名访问，证书由 MoleSignal 自动申请和续期。

1. 启用 `[http.tls]` 并填写 `account_email`。参见 [HTTP TLS 与 ACME](https://docs.molesignal.com/zh-Hans/configuration.md#http-tls-与-acme)。
2. 把域名的 DNS 指向 MoleSignal，使 ACME 服务能通过明文 HTTP 端口访问 `/.well-known/acme-challenge/`。
3. 点击 **添加域名**，填写 **域名**，再点击 **添加域名**。

列表显示每个域名的 **状态**、证书到期时间和 **最近错误**。新添加的域名在证书签发前处于 `pending`，签发后变为 `active`。证书会在到期前 30 天内自动续期。移除域名后不再为它提供服务。

## 审计

**审计** 搜索工作区的审计记录：与安全相关的操作，以及对资源和设置的修改，每条记录包含操作者、动作、目标、状态和时间。

| 筛选条件 | 用法 |
| - | - |
| **起始** / **结束** | 时间范围，可以是绝对时间，也可以是 `now-24h` 这样的相对时间。 |
| **操作者类型** / **操作者** | 某类操作者，或某个用户。 |
| **动作** | 动作键，例如 `audit_retention.update`。 |
| **目标类型** / **目标 ID** | 被修改资源的类型与 ID。 |

点击 **应用** 搜索，**重置** 清空筛选条件。点击某一行查看完整事件并 **复制 ID**。Mole Agent 对话的事件会显示该对话的历史。页面顶部说明记录保留多久；**修改保留期限** 会打开 `_sys` 中的平台设置。

凭证、模型密钥、敏感的 Webhook 请求头和签名材料都不会出现在审计记录中。参见[审计](https://docs.molesignal.com/zh-Hans/security.md#审计)。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.