通过 REST 添加新版本的密钥

Posted

技术标签:

【中文标题】通过 REST 添加新版本的密钥【英文标题】:Add new version of secret via REST 【发布时间】:2020-11-14 14:15:50 【问题描述】:

我想通过 GCP REST API 添加新版本的密钥。 遗憾的是,对于 REST,文档非常乏味,甚至连 URL 都没有说明。

我收到以下回复:

curl -H "authorization: Bearer $(gcloud auth print-access-token)" 'https://secretmanager.googleapis.com/v1beta1/projects/myproject/secrets/foo'

但只有 404 用于:

curl -H "authorization: Bearer $(gcloud auth print-access-token)" -H 'content-type: application/json' -d '"payload":"data":"foo"' 'https://secretmanager.googleapis.com/v1beta1/projects/myproject/secrets/foo/addVersion'

还尝试了其他排列。 谁能告诉我如何构造 REST 调用来添加新版本?

【问题讨论】:

【参考方案1】:

在文档的Adding a secret version 部分下,您可以点击“API”选项卡并查看:

$ curl "https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets/SECRET_ID:addVersion" \
    --request "POST" \
    --header "authorization: Bearer $(gcloud auth print-access-token)" \
    --header "content-type: application/json" \
    --header "x-goog-user-project: project-id" \
    --data "\"payload\": \"data\": \"$SECRET_DATA\""

地点:

PROJECT_ID 是您的 GCP 项目 ID SECRET_ID 是您要为其添加版本的密钥的名称 SECRET_DATA 是 base64 编码的密码。

【讨论】:

每个样本都是如此,包括创建秘密、访问、管理权限和删除它们。【参考方案2】:

如果您弹出 API Explorer,开始时会显示实际的 URL。原来如此:

https://secretmanager.googleapis.com/v1beta1/projects/myproject/secrets/foo:addVersion

【讨论】:

以上是关于通过 REST 添加新版本的密钥的主要内容,如果未能解决你的问题,请参考以下文章

向itunes connect提交新版本的iOS应用程序而不发布第一个[重复]

RXJS 6:新版本的 HttpInterceptor

在之前的 beta 审核通过后,如何在 iTunes Connect 中激活新版本的外部 beta 测试?

在较新版本的 JSF 中,@FacesValidator 和 @FacesConverter 中的 EJB 和 CDI 注入点无法通过 OmniFaces 工作

降级会删除新版本的可执行文件,但不会重新安装旧版本

将新版本的应用程序上传到 AppStore 的构建选项?