我试图在Google引擎(GKE) 自动驾驶仪集群中使用工作流调度器Snakemake。我的工作流程需要将文件上传到同一个项目中的存储桶中。蛇形和GKE文件都指定在通过--scopes storage-rw创建集群时应该指定GoogleStorage读写作用域。
我试着用一个自动驾驶仪集群这样做:
gcloud container --project "project-name" clusters create-auto "default-cluster" \
--region "asia-southeast2" --release-channel "regular" \
--network "projects/project-name/global/networks/default" \
--subnetwork "projects/project-name/regions/asia-southeast2/subnetworks/default" \
--cluster-ipv4-cidr "/17" --services-ipv4-cidr "/22" --scopes storage-rw(我使用Google控制台生成了这个命令,然后在最后添加了--scopes storage-rw参数。)
但是我仍然收到一条Snakemake错误消息,该消息与GoogleStorage读写的权限不足有关:
google.api_core.exceptions.Forbidden: 403 GET https://storage.googleapis.com/storage/v1/b/kubernetes-nccs-npc2/o/whoami.txt?fields=name&prettyPrint=false: Caller does not have storage.objects.get access to the Google Cloud Storage object.--scopes storage-rw似乎不适用于自动驾驶仪集群的创建。这是真的吗?如果是的话,我如何才能授予谷歌存储读写访问自动驾驶仪集群的权限?
发布于 2022-03-22 05:18:47
我认为此错误与运行群集的服务帐户权限有关。我会确保所有权限都包括在内,比如storage.ojjects.get。该错误似乎与权限相关。
Caller does not have storage.objects.get access to the Google Cloud Storage object.你可能会遇到谷歌报告的这个问题:https://cloud.google.com/kubernetes-engine/docs/how-to/access-scopes
我会听他们对我的建议。
在管理IAM角色时,可以将服务帐户视为资源或身份。此命令用于获取服务帐户资源的iam策略。还有其他用于管理其他类型资源的IAM策略的gcloud命令。例如,要管理一个项目的IAM策略,可以使用$ gcloud项目命令,对于服务使用$ gcloud iam服务帐户。
这将返回运行集群w/角色分配的服务(这是机器人之一:)
gcloud projects get-iam-policy 问题是,运行这些命令有时也需要特殊的权限,因此它成为愚蠢的进展。我认为这种联系可能会有帮助。它展示了如何在服务帐户上设置权限。
https://cloud.google.com/sdk/gcloud/reference/iam/service-accounts/add-iam-policy-binding
这里还有包含storage.ojjects.get在内的IAM权限的Google字典。
https://devops.stackexchange.com/questions/15623
复制相似问题