问题标签 [google-iam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2294 浏览

google-cloud-platform - Google Cloud IAM 中缺少 Cloud Function 用户代理角色

我正在一个 Google Cloud 项目中处理一系列云功能,由于某种原因,我突然收到此错误:

除了格式错误的错误响应(你不能--role=Cloud Functions Service Agent- 它应该是--role=roles/cloudfunctions.serviceAgent),当我尝试运行修改后的命令时:

我收到此错误:

最后,尝试通过控制台分配 Cloud Functions 服务器代理角色给了我另一个惊喜 - 列表中缺少该角色,它应该在服务管理下:

在此处输入图像描述

我尝试通过使用以下命令重新启用 Cloud Functions API 来重置服务帐户:

gcloud services enable cloudfunctions.googleapis.com

但同样,没有成功。

有人对如何解决此问题并使 Cloud Functions 服务代理角色再次可用有任何想法吗?

TIA-乔

0 投票
1 回答
382 浏览

ruby-on-rails - Ruby 的 Stackdriver 错误报告,在 GKE 上运行

从 GKE 上运行的 Rails 应用收集错误需要哪些步骤?

我已将 stackdriver gem 添加到我的 Rails 应用程序中,并创建了具有errorreporting.errorEvents.create权限的自定义角色。该角色分配给Compute Engine 默认服务帐号

我解释说在 GKE 上运行时不必进行以下设置的文档:

我手动创建了一个异常

这给了我宝贵的信息:

启用 API 后,我收到此错误:

那么,我必须向哪个用户授予哪些权限才能完成这项工作?:-|

0 投票
1 回答
256 浏览

google-cloud-platform - Google BigQuery 数据集上 getIamPolicy 的正确 Cloud Resource Manager URI 是什么

我想为单个 Google BigQuery 数据集设置细粒度、特定于资源的 IAM 政策。到目前为止,我找到的文档仅说明了如何获取和设置项目资源的 IAM 策略,例如https://cloudresourcemanager.googleapis.com/v1/projects/<project-id>:getIamPolicy.

我正在尝试获取项目中资源的策略,特别是具有如下 API URL 的 Google BigQuery 数据集https://www.googleapis.com/bigquery/v2/projects/<project-id>/datasets/<dataset-id>

我尝试了一些看起来很明显的 URI,比如

  • https://www.googleapis.com/bigquery/v2/projects/<project-id>/datasets/<dataset-id>:getIamPolicy
  • https://cloudresourcemanager.googleapis.com/v1/projects/<project-id>/datasets/<dataset-id>:getIamPolicy

但是遇到了404错误。有人知道 Google BigQuery 数据集的 IAM 策略的正确 URL 模式吗?

0 投票
3 回答
2933 浏览

firebase - 无法在 firebase 云函数中创建自定义令牌,因为服务帐户没有必要的权限

调用时admin.auth().createCustomToken(),我收到以下错误:

需要权限 iam.serviceAccounts.signBlob 才能对服务帐户项目/-/serviceAccounts/kaleido-maastricht@appspot.gserviceaccount.com 执行此操作。请参阅https://firebase.google.com/docs/auth/admin/create-custom-tokens了解有关如何使用此功能和排除故障的更多详细信息。

所以我去查看云平台控制台的IAM部分中提到的服务帐户,它具有Editor角色,确实没有signBlob权限。我可以将其更改为什么角色来解决此问题?我尝试创建基于Editor的自定义角色,但是无法将createBlob权限添加到自定义角色。

0 投票
1 回答
73 浏览

linux - Compute Engine Linux 用户及其与服务帐号的关系

我只是想知道计算引擎的服务帐户和这些计算引擎中的 Linux 用户如何一起玩。

如果我登录一个计算引擎,我会得到一个带有我名字的新 Linux 用户。此用户是否具有与我的谷歌帐户相同的权限?

计算引擎上的根用户使用计算引擎的服务帐户,这是预期的。

新创建的 Linux 用户也使用计算引擎的服务帐户。

您能否以某种方式配置新的 Linux 用户以使用 Google 帐户进行云 API 调用而不是计算引擎帐户?

0 投票
0 回答
120 浏览

google-apis-explorer - Api 响应给出通用响应

我正在尝试为 google 上的服务帐户生成 oauth 令牌。我得到一个通用的回应

我不确定哪个字段无效https://cloud.google.com/iam/credentials/reference/rest/v1/projects.serviceAccounts/generateAccessToken

我按照这个网址中的步骤https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials

任何帮助将非常感激。

0 投票
1 回答
55 浏览

kubernetes - 授予 Kubernetes 集群中的 pod 访问 Google 存储的权限 (RBAC/IAM)

我正在做一些研究,但在 K8s 文档中找不到真正的答案。是否可以编排 Kubernetes 集群中的某些 pod 可以访问集群外部的其他某些资源,而无需授予整个集群的权限?

例如:一个 pod 访问 Google 存储中的数据。为了不对某些凭据进行硬编码,我希望它能够通过 RBAC/IAM 访问它,但另一方面,我不希望集群中的另一个 pod 能够访问相同的存储。

这是必要的,因为用户与这些 pod 交互并且存储中的数据有隐私限制。

到目前为止,我看到的唯一方法是为该资源创建一个服务帐户并将服务帐户的凭据传递给 pod。到目前为止,我对这个解决方案并不满意,因为传递凭据对我来说似乎不安全。

0 投票
1 回答
424 浏览

google-cloud-platform - sonatype-nexus-community/nexus-blobstore-google-cloud 的 GCP IAM 角色

尝试构建 sonatype-nexus-community/nexus-blobstore-google-cloud 但如果没有 GCP 中的项目所有者 iam 角色就无法成功。

如果我正确理解所有内容,至少根据文档,存储管理员 IAM 角色就足够了:

https://github.com/sonatype-nexus-community/nexus-blobstore-google-cloud

还尝试了存储管理员 + 服务帐户用户 + 服务帐户令牌创建者,但也无法成功。

集成测试失败并显示一条消息:

org.sonatype.nexus.blobstore.api.BlobStoreException:BlobId:e0eb4ae2-f425-4598-aa42-fc03fb2e53b2,com.google.cloud.datastore.DatastoreException:缺少权限或权限不足。

详细地说,集成测试使用两种不同的方法创建一个 Blob 存储,然后尝试删除它而不是取消删除它:

  • def "取消删除成功使 blob 可访问"
  • def "当空运行为真时,取消删除什么都不做"

这就是问题开始的地方。删除时执行失败:

断言 blobStore.delete(blob.id, 'testing')

另一个问题是如何取消删除 Google Storage 中不支持取消删除但仅支持版本控制的内容。

_

以下是文档中有关权限的内容:

谷歌云存储权限

接下来,您将需要创建一个具有适当权限的帐户。

在预定义的帐户角色中,Storage Admin 将授予插件 > 创建您需要的任何 Google Cloud Storage Bucket 并管理其中的所有对象,但它也有权管理与项目关联的任何其他 Google Cloud Storage Bucket。

如果您使用自定义角色,该帐户将需要:

  1. (必需) storage.objects.*
  2. (必需) storage.buckets.get
  3. 或 storage.buckets.*。

存储管理员 IAM 角色涵盖 storage.objects.* 和 storage.buckets.*,因此不确定导致问题的原因。

参考:

https://cloud.google.com/storage/docs/access-control/iam-roles https://cloud.google.com/storage/docs/access-control/iam-json

集成测试在 blob 存储删除尝试时失败:

15:27:10.042 [main] 调试 osnbgiGoogleCloudBlobStore - 将 blob 2e22e0e9-1fef-4620-a66e-d672b75ef924 写入 content/vol-18/chap-33/2e22e0e9-1fef-4620-a66e-d672b75ef924.44.bytes 15:27:2 main] 调试 osnbgiGoogleCloudBlobStore - 软删除 blob 2e22e0e9-1fef-4620-a66e-d672b75ef924

