1 分钟

企业 AI 访问控制应如何运作?

评估企业 AI 访问控制中的 SAML SSO、SCIM、RBAC、审批关卡、凭据范围、环境隔离和审计导出。

企业 AI 访问控制应如何运作?

企业 AI 开发工作区应把每一项生成的变更视为由某个真人身份、通过明确角色、针对特定环境执行的操作。如果平台能够读取源代码、调用外部服务、创建基础设施、部署应用、恢复快照或导出代码,它的访问模型控制的就是生产系统,而不只是一个聪明的编辑器。

我最常见的采购错误,是只检查功能表上是否出现 SAML、SCIM 和 RBAC。出现这些名称几乎不能说明执行是否到位。供应商可以接受 SAML 断言,却仍开放密码登录;可以处理 SCIM 暂停请求,却保留活跃会话;还可以宣传 RBAC,却让每个构建者都有部署权限。买方需要测试从身份提供商到最终实际影响的整条链路。

认证、生命周期管理、授权、审批、凭据处理、环境隔离和审计证据解决的是不同问题。把它们笼统归在“安全”之下,会掩盖控制措施之间的缺口。这些缺口会让离职员工保留会话,让开发智能体接触生产凭据,也会让已经批准的变更在发布前发生变化。

SAML 应消除并行入口

SAML SSO 应让企业身份提供商成为进入工作区的常规且可强制执行的路径,而不是供应商密码表单旁的一个可选按钮。认领企业域名后,应阻止自行注册、密码找回,以及为该域名创建非受管身份的邀请。

OASIS SAML 2.0 规范定义了有关认证和属性的断言。它们不会在员工离职时停用供应商账户,也不会决定已认证的工程师能否部署到生产环境。这个边界很重要,因为采购问卷常把 SAML 当作集中访问控制的证明,而它只证明了认证的一部分。

严肃的实现会验证断言签名、颁发者、受众、接收方、时间条件和请求关联。它应支持证书轮换而不中断服务,并通过不可变标识符映射用户。电子邮件不适合作为主要标识符,因为地址会变更、会被重新分配,有时只在格式上不同。应询问哪个 SAML 属性会成为持久账户身份,以及该属性变化后会发生什么。

要求管理员能够配置会话时长、非活动限制,以及对敏感操作重新认证。若策略依赖多因素认证,工作区应遵循身份提供商的认证上下文。如果它接受身份提供商签发的任何断言,就不应声称 SAML 自动提供强认证。

本地紧急访问需要严格的例外。应在常规 SSO 路径之外保留一个或多个紧急账户,避免身份提供商故障导致所有管理员都无法登录。用强认证、独立保管、即时告警和有记录的测试计划保护这些账户。普通管理员不应为了方便而使用它们。

测试绕过路径,而不只是登录按钮。打开旧邀请,申请密码重置,修改用户邮箱,将用户移出身份提供商允许的群组,并尝试由身份提供商发起登录到错误租户。确认工作区如何处理访客域名、收购公司的域名和多个身份提供商。如果供应商无法清楚解释账户关联方式,就应假定会出现重复身份。

会话终止值得单独作为验收标准。在身份提供商中禁用某人,可能会阻止其下次登录,但现有浏览器会话、命令行令牌或智能体任务仍可持续数小时。询问管理员能否撤销某一身份的全部会话,以及 SCIM 暂停是否会自动触发这项操作。

SCIM 必须无需人工记忆便能关闭账户

当身份源暂停用户时,SCIM 应及时移除其对交互式会话、API 凭据、排队工作和智能体执行的有效访问权。仅把账户字段设为非活跃,不能完成离职处理。

RFC 7643 定义了核心 User 和 Group 资源架构,RFC 7644 定义了创建、查询、修改和删除这些资源的协议操作。这些标准为供应商提供了通用交换方式,但没有规定停用账户后所有本地后果。买方必须询问工作区收到变更后实际会做什么。

配置流程应在首次登录前,以正确的组织归属和基础群组成员资格创建账户。群组更新应能可预测地添加和移除工作区角色。暂停账户应拒绝新会话,撤销现有会话和个人令牌,停止或重新分配计划任务,并防止在暂停身份下执行待处理审批。删除应遵循客户的保留策略,同时不抹除审计归属。

