You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud Document AI无法访问Firebase Storage存储桶——权限错误

Firebase Storage(新域名格式)导入Document AI权限错误排查与解决

问题概述

将Firebase Storage(使用project-id.firebasestorage.app新域名格式的存储桶)中的文档导入Google Cloud Document AI时,已为Document AI服务账号添加Storage Admin角色,但仍提示Does not have permissions [storage.objects.get]权限错误。

环境配置

  • 项目:Blaze方案的Firebase项目
  • 存储:my-project.firebasestorage.app格式的Firebase Storage桶
  • Document AI:欧盟区域处理器
  • 文件:存储桶内的JPG测试图片

错误详情

{
  "name": "projects/123456789/locations/eu/operations/11715819212458821437",
  "done": true,
  "result": "error",
  "response": {},
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.documentai.uiv1beta3.ImportDocumentsMetadata",
    "commonMetadata": {
      "state": "FAILED",
      "createTime": "2025-05-21T20:34:47.093036Z",
      "updateTime": "2025-05-21T20:34:47.093036Z",
      "resource": "projects/123456789/locations/eu/processors/processor-id/dataset"
    },
    "importConfigValidationResults": [
      {
        "inputGcsSource": "gs://my-project.firebasestorage.app/test_images/",
        "status": {
          "code": 7,
          "message": "Does not have permissions [storage.objects.get] in the bucket my-project.firebasestorage.app"
        }
      }
    ]
  },
  "error": {
    "code": 3,
    "message": "Failed to import all documents.",
    "details": []
  }
}

疑问解答与解决步骤

1. Document AI与新格式Firebase Storage桶的兼容性

无已知兼容性问题。Firebase Storage的firebasestorage.app域名桶本质是标准Google Cloud Storage(GCS)桶,Document AI可以正常访问这类桶。

2. 是否需要额外Firebase特定权限

不需要。Firebase Storage的权限控制完全依赖GCP IAM体系,无需配置Firebase专属权限。但需确保IAM角色绑定的准确性与生效状态。

3. 存储桶路径格式是否正确

路径格式gs://my-project.firebasestorage.app/test_images/是正确的,无需修改。


具体排查与解决步骤

  1. 确认服务账号正确性
    验证绑定权限的服务账号是否为Document AI的专属账号:service-[项目编号]@gcp-sa-prod-dai-core.iam.gserviceaccount.com,需确保项目编号与当前项目完全匹配,避免账号混淆。

  2. 验证权限绑定层级
    确保Storage Admin角色(roles/storage.admin)是直接添加在存储桶级别的IAM权限中,而非仅在项目级别添加(项目级权限虽理论生效,但桶级绑定更直接且不易受其他配置影响)。

  3. 等待权限生效
    GCP IAM权限变更通常需要5-10分钟才能完全同步,刚添加权限后立即测试可能出现权限未生效的情况,建议等待一段时间后重试。

  4. 测试服务账号权限
    使用gcloud命令模拟Document AI服务账号访问存储桶文件,验证权限是否实际生效:

    # 激活服务账号(需提前下载该账号的密钥文件)
    gcloud auth activate-service-account service-[项目编号]@gcp-sa-prod-dai-core.iam.gserviceaccount.com --key-file=service-account-key.json
    # 尝试复制桶内文件到本地
    gsutil cp gs://my-project.firebasestorage.app/test_images/test.jpg ./
    

    若命令失败,说明权限绑定存在问题;若成功,则需检查Document AI导入配置是否存在拼写错误或其他配置问题。

  5. 检查文件ACL设置
    确认存储桶内的目标文件未设置单独的ACL规则,阻止了Document AI服务账号的访问。可在GCS控制台查看文件的权限详情,确保服务账号拥有storage.objects.get权限。

  6. 确认区域一致性
    若Document AI处理器位于欧盟区域,建议Firebase Storage桶也设置为欧盟区域。跨区域访问虽理论支持,但可能因网络或隐性配置问题导致权限验证异常。

内容的提问来源于stack exchange,提问作者Kyrylo Petrenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:35:14