Files
oci-portal/docs/OCI调用者指纹评估.md
T
2026-07-22 16:51:23 +08:00

5.4 KiB
Raw Blame History

OCI Portal logo

OCI 调用者指纹评估

OCI Portal 请求暴露面与多租户关联风险

OCI SDK Auth Scope

结论速览 · 请求暴露面 · 项目指纹 · 关联评估 · 核验依据

Note

本文面向架构与隐私评估,说明 OCI Portal 调用 OCI Public API 时 Oracle 可见的信息及跨租户关联风险。结论基于当前源码,不代表 Oracle 实际采用的 风控规则。

结论速览

Important

OCI Portal 的每次 API Key 请求都会在签名的 keyId 中携带 tenancy OCID / user OCID / fingerprint。这能准确识别云身份,但不能单凭 一次请求证明调用方是 OCI Portal。

问题 结论
Oracle 能识别单次请求的租户和用户吗? **能。**签名身份、源 IP、目标服务、操作与时间均可见
通用 SDK 请求头能识别 OCI Portal 吗? **不能。**默认 User-Agent、签名算法和 Go TLS 特征被大量客户端共享
Oracle 能关联多个租户共用同一实例吗? **具备能力。**需组合出口 IP、资源元数据、固定文本和调用序列
外部第三方能完成同等关联吗? **通常不能。**其无法取得 Oracle 网关日志和租户内部资源元数据

单次请求暴露面

当前项目统一通过 common.NewRawConfigurationProvider 使用 API Key

Authorization: Signature version="1",
  keyId="<tenancyOCID>/<userOCID>/<fingerprint>",
  algorithm="rsa-sha256", ...
信号 默认形态 区分度
签名身份 tenancy / user / fingerprint 明文位于 keyId 身份强,软件弱
User-Agent 大多数 SDK 请求为 Oracle-GoSDK/<版本> (...)
SDK 客户端信息 SDK 生成的服务请求通常带 opc-client-info: Oracle-GoSDK/<版本>
请求元数据 DateHostrequest-target;写请求另含 body 摘要 通用
网络特征 源 IP、TLS / ALPN、HTTP/2 行为 单次弱,跨租户组合后增强
OCI 遥测头 显式启用 OCI_INCLUDE_REQUEST_TELEMETRY_DATA=true 时,SDK 操作可写 service / operation;直通请求未必携带 可选

项目没有构造 Instance Principal、Resource Principal 或 Session Token 鉴权,也没有主动覆盖 User-Agent 或为 opc-request-id 设置固定前缀。 opc-client-info 由 SDK 请求构造器写入,不含 OCI Portal 标记;手工构造的 请求可能不带该字段。少量手工签名请求绕过 BaseClient.prepareRequest 使用 Go net/http 的默认 User-Agent。

OCI Portal 增量指纹

信号 当前行为 关联强度
出口 IP 无租户级或全局代理时,走部署环境默认出口 / NAT 强旁证(命中时)
日志回传资源名 按 tenancy 派生为 <8hex>-audit*,描述使用中性文案
GenAI Responses 请求头 同时写入 CompartmentIdopc-compartment-id 中 / 弱
API 调用序列 测活、账户画像、区域与资源查询存在稳定组合 辅助

SDK 默认 User-Agent、opc-client-info 与固定签名格式只说明“使用 OCI Go SDK”,不是项目专属信号。

多租户关联评估

观察视角 结论 主要依据
Oracle 内部,跨租户数据 固定文本、出口 IP 与调用序列可组合比对
Oracle 内部,单租户数据 能识别实现痕迹,但难证明多个租户共用同一实例
仅看 SDK 请求头 可识别云身份和 SDK 类型,不能可靠识别具体应用
外部第三方 通常不可行 缺少 OCI 网关日志、Sign-on Policy 与租户资源元数据

这些等级表达的是“可关联性”,不是 Oracle 已执行关联或据此采取处置。 同一出口 IP 也可能来自 NAT、代理或共享基础设施,必须与其他信号联合判断。

核验依据

OCI 与 SDK

项目源码

返回顶部 ↑