标签: google-cloud-platform

如何从命令行使用服务帐户访问谷歌云存储桶?

我认为这样做会很直接,但我无法让它工作:

我正在尝试将文件从服务器 (GCE) 推送到谷歌云存储桶。为了避免gsutil在服务器上授予命令太多权限,我在我的 google 项目的凭据部分创建了一个“服务帐户”。

在存储桶中,gs://mybucket我已将具有 OWNER 权限的服务帐户的电子邮件地址作为 USER 添加到存储桶中。

在服务器上,我像这样激活了服务帐户:

$gcloud auth activate-service-account --key-file <path-to-keyfile> myservice

$gcloud auth list
Credentialed accounts:
 - 1234567890@project.gserviceaccount.com
 - myservice (active)

To set the active account, run:
  $ gcloud config set account <account>
Run Code Online (Sandbox Code Playgroud)

所以到目前为止一切似乎都很好。但是,访问存储桶失败:

$gsutil cp tempfile gs://mybucket
CommandException: Error retrieving destination bucket gs://mybucket/: [('PEM routines', 'PEM_read_bio', 'no start line')]

$gsutil cp tempfile gs://mybucket/tempfile
Failure: [('PEM routines', 'PEM_read_bio', 'no start line')].
Run Code Online (Sandbox Code Playgroud)

当然,我确实验证了存储桶的 ACL 确实将服务帐户显示为 OWNER。我也在不同操作系统的不同机器上尝试过这个。结果一样。不用说,我自己无法理解错误消息。我将不胜感激任何建议。此要点中的详细错误日志。

更新:

删除 …

google-app-engine cloud-storage oauth google-cloud-storage google-cloud-platform

8
推荐指数
2
解决办法
2万
查看次数

Google Developers Console 中的默认密码是什么?

[如何在 Google Developers Console 中更改密码?]

我知道这应该是一个与 Google Developers Console 相关的非常愚蠢的问题,但我只是在其中浪费了三个小时,而且在 google 搜索结果中没有运气。

这是我第一次在 GAE 中启用 Developers Console,它在登录后默认显示 bash shell。我想配置我偏好的 shell 环境 zsh,在将 oh-my-zsh 项目克隆到本地后,我运行chsh命令切换到 zsh,需要 sudo 密码。

问题是我不知道密码是什么,我试过google账户密码和其他频率密码,都失败了。

使用passwd我错误的密码更改密码显示以下错误。

myname@mycloud:~$ passwd
Changing password for myname.
(current) UNIX password: 
passwd: Authentication token manipulation error
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)

我通过登录谷歌验证了我的谷歌帐户密码,这是正确的。

Q1:默认密码是多少?Q2:控制台密码不能修改吗?

谢谢!

password console google google-app-engine google-cloud-platform

8
推荐指数
1
解决办法
1万
查看次数

区域配额不足,无法满足资源请求:“CPUS”

我有在 Google Cloud Platform 上建立和拆除集群的脚本。多次运行这些脚本而没有错误后,我现在无法运行脚本来建立集群,收到消息“区域配额不足,无法满足资源请求:“CPUS”。请求需要“4.0”,短“12.0”。区域配额为“8.0”,“-8.0”可用。我在控制台中没有看到任何可能尚未删除的残留 VM。有什么地方可以查看我的配额以及从该配额中扣除的 VM?或者也许还有一些其他资源被标识为“CPUS”而不是 VM?脚本中导致错误的行是:

$ gcloud container clusters create "server-cluster" \
  --machine-type "n1-standard-1" \
  --scope "https://www.googleapis.com/auth/compute","https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring" \
  --num-nodes "4" \
  --network $NETWORK \
  --enable-cloud-logging \
  --enable-cloud-monitoring
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform

8
推荐指数
1
解决办法
1万
查看次数

如何在不重启服务器的情况下添加新的永久性磁盘?

我在 GCP 上有一个正在运行的实例,并想向其中添加另一个永久性磁盘。但它不会出现。

这是一个n1-standard-1具有 10 GB 存储空间的实例(名为s03)。我创建了另一个存储disk-1并安装了它。然后我创建了disk-2.

磁盘

可悲的是,新的不会出现在这里ls /dev/disk/by-id的文档中提到的那样。

贝壳

磁盘

我重新启动了系统并检查了日志,但找不到任何disk-2不显示的问题。有任何想法吗?

fstab google-compute-engine google-cloud-platform debian-jessie

8
推荐指数
1
解决办法
3709
查看次数

谷歌云无法连接到端口 22 上的虚拟机

