Google Cloud Storage
索引内容
Google Cloud Storage 连接器通过 storage.googleapis.com 的 S3 兼容互操作 Endpoint 索引一个 GCS Bucket 中的对象。Path Prefix 留空时索引整个 Bucket。非空值如果没有以斜杠结尾,会自动补上 /,因此 reports 会列出 reports/,而不是名称相似的 Key。
前置条件
- 选择一个 GCS Bucket;需要缩小范围时,选择结束于已批准文件夹边界的 Path Prefix。
- 为能够列出 Bucket 并读取匹配对象的 Google 身份启用并创建 GCS 互操作 HMAC 凭据。
- 创建时安全保存 HMAC Key 的两个部分;之后无法从 Google Cloud 再次取回 Secret。
- 允许连接器 Worker 通过 HTTPS 访问
storage.googleapis.com。 - 不要为该连接器准备 Service Account JSON Key、Project ID 或 Region 字段;当前凭据和连接器表单不接受这些值。
凭据
Google Cloud Storage 与 S3 共享 OpenCore 的 Blob 索引实现,但两者不共享凭据合同。GCS 没有 S3 Authentication Method 选择器、Role ARN 或 AWS Region 字段。
在 OpenCore 中配置
- 在 Google Cloud 中创建或启用已批准身份的 HMAC Interoperability Key,并安全记录两个值。
- 在 OpenCore Admin 后台打开 Connectors,选择 Google Cloud Storage,然后创建 GCS 凭据。
- 输入准确的 Bucket Name,不要包含
gs://或对象路径。 - 根据需要输入 Path Prefix。使用
approved/reports形式的 Key Path;OpenCore 会将其规范化为approved/reports/。 - 对受限对象选择 Private 并分配 OpenCore 用户组。只有当所有账号都可搜索范围内的每个对象时才使用 Public。
- 设置刷新和清理选项,创建连接器,然后运行首次索引尝试。
权限
HMAC 身份需要列出所配置 Bucket/Prefix 的权限,以及读取每个匹配对象的权限。OpenCore 使用这些凭据摄取内容,但不会同步 GCS IAM Policy、Bucket ACL 或 Object ACL。
索引完成后,搜索访问权由连接器的 OpenCore Private 用户组或 Public 模式决定。任何能访问连接器的用户都能搜索每个已索引对象,即使该用户没有 Google Cloud 访问权。要在 Google Cloud Console 中打开引用,还需要独立的 Google Cloud 授权。
验证
- 验证连接器,并确认它能够列出所配置 Prefix 下的至少一个对象。
- 运行索引尝试,分别搜索一个近期对象和一个嵌套对象中的文本。
- 确认规范化 Prefix 之外的 Key 没有出现。
- 确认超大对象以及关闭图片处理时的图片没有出现。
- 使用已授权的 Google Cloud 浏览器会话打开引用,确认它指向预期 Bucket 和对象。
- 测试每个已分配的 OpenCore 用户组,因为搜索时不会重新评估 GCS 权限。