一个常见故障始于属于发布群组的承包商。身份提供商将该承包商移出群组并发送 SCIM 补丁。工作区更新了可见角色,但之前的浏览器会话仍保留发布权限。承包商在被移除前排队的部署,也会稍后借助服务凭据运行。每个界面看起来都正确,但实际访问权仍在两个地方有效。

该故障揭示了目录状态和运行时权限的区别。SCIM 更新目录状态。工作区必须将变更传播至会话、令牌、任务、审批分配和缓存的授权决定。采购方应设定预期撤销时限并进行测量,而不是接受“立即”或“自动”这样的说法。

群组协调也需要测试。将用户从一个群组移除但保留在另一个群组,暂停后重新启用用户,重命名群组,以及删除授予生产访问权限的群组。重新启用不应恢复用户已不再拥有的群组带来的权限。手动角色授予应单独可见,因为它们可能在群组清理后仍然存在。

还应检查 SCIM 连接器本身。它的持有者令牌应只具备配置权限,支持轮换,并为配置和使用生成审计事件。服务提供方应给出有用的错误响应,并能安全重试。一个悄悄丢弃群组变更的连接器,会让身份团队变成无偿监控软件。

RBAC 应将操作映射到资源

RBAC 应明确哪个身份能对哪个资源、在哪个环境执行哪项操作。一组宽泛的查看者、成员和管理员标签,无法安全管理一个能够构建和发布软件的工作区。

从操作而不是职位开始。权限目录应区分查看项目、编辑指令、运行智能体、读取生成的源代码、导出源代码、管理快照、恢复版本、配置域名、创建部署、晋级制品、读取密钥元数据、更改凭据、读取审计记录和修改组织策略。确切的名词会因平台而异,但这种分隔不能消失。

一个可行的起始矩阵如下:

角色在开发环境构建审查变更批准生产环境部署生产环境管理凭据导出审计日志
构建者
审查者只读
发布审批者只读
发布操作员只读只读审批后可以
凭据保管人
安全审计员只读只读只读仅元数据
组织管理员仅策略仅策略仅分配配置

不要照搬这张表。应利用它找出需要明确决策的权限组合。有些组织会将审批者和操作员合并,受监管团队则会将两者分开。危险的默认设置是一个通用管理员能够创建变更、批准变更、添加凭据、部署变更并删除证据。

角色需要范围。某位工程师可以在一个工作区构建,在另一个工作区审查,而对第三个没有访问权。生产权限不应因为工程师能访问开发环境就自动获得。授权引擎应支持组织、工作区、项目、环境和资源范围,并说明继承规则。买方应了解父级范围的允许是否覆盖下级拒绝,还是相反。

只有当供应商公开稳定的权限并能报告有效访问权时,自定义角色才有价值。要求提供一个视图或导出,以回答简单的调查问题:这个身份为何能执行这项操作?响应应列出直接分配、由群组派生的角色、继承权限、临时授予和策略条件。没有这种解释,自定义角色在第一次组织重组后就很难审查。

人员角色和工作负载身份也应分别处理。部署智能体不应借用创建者完整的交互式角色,服务身份也不应登录用户界面。为每个工作负载指定名称、负责人、用途、环境、权限集、到期或审查日期,以及撤销路径。

环境需要真正的安全边界

开发、测试和生产环境应通过强制的权限、凭据、运行时资源、数据策略和发布路径体现差异。环境选择器或彩色标签不能形成隔离。

第一道边界是授权。能修改开发资源的构建者,不应通过同一个继承项目角色获得生产访问权。第二道是凭据。开发智能体应获得开发数据库和云权限,绝不能获得能够访问所有环境的组织凭据。第三道是数据:预览和测试不应复制生产记录,除非有独立流程授权并保护该用途。

当生成的应用可发起出站调用或创建基础设施时,运行时隔离很重要。询问环境是否使用不同的执行身份、网络规则、存储位置和部署目标。如果共享工作节点处理多个环境,应确认平台如何防止一个任务读取另一个任务的内容。所谓逻辑隔离,需要展示控制措施,而不是一页架构幻灯片。

