# 五角大楼项目的 FDE，为何写代码前先问影响等级

> FedRAMP 只是底线，其上的影响等级决定部署位置、隔离程度和谁能看日志。

原文: https://fdetimes.net/zh/guides/fedramp-il4-il5-fde-dod-deployment/

在美国国防部（DoD）客户那里的第一周，最重要的问题往往与 API 或数据结构无关。它短得多：这些数据属于哪个影响等级？答案决定了可以部署在哪里、环境需要隔离到什么程度，以及团队里谁有权打开一份日志文件。

习惯了商业客户的工程师常在这里栽跟头。给零售商做项目，选好区域、打开加密就可以开始写代码。面对美国政府客户，许多决定在你到场之前就已做出，有时做决定的人你从未见过，而你的任务是准确理解这些决定。

如果你想在向美国政府销售软件的公司担任前线部署工程师（FDE），值得在投递简历前先吃透这些基础。这样从与客户的第一次会议起，你就能问对问题。

## FedRAMP 是地基，影响等级是上面要盖几层楼

美国国防部首席信息官在 2014 年 12 月发布的一份备忘录，把 FedRAMP 定为国防部所有云服务的最低安全基线。在此基础上，《云计算安全要求指南》（Cloud Computing SRG）在每个影响等级都采用 FedRAMP Moderate 基线，并在部分等级考虑 High 基线。

不妨这样理解：FedRAMP 是地基，影响等级告诉你上面还得盖几层楼。下表汇总了最常听到的几个等级，以及每个等级对日常工作的改变。

| 等级 | 数据 | 控制基线 | 对 FDE 意味着什么 |
|---|---|---|---|
| IL2 | 表中最低等级 | FedRAMP Moderate | 最接近商业项目 |
| IL4 | CUI 及非关键任务数据 | 接受 FedRAMP High，但仍须满足 SRG 中非控制类要求 | 只有美国人士可以访问数据 |
| IL5 | 需要比 IL4 更高保护的 CUI，以及国家安全系统（NSS） | FedRAMP High + FedRAMP+ + SRG 要求 | 增加与非政府租户的物理隔离 |
| IL6 | SECRET 级涉密数据及 NSS | 针对涉密数据的额外控制 | 不在本文讨论范围内 |

受控非密信息（CUI）指未定密但仍受管控的数据。本文后面聚焦 IL4 和 IL5：这两个等级涉及 CUI，并带来直接作用于 FDE 团队的人员限制。

## 为什么“我们有 FedRAMP High”回答不了问题

在 IL4，SRG 接受 FedRAMP High 临时授权（PA），不再要求对控制措施或控制增强项做进一步评估。即便如此，SRG 中不属于控制措施的要求仍须评估。所以“有 High”只是起点，不是通行证。

到了 IL5，差距更大。要获得 IL5 PA，服务必须具备 FedRAMP High，再加上国防部的 FedRAMP+ 控制和 Cloud Computing SRG 的具体要求。供应链中的厂商如果只拿出 High 授权，下一个问题就该是：IL5 PA 呢？

还有一点容易忽略：数据属于哪个等级，不由你的团队决定。把 CUI 或任务数据定为 IL5，是授权官员的职权，也就是负责为该信息定级的人。FDE 要做的是找到这个人，并拿到书面决定。

**要点:** 数据的分级既决定架构，也决定谁有资格接触它。

## 示例：在 IL5 环境中检索维修文档

假设你要为一个后勤单位的维修文档部署一个检索增强生成（RAG）式的搜索工具。文档带有 CUI 标记，其中一部分包含受出口管制的技术规格。你已经在公司的商业云账号上跑通了一个效果不错的演示。

第一步是与授权官员会面。假设对方认定数据属于 IL5，那么演示只能作为思路草图，真正的部署架构必须在另一个环境中重建。

第二步是环境。IL5 要求与国防部或联邦政府以外的租户物理隔离，例如公共租户，或州和地方政府的租户。国防部与联邦租户之间可以采用逻辑隔离。