我正在使用 Google Compute 引擎来托管几个站点,但我调整了磁盘大小,然后重新启动了实例,现在我无法从 gcs 和 putty 进行连接。( 拒绝连接 )

串行控制台输出:http : //pastebin.com/BZicx7JN

我该如何解决这个问题?

ssh google-compute-engine google-cloud-platform

8
推荐指数
2
解决办法
3万
查看次数

我可以将 Google 云存储桶挂载到 Pod 作为永久性磁盘。如果是如何?

我有一个 gke 集群,节点位于 3 个不同的区域但位于同一区域。我想对我的 Pod 使用永久性磁盘。但是 pod 是在所有 3 个区域中随机创建的。如何使用 gcePD(所有节点通用)。或者我可以在 pod 部署 (Yaml) 文件中添加存储桶吗?如果它是 podssible .请建议我怎么做?

google-cloud-storage google-cloud-platform google-kubernetes-engine

8
推荐指数
1
解决办法
1万
查看次数

服务帐号没有 storage.buckets.get 访问存储桶的权限

我正在尝试使用 python 获取项目中的存储桶列表:

from google.cloud import storage

storage_client = storage.Client(project='[project-id]')
bucket = storage_client.get_bucket([bucket-name])

blobs = bucket.list_blobs()

for blob in blobs:
    print(blob.name)
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

[service-account-ID]-compute@developer.gserviceaccount.com does not have storage.buckets.get access to [bucket-name]
Run Code Online (Sandbox Code Playgroud)

无论如何,如果我尝试使用 gsutil(使用相同的服务帐户):

gsutil ls gs://[bucket-name]
Run Code Online (Sandbox Code Playgroud)

我可以获得存储桶中的对象列表......所以我不明白发生了什么,关于我应该做什么的任何线索?

oauth google-cloud-storage google-cloud-platform

8
推荐指数
2
解决办法
1万
查看次数

Cloud Function 的端点返回 403 Forbidden

我正在按照 Google 的教程为我的云功能设置端点。

当我尝试使用 URL 从浏览器访问端点时,service_name.a.run.app/function1我得到

Error: Forbidden
Your client does not have permission to get URL /function1GET from this server
Run Code Online (Sandbox Code Playgroud)

作为上述教程和Google 产品经理的回答的一部分,我通过授予 ESP 调用我的函数的权限来保护我的函数。

gcloud beta functions add-iam-policy-binding function1 --member "serviceAccount:id-compute@developer.gserviceaccount.com" --role "roles/cloudfunctions.invoker" --project "project_id"
Run Code Online (Sandbox Code Playgroud)

我的openapi-functions.yaml

swagger: '2.0'
info:
  title: Cloud Endpoints + GCF
  description: Sample API on Cloud Endpoints with a Google Cloud Functions backend
  version: 1.0.0
host: HOST
x-google-endpoints:
- name: "HOST"
  allowCors: "true
schemes:
  - https
produces:
  - application/json …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform

8
推荐指数
2
解决办法
3万
查看次数

Google Cloud Platform - 按完整资源名称查找资源

如何获取完整的资源名称(例如 )projects/<project_id>/global/networkInstances/<instance_id>,并仅通过该信息找到有关它的更多信息?

我目前正在尝试从现有的 GCP 项目之一中删除默认网络。运行gcloud compute networks delete --quiet default导致此错误:

- The network resource 'projects/<project_id>/global/networks/default' 
is already being used by 'projects/<project_id>/global/networkInstances/<instance_id>'
Run Code Online (Sandbox Code Playgroud)

我已经查遍了我能想到的所有地方,但在默认网络中找不到任何资源,所以我希望我可以使用这个资源名称来了解更多信息。

google-cloud-platform

8
推荐指数
1
解决办法
4920
查看次数

哪些操作系统和浏览器的最低版本与 Google 管理的 SSL 证书兼容?

SSL 证书的颁发者通常会提供其解决方案支持的操作系统和浏览器最低版本的文档。

例子:

但是,我无法找到Google 管理的 SSL 证书的此类文档。

我知道它部分取决于SSL 策略,但它还必须取决于 Google 使用的根证书是否位于给定的操作系统或浏览器根证书存储中,对吧?

那么Google 证书支持的操作系统和浏览器的最低版本到底是多少呢?


更新1:也许我一开始不够具体,但我指的是这些操作系统和浏览器的最低版本。抱歉,但像“Windows、MacOS、Linux 和主要浏览器”这样的答案并不能解决问题 - 这是显而易见的。

ssl-certificate google-cloud-platform browser

8
推荐指数
1
解决办法
1245
查看次数