晋级应移动经过审查的制品,而不是在更宽泛的生产权限下重新构建可变源代码。记录源修订、生成文件、依赖锁定状态、测试结果、策略版本和制品摘要。如果生产环境从最新项目状态重新构建,审批后的变更就可能未经审查进入发布。

快照和回滚也需要同样的边界。恢复早期应用版本,也可能恢复有漏洞的代码、过期配置,或不再匹配数据库的架构预期。应把生产回滚视为生产操作,配套授权、证据和审计轨迹。不要让“回滚”这个听起来安心的词绕过发布策略。

数据驻留和环境隔离有关联,但并不相同。在选定国家运行工作负载,可能满足存储或传输要求,却不能证明开发和生产使用不同身份或数据。采购团队应分别记录两项要求,不能用一项地点声明回答两个问题。

如果供应商无法在一个组织内强制执行这些边界,可能需要分离租户。这会增加管理负担并可能让晋级更复杂,但比假装项目标签能包含生产权限更安全。

审批关卡应设在产生实质影响的边缘

创建之前先规划
先用规划模式明确工作内容,再开始创建应用。

审批关卡应保护会产生实质后果的操作,每次审批都应绑定一项不可变提案。每条智能体消息都要求审批会造成疲劳,而审批模糊的对话又会让审查者得到的信息太少。

合适的候选操作包括生产部署、添加或扩大凭据、变更网络暴露范围、配置公共域名、导出敏感源代码或数据、恢复生产快照、修改授权策略和停用审计导出。开发编辑通常无需同等关卡,除非涉及受保护数据或外部系统。

审查者需要一份具体材料包:请求的操作、目标环境、源代码和制品摘要、文件或基础设施差异、测试结果、策略发现、请求的凭据范围、请求者身份、智能体身份和到期时间。界面应说明审查者批准后会发生什么。一个标有“允许”但没有操作边界的按钮,不是审批控制。

策略本身可采用买方能够检查和测试的形式表达:

policy_version: 18
rules:
  - action: deploy
    environment: production
    require:
      approvals: 1
      approver_role: release_approver
      requester_cannot_approve: true
      artifact_digest_must_match: true
      expires_minutes: 30
  - action: credential_scope_change
    require:
      approvals: 1
      approver_role: credential_custodian
      scope_diff_required: true

这段内容避免了两种常见故障。请求者不能批准自己的生产部署,而且制品一旦变更,因摘要不再匹配,审批就会失效。较短的到期时间也能防止有人在周边运行环境已变化后使用旧决定。

审批状态必须随操作流转,不能依附在聊天线程或用户会话上。编辑源代码、变更目标、扩大权限、更换凭据或重新运行生成时,只要改变已批准的提案,就应需要新的决定。失败部署的重试只有在制品和操作完全相同且策略明确允许时,才可以复用审批。

排队和自动化操作需要同样的强制执行。智能体不应在已批准窗口内安排生产变更,却在窗口关闭后执行不同版本。执行服务必须在执行时重新检查授权、审批有效性、制品身份和凭据范围。

规划模式可以帮助审查者理解预期工作,但计划不是授权边界。平台可能生成准确计划,之后却执行额外操作,因为工具调用改变、集成返回意外数据,或模型调整了方法。应在产生实际影响的操作处执行审批。

紧急路径应为真实事故保留。要求提供理由、限制时长、限制操作集、即时告警和事后审查。如果紧急覆盖悄悄授予永久管理员访问权,例外就取代了控制。

凭据应在被遗忘前过期

只要目标系统支持,工作区就应使用具有狭窄环境和操作范围的临时工作负载凭据。放在聊天、项目设置或构建变量中的永久组织令牌,会赋予智能体远超大多数任务所需的权限。

应分清三个概念。人员会话证明谁在使用工作区。工作负载身份标识智能体、构建或部署流程。密钥材料授权该工作负载访问外部系统。用人员的宽泛令牌同时承担三者,会破坏归属关系,也会让撤销造成中断。

