red*_*888 3 google-bigquery google-cloud-platform google-iam
我向用户的 Google 帐户授予了对我的一个数据集的访问权限。他们正在使用这个 Python 脚本:
def query_stackoverflow():
client = bigquery.Client()
query_job = client.query(
"""
SELECT *
FROM `myproject.mydata.mytable`
ORDER BY someColumn DESC
LIMIT 10"""
)
results = query_job.result()
Run Code Online (Sandbox Code Playgroud)
它有效,但他们看到了这个警告:
UserWarning:您的应用程序已使用 Google Cloud SDK 中的最终用户凭据进行身份验证,而无需配额项目。您可能会收到“超出配额”或“API 未启用”错误。我们建议您重新运行
gcloud auth application-default login并确保添加配额项目。或者您可以改用服务帐户。有关服务帐户的更多信息,请参阅 https://cloud.google.com/docs/authentication/
warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)
我阅读了一些文档,但我不明白这意味着什么。这是否意味着我应该为我的项目设定配额?我认识这个人并信任他们,但这是否意味着他们可以用完我所有的bq 配额来进行查询?这似乎也可以通过使用服务帐户来“解决”,那么这个配额是否是我无法更改的非服务帐户访问的硬性限制?
授予用户 Google 帐户访问权限比创建服务帐户并为其生成密钥更方便、更安全。
Aquota project由客户端库等用于计费目的。您可以使用 CLI 设置配额项目:
命令示例:
\ncloud auth application-default set-quota-project my-quota-project\nRun Code Online (Sandbox Code Playgroud)\n\n查看 BigQuery 配额和限制并实施它们。这将提高安全性并最大限度地降低财务风险。
\n\nGoogle Cloud 中有三种主要的授权方法。由 Google 帐户(Gmail、G Suite 等)、服务帐户和 API 密钥创建的用户凭据。
\n您收到的警告是由于 Google 更喜欢应用程序使用服务帐户而不是用户凭据进行授权。您可以在代码中禁用此警告,但我不建议这样做。相反,创建一个配额项目,创建一个服务帐户,然后锁定服务帐户以仅提供用户所需的角色。
\n在您的问题中,您没有描述如何使用用户凭据来获取授予 API 访问权限所需的 OAuth 访问令牌。如果您传递令牌,那就不太安全。可以删除服务帐户、可以轮换服务帐户密钥等,从而提供更好的安全级别。如果你了解 Google Cloud,我写了一篇关于如何使用模拟的文章。您可以使用此方法继续使用用户凭据来模拟服务帐户,而无需分发密钥。
\nGoogle Cloud \xe2\x80\x93 通过模拟提高安全性
\nPowerShell \xe2\x80\x93 模拟 Google 服务帐户
\n用户帐户凭据的 API 调用配额比服务帐户低得多。这可能会导致使用用户帐户生成的访问令牌的软件失败。
\n| 归档时间: |
|
| 查看次数: |
2019 次 |
| 最近记录: |