org.sonatype.nexus.blobstore.gcloud.internal.GoogleCloudBlobStoreIT.undelete 成功使 blob 可访问(GoogleCloudBlobStoreIT.groovy:164)

引起:org.sonatype.nexus.blobstore.api.BlobStoreException: BlobId: 2e22e0e9-1fef-4620-a66e-d672b75ef924, com.google.cloud.datastore.DatastoreException: Missing or enough permissions., Cause: 缺少权限或权限不足。 ... 1 更多

在 org.sonatype.nexus.blobstore.gcloud.internal.DeletedBlobIndex.add(DeletedBlobIndex.java:55)

在 org.sonatype.nexus.blobstore.gcloud.internal.GoogleCloudBlobStore.delete(GoogleCloudBlobStore.java:276)

如果我忽略了什么,你能帮我吗?

0 投票
2 回答
4173 浏览

google-cloud-platform - GCP IAM - 政策继承/优先级

根据文件

子策略不能限制在更高级别授予的访问权限。例如,如果您将 Editor 角色授予项目的用户,并将 Viewer 角色授予同一用户的子资源,则该用户仍然拥有子资源的 Editor 角色授权。

这是否也意味着如果我在更高级别分配用户限制性访问但在资源级别分配更多许可访问,该用户将拥有更多许可访问?换句话说,无论在哪个级别授予更宽松的政策,更宽松的政策都将优先于限制性政策?

例子:


为项目授予 UserA 查看者角色,但在资源级别分配 Editor 角色,UserA 将拥有对该资源的编辑级别访问权限?

0 投票
1 回答
2177 浏览

python - 使用 Google Compute Engine 默认服务帐号签署 Google Cloud Storage URL

我正在尝试使用 GCE 默认服务帐户签署 GCS URL。我为计算默认服务帐户提供了必要的“服务帐户令牌创建者”角色。当我尝试在以下 Python 代码中对 url 进行签名时,出现错误:

错误:

是否不允许使用 GCE 默认 SA?是否存在其他不允许的默认 SA(特别是 Google App Engine 灵活 SA)?