我可以使用Terraform创建GCP API密钥吗? [英] Can I create GCP API keys using Terraform?
问题描述
我想使用Terraform创建 API密钥.>
这可能吗?
尚未,但是Google似乎正在努力公开用于API密钥管理的API.最新的Cloud SDK(经287.0.0测试)具有Alpha支持,如下所示:
$ gcloud alpha服务api-keys错误:(gcloud.alpha.services.api-keys)预期的命令名称参数.gcloud alpha服务api-key的可用命令:克隆*(ALPHA)*使用相同的名称创建一个新的API密钥元数据作为输入键.创建*(ALPHA)*创建一个API密钥.删除*(ALPHA)*删除API密钥.describe *(ALPHA)*描述API密钥的元数据.get-key-string *(ALPHA)*获取API密钥的密钥字符串.list *(ALPHA)*列出API密钥.查找*(ALPHA)*查找键字符串的资源名称.取消删除*(ALPHA)*取消删除API密钥.更新*(ALPHA)*更新API密钥的元数据.
当使用-log-http
列出项目API密钥时,您可以看到使用的API端点:
$ gcloud alpha服务api键列表--project $ PROJECT --log-http...====请求开始====uri:https://apikeys.googleapis.com/v2alpha1/projects/$PROJECT/keys?alt = json...
即使cloud sdk使用的是 v2alpha1
,也可以使用 v2beta1
.像这样验证:
$ curl -s -H授权:不记名$(gcloud auth print-access-token)" \https://apikeys.googleapis.com/v2beta1/projects/$PROJECT/keys{键":[{"name":项目/已编辑/键/已编辑","displayName":已编辑","createTime":"2019-04-15T10:39:53.558Z","updateTime":"2019-04-15T10:40:06.616639Z",限制": {"androidKeyRestrictions":{},"apiTargets":[{"service":"geocoding_backend"}]},"state":"ACTIVE"}]}
由于terraform谷歌提供程序通常很快就可以添加新功能,因此我只能假设支持即将到来.您可能需要创建一个Github Issue来表达您的兴趣.或观看 beta提供程序的更改日志.
I'd like to create Google Cloud API keys using Terraform.
Is this possible?
Not yet, but Google seems to be working on exposing an API for API key management. Latest cloud sdk (tested with 287.0.0) has alpha support, like this:
$ gcloud alpha services api-keys
ERROR: (gcloud.alpha.services.api-keys) Command name argument expected.
Available commands for gcloud alpha services api-keys:
clone *(ALPHA)* Create a new API key with the same
metadata as input key.
create *(ALPHA)* Create an API key.
delete *(ALPHA)* Delete an API key.
describe *(ALPHA)* Describe an API key's metadata.
get-key-string *(ALPHA)* Get key string of an API key.
list *(ALPHA)* Lists API keys.
lookup *(ALPHA)* Look up resource name of a key string.
undelete *(ALPHA)* Undelete an API key.
update *(ALPHA)* Update an API key's metadata.
When listing project API keys with the --log-http
you can see the API endpoint used:
$ gcloud alpha services api-keys list --project $PROJECT --log-http
...
==== request start ====
uri: https://apikeys.googleapis.com/v2alpha1/projects/$PROJECT/keys?alt=json
...
Even though cloud sdk is using v2alpha1
, there is a v2beta1
available. Verified like this:
$ curl -s -H"Authorization: Bearer $(gcloud auth print-access-token)" \
https://apikeys.googleapis.com/v2beta1/projects/$PROJECT/keys
{
"keys": [
{
"name": "projects/REDACTED/keys/REDACTED",
"displayName": "REDACTED",
"createTime": "2019-04-15T10:39:53.558Z",
"updateTime": "2019-04-15T10:40:06.616639Z",
"restrictions": {
"androidKeyRestrictions": {},
"apiTargets": [
{
"service": "geocoding_backend"
}
]
},
"state": "ACTIVE"
}
]
}
Since the terraform google provider is usually pretty quick to add new features I can only assume support is coming soon. You may want to create a Github Issue to show your interest. Or watch the beta provider's change log.
这篇关于我可以使用Terraform创建GCP API密钥吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!