问题标签 [google-cloud-kms]

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 回答
3627 浏览

google-cloud-kms - 我应该多久轮换一次我的加密密钥?我可以使用 Cloud KMS 自动轮换密钥吗?

使用我的本地 KMS,我每月轮换密钥。我也可以使用 Cloud KMS 做到这一点吗?与我的本地使用相比,是否有更好的推荐频率?轮换密钥时是否会重新加密数据?

0 投票
1 回答
138 浏览

google-cloud-kms - 如何防止内部人员访问使用 Cloud KMS 加密的数据或机密?

使用 Cloud KMS 加密数据是否足以阻止我组织的员工访问加密数据?有哪些最佳做法可以避免不必要的曝光?

0 投票
1 回答
718 浏览

google-cloud-kms - 如果我不小心删除了 Cloud KMS 中的密钥会怎样?

我不小心破坏了我在 Cloud KMS 中使用的密钥版本的密钥材料。有什么方法可以恢复使用该密钥版本加密的数据?

0 投票
2 回答
1444 浏览

google-cloud-kms - 我应该如何存储机密以在 Google Cloud Platform 中使用?

如果我有凭据需要存储在 Google Compute Engine 或 Google App Engine 中以供构建时使用,我应该如何存储它们?有什么比将它们存储在代码或存储桶中更好的方法吗?

0 投票
2 回答
771 浏览

google-cloud-kms - Google Cloud KMS 错误 - 您所在地区无法访问此 API。(HTTP 状态 - 403)

我创建了一个谷歌云项目并启用了谷歌云密钥管理服务 (KMS) API。我创建了两个钥匙圈。keyring1位于us-east1并且keyring2位于global。我创建了以下 java 程序来列出该区域中的密钥环:

我收到以下禁止错误:

0 投票
4 回答
4004 浏览

node.js - 谷歌云功能:支持谷歌云KMS

我正在使用带有 Pubsub 触发器的 Google Cloud Function (GCF),该触发器将 HTTP 请求发送到第三方 API。

GCF 从不应知道第三方 API 的服务使用的 Pubsub 主题接收通知。

第三方 API 需要使用基本 HTTP 身份验证进行身份验证。

为了不必在我的源代码中硬编码密码,我每次部署我的函数时都使用 Google KMS 生成一个新的加密密钥。每次实例化函数时,我都使用 Google Cloud KMS 来解密密钥。

为了使用 KMS 解密,我必须向 NodeJS Google API 提供服务帐户的私钥。

我今天的主要问题是,如果我希望我的 GCF 正常工作,我必须将我的私钥推送到 GCloud Bucket。

是否可以使用 Runtime Configurator 或 Deployment Manager 为 Google Cloud Function 配置机密?

谢谢。

0 投票
1 回答
1981 浏览

python - AppEngine/Python 和开发 AppServer 上的 Google KMS

从文档中不清楚如何在 Google App Engine 标准上使用 Google 密钥管理系统 (KMS),尤其是在使用开发服务器进行本地开发时。

它看起来相当简单:

  1. 在 Python 虚拟环境中安装(并使用ingoogle-api-python-client添加 virtualenv 路径)google.appengine.ext.vendorappengine_config.py
  2. 输入googleapiclient.discovery
  3. 获取应用程序身份google.appengine.api.app_identity
  4. kms以预期/记录的方式使用客户端

...然后按照文档中链接的教程进行操作。但是,到目前为止,我的尝试并没有成功,而且文档似乎还需要几个步骤。

感觉就像我正在开辟新天地,我相信其他人一定已经拥有了。

有没有人记录在 App Engine Standard 及其本地开发服务器上使用 Google KMS?

编辑 - 使用代码示例更新

这是一些说明问题的代码-问题似乎与我设置的默认凭据有关。

mykms.py

现在通过以下方式调用dev_appserver.py

给出以下错误:

HttpError:https://cloudkms.googleapis.com/v1/projects/np-crypto/locations/global/keyRings/localhost-testing/cryptoKeys/machine-identifiers:encrypt?alt=json 返回“请求的身份验证凭据无效。预期OAuth 2 访问令牌、登录 cookie 或其他有效的身份验证凭据。请参阅https://developers.google.com/identity/sign-in/web/devconsole-project。">

