变量与密钥
为整个组织一次性设置 Runtime 环境值,或直接在单个 Agent 上设置。
变量和密钥会成为 Agent Runtime 中的环境变量。在组织级别定义一次共享值,或者让它只属于某一个 Agent。
| 范围 | 管理位置 | 适用于 |
|---|---|---|
| 组织 | 设置 → 变量与密钥 | 所有或选定的 Agent |
| Agent | Agent → 配置 | 单个 Agent |
变量用于端点、功能开关等普通配置。密钥用于凭证以及其他保存后不应再显示的值。
在多个 Agent 之间共享一个值
只有组织所有者可以管理组织注册表:
- 打开设置,找到变量与密钥。
- 选择添加,然后选择变量或密钥。
- 输入一个标准的环境变量名,例如
SERVICE_URL或SERVICE_API_KEY,以及它的值。 - 选择所有 Agent或选定 Agent。
- 保存该条目。
名称可以包含字母、数字和下划线,且不能以数字开头。
所有 Agent会把该条目分配给你能管理的每个 Agent,并自动应用到你之后配置的 Agent。选定 Agent只把它应用到你选择的 Agent。选择器只列出你能管理的 Agent;编辑该选择不会移除对其他私有 Agent 的现有分配。
已分配的条目会出现在 Agent 的变量或密钥卡片上,并带有组织标签。它在那里是只读的。所有者在设置中编辑或轮换它;其他 Agent 编辑者仍然可以管理该 Agent 的本地条目。
在单个 Agent 上设置一个值
打开 Agent 的配置标签页,然后编辑它的变量或密钥卡片。这些条目只属于该 Agent。
创建 Agent 时,最后一步变量和密钥会添加同样的 Agent 本地值。设置为所有 Agent的组织条目会在 Agent 创建时应用。
优先级
当 Agent 上也有同名条目时,已分配的组织条目通常优先:
| 组织条目 | Agent 条目 | 生效值 |
|---|---|---|
| 变量 | 变量 | 组织变量 |
| 密钥 | 变量或密钥 | 组织密钥 |
| 变量 | 密钥 | 拒绝 |
最后一种情况会被拒绝,因为可读的变量不能取代只写的密钥。被覆盖的 Agent 条目会作为后备保留,在组织分配被移除或删除后重新生效。
组织级名称在变量和密钥之间是唯一的。名称和类型在创建后不能更改;若要重命名或更改类型,请删除并重新创建该条目。
密钥处理
密钥值是只写的。保存后,AgentConnect 只显示名称和掩码;编辑时提供的是替换值,而不是读取当前值。变量值对能查看所分配 Agent 的人仍然可见,所以不要把凭证存为变量。
只写控制的是人们能通过产品取回什么,而不是值在各处如何存储。对于 AgentConnect OSS,请配置密钥存储加密,以保护控制平面数据库中静态存储的值。运行 Agent 的 Daemon 会在 Agent 的本地配置文件中保留一份解析后的值,运行 Daemon 的操作系统用户可以读取它。请把你连接的每台机器都视为可以信任其上所放置 Agent 的密钥的机器。
密钥对 Agent Runtime 及其工具可用。如果已知的密钥字面值出现在 Agent 输出中,AgentConnect 会尝试对其打码,但打码不是安全边界。只给每个 Agent 它需要的密钥,并使用适当的权限和沙箱隔离。
变量和密钥只以环境值的形式到达 Agent。它们不会展开 Agent 描述、定时任务、集成设置或其他配置中的占位符。
Kubernetes 和 Docker 凭证
有两个名称会改为以文件形式交付,因为需要它们的工具期望的是路径而不是值:
| 你设置的 | Agent 的工具得到的 |
|---|---|
KUBECONFIG_DATA | KUBECONFIG,指向写出的 kubeconfig 文件 |
DOCKER_CONFIG_DATA(或较旧的 DOCKER_AUTH_CONFIG) | DOCKER_CONFIG,指向写出的配置目录 |
把文件的完整内容放入 …_DATA 密钥。AgentConnect 会在 Agent 工作期间把它写成一个仅所有者可读的文件,并让 kubectl 或 docker 指向该文件。请只设置 …_DATA 密钥或对应的指针变量之一,不要两者都设。
更新与移除
轮换、重新指定目标或删除组织条目会更新受影响的 Agent 并重启它们,使后续工作使用新环境。如果在意正在进行的轮次,请在空闲时段轮换。
移除分配会恢复同名的 Agent 本地后备值。如果没有后备值,该值会从之后的 Runtime 进程中消失。