结果是，每个接触数据的组件，从模型、向量库到日志系统，都必须位于符合 IL5 标准的环境中，包括你平时习惯在共享基础设施上调用的模型端点。

第三步是人员。能够访问 IL4 和 IL5 数据的服务方人员必须是美国公民、美国国民或美国人士，外国人士不得拥有这类访问权限。如果团队里有一位能力出众但属于外国人士的同事，即使在值班，也不能查看含有客户数据的日志。

注意，这一限制依据的是每个人的法律身份，而不是工作地点。拟定团队名单时，要逐人核实身份，而不是只看办公地点。

第四步是出口管制。受 EAR 等规则约束的数据属于 CUI 类别，在谁能接触数据上又多了一层限制。

设计上，要从一开始就把数据从日志中过滤掉，并把运维基础设施的权限与查看内容的权限分开，而不是等到审计时再补救。

## 写代码前要回答的五个问题

第一，授权官员是谁？他们给数据定了什么等级，有书面依据吗？第二，架构中的每个服务是否都有该等级的 PA？对 IL5 而言，是具备完整的 FedRAMP+，还是止步于 High？

第三，列出所有接触数据的组件，包括缓存、日志和调试工具，并记录每个组件运行在哪里。第四，谁会看到数据，包括技术支持和值班人员，他们是美国人士吗？最后，数据是否受出口管制？

把这五个答案写进范围界定文档，和时间表放在一起。如果第四个问题迫使团队换人，客户需要在第一周就知道，而不是在上线那一周。

## 从第一天起就要避免的错误

要改掉一个习惯：把数据样本拉到笔记本电脑或商业环境里，“只是为了调试”。对 IL5 数据而言，这样一份副本就可能同时违反隔离要求和人员限制。

也不要把 FedRAMP High 等同于 IL5，或者以为有了 High 就搞定了 IL4，忘了 SRG 中的非控制类要求。组建团队时，要把访问资格和技能一起核查，免得中途重组。

## 这项技能能打开哪些门？

与 FDE 模式联系最紧密的 Palantir 于 2024 年 12 月获得 FedRAMP High，此前它已获得 FedRAMP Moderate、国防部 IL5 和 IL6 授权。它面向美国政府项目的 Forward Deployed Software Engineer 招聘要求持有 Top Secret 安全许可或愿意申请，并在客户现场工作。

如果你不是美国人士，有必要说得直白些：涉及 IL4/IL5 数据的岗位不会向你开放。即便如此，在数据分级约束下做部署的习惯，同样适用于任何国家的银行、医疗或政府客户。

在简历上描述项目时，要写清你处理过的约束，例如环境隔离、控制谁能看到数据、过滤日志，而不只是罗列技术栈。

本周练习：拿出你最近的一个项目，假设其数据被定为 IL5，写下所有必须改变的地方。如果清单超过一页，你就明白为什么政府客户要先问影响等级了。

**本周动手试试:**

- 画出当前项目的架构图，标出所有接触客户数据的组件，包括日志、缓存和调试工具
- 列出所有可能看到这些数据的人，包括值班和技术支持人员，然后自问：如果数据属于 IL5，谁必须从名单上移除？
- 阅读三份政府项目的 FDE 招聘启事，记下其中对安全许可、国籍和现场工作的要求

## 信源

- [Department of Defense Impact Level 5 - Azure Compliance | Microsoft Learn](https://learn.microsoft.com/en-us/azure/compliance/offerings/offering-dod-il5)

- [Department of Defense Impact Level 4 - Azure Compliance | Microsoft Learn](https://learn.microsoft.com/en-us/azure/compliance/offerings/offering-dod-il4)

- [Your Guide to Government Cloud FedRamp and DOD Impact Levels](https://www.salesforce.com/blog/government-cloud-fedramp-dod-impact-levels/)

- [Palantir Granted FedRAMP High Baseline Authorization](https://www.silicon.co.uk/press-release/palantir-granted-fedramp-high-baseline-authorization)

- [Forward Deployed Software Engineer - US Government - Federal Health and Civilian](https://jobs.lever.co/palantir/be4ab5cb-9caa-4c2a-97b9-c73805fca4fc)