这并不是特别有用,主要是关注网站上的 Google 登录;但是,当我mykms从命令行导入时,出现错误:

应用程序默认凭据不可用。如果在 Google Compute Engine 中运行,它们就可用。否则,必须定义环境变量 GOOGLE_APPLICATION_CREDENTIALS 指向定义凭据的文件。有关详细信息,请参阅https://developers.google.com/accounts/docs/application-default-credentials

这似乎是目前正确的线索。将其冲洗干净并报告回来。

编辑#2

该应用程序现在似乎已连接到 KMS。我删除并重新登录gcloud auth application-default login

但是,有一个奇怪的副作用 - 似乎正在扫描驱动器,并且有数百条消息(似乎是根目录下的每个可访问目录都有一条消息),如下所示:

信息 2017 年 6 月 30 日 20:06:57 沙盒阻止访问文件“/用户”

INFO 2017 年 6 月 30 日 20:06:57 如果它是静态文件,请检查application_readable: true您的 app.yaml 中设置的内容

0 投票
3 回答
1358 浏览

google-app-engine - AppEngine 开发服务器上的 Google KMS - 日志混乱

这是一个已知问题:https ://issuetracker.google.com/issues/63253097

关于让 Google KMS与 App Engine 一起工作的问题,我提出了一个关于相关但有问题的副作用的新问题。

也就是说,Google Cloud API 发现似乎想要在 AppEngine 沙箱之外走多条路径。这本身不是问题,但它使测试和调试非常有问题,因为每次尝试都会被记录下来,产生数百行如下所示:

信息 2017 年 7 月 3 日 14:44:51 沙盒阻止访问文件“/用户”

INFO 2017 年 7 月 3 日 14:44:51 如果它是静态文件,请检查application_readable: true您的 app.yaml 中是否设置了该文件

信息 2017 年 7 月 3 日 14:44:52 沙盒阻止访问文件“/usr/lib/Acrobat9/Resource/CMap”

INFO 2017 年 7 月 3 日 14:44:52 如果它是静态文件,请检查application_readable: true在您的 app.yaml 中设置

信息 2017 年 7 月 3 日 14:44:52 沙盒阻止访问文件“/usr/lib/Acrobat8/Resource/CMap”

INFO 2017 年 7 月 3 日 14:44:52 如果它是静态文件,请检查application_readable: true在您的 app.yaml 中设置

有没有办法禁用或静音这些请求或日志?

编辑*traceback.print_stack()通过添加到log_access_check_failin打印的众多结果之一stub.py(抱歉,这里不是很清晰):

测试 #1:Sentry.io 的 Raven 导入pkg_resources

我删除了对 Sentry / Raven 的依赖,但堆栈跟踪继续,通过:

测试 #2:Flask 导入pkgutil

必须有更好的方法来表示堆栈溢出时的堆栈跟踪:)

0 投票
2 回答
459 浏览

firebase - 用于公共存储库的 CircleCI 2.0 私有环境密钥

我有一个目前是私有的回购。我的 Firebase 部署令牌作为 Env Var 存储在 CircleCI GUI 中。CircleCI 2.0 文档明确指出

不要向公共 CircleCI 项目添加密钥或秘密

此外,从我在常见问题解答中可以找到的内容来看,如果相关的 GitHub 存储库被公开,CircleCI 项目就会被公开。

现在,我打算在 GitHub 上开源该项目,它是否会使 CircleCI 中的 Env Var 对任何人可见,因为 CircleCI 项目将公开?

如果 Env Var 是公开可见的,有什么建议的方法可以让我的部署令牌不被其他人看到?我是否必须求助于 GCP KMS 之类的解决方案?

0 投票
1 回答
71 浏览

security - 谷歌云密钥管理 - 密钥的冗余存储

是否在不同位置自动复制 CryptoKey。如果没有,我可以通过在不同位置创建多个 KeyRing 来创建自己的复制吗?谷歌云服务会支持这种手动复制吗?

我在文档中找不到答案。