优先使用联邦认证或凭据代理,将已验证的工作负载身份交换为临时令牌。代理可限制受众、角色、环境和时长。智能体进程应只在调用获批准工具时取得令牌,模型不应在上下文中看到或复现密钥值。

仅有密钥存储不能解决范围问题。经过完善加密的云凭据,仍可能允许跨所有账户删除资源。审查目标系统的权限,而不只是密钥库。每个凭据都应有负责人、用途、允许环境、获授权的工作负载、创建来源、轮换方法和最后使用记录。

提示词、聊天记录、生成的源代码、日志、快照、支持包和导出物都是可能的泄露路径。平台应在持久化前对检测到的密钥进行脱敏,但检测只是后备控制,因为格式各异,编码后的值也会漏过。更强的设计是绝不把密钥材料放进模型输入或常规输出通道。

源代码导出需要明确规则。导出包应省略密钥值,并标识未解析的密钥引用,让接收团队知道需要配置什么。包含可用环境文件的导出,会把可移植性变成凭据分发。

使用没有实际权限的金丝雀凭据测试隔离。在每种受支持的输入路径中放入其可识别值,运行智能体,创建快照,检查日志并导出项目。然后搜索每个生成制品和审计流。这项测试能揭示供应商的密钥边界能否经受普通产品功能,而不是只保护直接输入的密钥。

轮换和撤销必须无需重建整个工作区便可完成。询问系统如何处理无法签发临时凭据的目标系统、如何轮换存储的密钥,以及任务是否会在执行时获取当前版本。一个捕获了昨天凭据的任务,可能在凭据记录显示已更新后仍继续运行。

出站集成需要自己的同意模型。添加源代码仓库、数据库、工单系统或云账户时,应显示请求的范围,并将连接绑定到工作区和环境。全组织连接应当例外,因为一个项目中的智能体错误不应暴露所有仓库或账户。

导出的审计日志必须还原意图和结果

选择运行位置
为应用实际需要运行的环境和国家构建应用。

审计日志应让调查人员能够将人员请求关联到授权、智能体执行、凭据使用和最终变更,而不依赖供应商的用户界面。可导出意味着有一条文档化、持续的路径进入客户控制的存储或监控系统,不是只有管理员才能手动下载。

NIST SP 800-53 在 AU-12 中区分审计事件生成,在 AU-9 中区分审计信息保护。这种区分在此很有用。仅记录部署并不够,如果工作区管理员能修改或删除唯一副本。应将事件发送到工作区外部,那里应具备受限写入访问和客户控制的保留策略。

每个事件都需要稳定标识符、时间戳、租户、人员操作方、工作负载或智能体身份、操作、目标资源、环境、授权决定、角色或策略依据、审批引用、凭据引用、结果和关联标识符。变更事件应包括差异、安全的变更前后值,或将事件绑定到已存储制品的哈希。

一个部署事件的输出形状可能如下:

{
  "event_id": "evt_01J...",
  "occurred_at": "2026-07-27T14:03:22Z",
  "actor": {"type": "user", "id": "usr_1842"},
  "workload": {"type": "release_agent", "id": "agt_77"},
  "action": "deployment.create",
  "target": {"environment": "production", "application": "app_91"},
  "authorization": {
    "decision": "allow",
    "policy_version": 18,
    "approval_id": "apr_552"
  },
  "artifact_digest": "sha256:8b1c...",
  "credential_ref": "cred_cloud_prod_4",
  "request_id": "req_9031",
  "result": "success"
}

该事件公开的是引用,不是密钥值。它同时标出人员和执行工作负载,避免留下只写着“智能体已部署”的无用记录。请求标识符应关联相关模型运行、工具调用、策略决定和目标系统响应。

审计和可观测性不同。运行追踪帮助工程师排查延迟、模型调用和故障。审计记录则用于证明谁被授权做什么,以及发生了什么变更。供应商有时提供丰富追踪信息,却遗漏角色变更、密钥管理、支持访问、导出操作或失败的授权尝试。

