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

BigQuery连接AWS S3失败:外部数据库凭据未找到求助

问题:BigQuery跨云连接AWS S3时提示"External database credentials not found"

我正尝试将AWS S3中的数据接入Google BigQuery,已按官方文档配置权限并完成角色关联。AWS S3区域为us-west-1,但在BigQuery创建外部连接时将数据位置设为aws-us-west-2。AWS角色ARN已正确配置为arn:aws:iam::0000:role/My_role_name,且BigQuery的Google身份已添加至信任关系中。

当前配置信息

IAM策略(bq_omni_read_only)

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-bucket-name"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": [
                "arn:aws:s3:::my-bucket-name",
                "arn:aws:s3:::my-bucket-name/*"
            ]
        }
    ]
}

AWS角色信任关系

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "accounts.google.com"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringEquals": {
                    "accounts.google.com:sub": "my_BigQuery_Google_identity",
                    "accounts.google.com:aud": "my_BigQuery_Google_identity"
                }
            }
        }
    ]
}

执行的BigQuery查询语句

SELECT * FROM EXTERNAL_QUERY("my_connection_id", "SELECT * FROM INFORMATION_SCHEMA.TABLES;");

错误信息

Invalid table-valued function EXTERNAL_QUERY External database credentials not found for connection my_connection_id at [1:15]

已等待12小时让信任关系配置生效,但错误仍存在。拥有BigQuery管理员权限,不确定是否足够,请求协助排查。


排查建议

  • 修正区域不匹配问题:S3桶位于us-west-1,但BigQuery外部连接的数据源位置设为aws-us-west-2,跨区域连接会导致凭据验证失败。BigQuery Omni要求连接区域必须与S3桶所在区域一致,需修改连接的数据源位置为aws-us-west-1。

  • 调整IAM策略资源配置:当前s3:GetObject权限包含了桶本身(arn:aws:s3:::my-bucket-name),该权限对桶本身无效,应只保留对象路径的资源:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::my-bucket-name"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my-bucket-name/*"
        }
    ]
}
  • 验证信任关系条件值:确认accounts.google.com:sub和accounts.google.com:aud的值与BigQuery连接详情页显示的Google身份ID完全一致,检查是否存在拼写错误或格式问题。

  • 检查BigQuery连接配置细节:

    • 确认连接类型选择的是Amazon S3
    • 角色ARN无多余空格或字符,填写准确
    • 数据源位置已修正为对应S3区域
  • 重新创建连接测试:删除现有连接,按照正确区域重新配置,避免旧配置缓存引发的问题。


内容的提问来源于stack exchange,提问作者Seona Shim

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:35:29