提示词内容需要克制。完整提示词可能包含源代码、个人数据或密钥,因此在安全日志中保留每段对话,可能又创建一个敏感资料库。应记录稳定哈希、脱敏摘要、指向另行管理内容的引用和产生的具体操作。让客户控制保留和脱敏,但绝不能让实际执行操作的模型决定哪些安全事件消失。

测试排序、时钟一致性、投递延迟、重试、重复处理、架构变化和故障期间的行为。导出应说明版本管理,并提供游标或事件标识符用于恢复。如果客户接收端不可用,供应商应按公开的限制缓冲事件,并在投递无法追上时报告。

支持访问也应进入同一条流。记录供应商人员何时访问租户、哪项授权允许访问、他们查看或更改了什么,以及访问何时结束。客户无法导出的供应商内部日志,无法支撑企业调查。

采购测试应攻击控制平面

按明确计划构建
用聊天创建应用,同时将部署决策牢牢掌握在自己手中。

采购应要求在隔离的评估租户中进行现场测试,并将观察到的强制执行效果视为验收证据。演示可以解释架构,却不能证明被暂停的用户失去了缓存的部署令牌。

准备身份提供商、SCIM 客户端、数个测试身份、两个环境、一个无害的外部凭据和一个审计接收端。在会话前向供应商提供预期结果,让演练测量产品能力,而非演示人员的临场发挥。

  1. 尝试所有身份绕过路径:本地密码、邀请、密码找回、重复邮箱、错误身份提供商,以及暂停后的旧会话。
  2. 在浏览器会话、个人令牌、待处理审批、计划任务和智能体运行仍活跃时,变更群组成员资格并暂停高权限用户。
  3. 尝试通过继承角色、自定义角色、服务身份、源代码导出、快照恢复,以及从开发到生产的流转来提升权限。
  4. 批准一个制品,变更其源代码或目标,然后尝试用过期审批和更宽泛的凭据进行部署。
  5. 导出全部事件,再还原谁提出、谁批准、谁执行、谁接收了变更,包括被拒绝的尝试和供应商支持访问。

记录每项结果的原始证据:已删除敏感值的 SAML 响应细节、SCIM 请求和响应、有效权限导出、审批标识符、制品摘要、凭据元数据、审计事件和时间戳。截图有助于说明发现,但在供应商更改控制后,机器可读输出更易比较。

使用四种结果状态:通过、失败、部分通过和承诺提供。部分通过表示控制仅对某些访问路径、资源或套餐生效。承诺提供表示供应商描述了未来行为。不要因为客户团队给出路线图日期,就把两者都当作通过。

要求供应商在修改配置后重做失败测试。这能区分产品缺少控制措施和默认设置不当,也能显示管理员是否能找到相关设置。隐藏在未文档化支持操作后的安全功能,在真正上线时还会再次失效。

同时测试套餐和定价边界。SSO 可能位于一个层级,SCIM 位于另一个层级,审计导出则可能有单独的保留或投递限制。采购需要的是策略所需功能的组合,而不是一组各自可用的功能。将套餐资格和使用限制列在每项验收标准旁。

还应检查管理恢复。移除最后一位组织管理员,破坏 SAML 配置,错误轮换 SCIM 令牌,并中断审计接收端。工作区应提供受控恢复,同时不能创建不可见的供应商绕过。恢复操作应产生系统中最有力的审计证据。

评估 Koder.ai 时,应针对其基于聊天的创建流程、源代码导出、部署与托管、自定义域名、快照、回滚和规划模式要求这些测试,而不能仅因具备这些能力就推断其访问控制水平。

合同和上线必须维持控制

在精心布置的评估租户消失后,合同和运行流程应继续维持已测试的控制。记录必需功能、适用套餐、保留期限、投递限制、数据位置、支持访问规则、导出格式、不兼容架构变更的通知,以及必需控制停止工作时的补救措施。

安全文档应说明各方负责哪些操作。客户通常负责配置身份提供商群组、角色分配、审批策略、凭据范围、日志目标和保留策略。供应商负责强制执行、平台管理员控制、事件生成、服务隔离和支持访问记录。责任不清会在事故期间形成可预见的缺口。

要求对改变授权语义的变更进行通知和审查。新的智能体工具、部署目标、集成类型或管理员权限,可能在客户没有修改任何分配的情况下扩大现有角色。供应商应记录新权限,避免悄悄将其加入宽泛的自定义角色。

只有在非生产身份、策略、凭据交换、审批和审计投递即使在故障情况下也表现正常后,才能上线生产环境。冻结已测试的策略版本,保存权限矩阵,并为访问审查和紧急账户指定负责人。根据组织风险和人员流动情况设定审查间隔,不要接受通用日历。

访问审查应检查有效权限、非活跃账户、绕过群组的直接授予、未使用的工作负载身份、过期凭据、紧急访问、失败的审计投递和支持活动。审查者需要证据证明每项授权仍有负责人和用途。没有资源范围的角色名称电子表格,无法回答这个问题。

让一项验收条件不可动摇:当身份源暂停一名高权限用户时,所有通往生产环境的可用路径必须在约定时限内关闭,且导出的事件必须证明这一点。如果工作区无法通过这项测试,其余控制表都只是装饰。

常见问题

SAML SSO 足以保护企业 AI 工作区吗?

不够。SAML 通过企业身份提供商验证人员身份,但它不会配置账户、移除访问权限、定义权限、限制凭据或记录管理操作。应将 SAML 视为控制链中的一环,链条还应包括 SCIM、授权、会话撤销和审计导出。

SAML 和 SCIM 有什么区别?

SAML 根据身份断言创建已验证的会话。SCIM 会随着雇佣状态变化创建、更新、分组、暂停和移除账户。若供应商只支持 SAML 而不支持 SCIM,离职交接仍要依靠人工操作或定制自动化。

使用 SAML 时,企业是否应禁用本地登录?

通常应当禁用。对已认领的企业域名禁用本地密码和自行注册,同时保留一个受到严格控制的紧急账户,用于身份提供商发生故障时。将该账户置于常规流程之外,要求强认证,并在每次使用时发出告警。

AI 开发平台的 RBAC 应有多细?

角色应将构建、审查、审批、部署、凭据管理、源代码导出、审计访问和组织管理分开。权限还应限定到特定工作区和环境。一旦工作区能够影响生产环境,四个宽泛的角色标签通常远远不够。

开发者可以审批自己提交的生产部署吗?

开发者不应审批自己创建的同一项生产变更。小团队可使用独立发布负责人或值班审批轮换,但平台仍应强制职责分离。若人员配置无法满足该规则,应记录例外并严格限制其期限和范围。

开发和生产是否需要独立的 AI 工作区租户?

并非始终需要独立租户,但生产环境需要比标签更强的安全边界。它应有独立的权限、凭据、运行时资源、数据规则和审批策略。如果供应商无法在同一组织内强制执行这些边界,就应使用独立租户。

长期有效的 API 凭据可以接受吗?

仅当集成无法使用联邦认证或临时凭据时才可接受,而且只能作为有记录的例外。将凭据限定于一个环境和用途,存入密钥管理器,自动轮换,并测试撤销效果。没有到期时间的全组织令牌不应通过采购审查。

AI 开发审计日志应包含什么?

记录人员操作方、智能体或工作负载、操作、目标、环境、授权决定、策略版本、审批、凭据引用、结果、时间戳和关联标识。对于变更,应包含差异或变更前后哈希。导出内容必须让调查人员能够将聊天请求关联到最终部署或管理变更。

采购团队应如何测试供应商的 SCIM 支持?

配置一个测试用户,变更其群组,暂停该用户,再尝试通过现有浏览器会话、API 令牌、排队任务和智能体运行访问。重新启用用户后,确认旧的高权限授予不会悄悄恢复。应检查 SCIM 交互和工作区审计事件,不能只接受一个成功状态码。

买方在签约前应索取哪些访问控制证据?

索取现场控制演示、权限目录、审计导出样例、SCIM 行为文档、会话撤销细节、凭据架构、保留条款,以及有关必需控制的合同语言。将每项要求记录为通过、失败、部分通过或承诺提供。在控制实际存在并通过测试前,承诺提供的功能应归入失败。

Related posts