【发布时间】:2018-09-01 12:54:25
【问题描述】:
我使用“gcloud projects create [project-id]”创建项目,然后“gcloud services enable customsearch.googleapis.com”启用自定义搜索。
现在我想创建一个 Api Key,但看不到任何方法。有可能吗?
谢谢
【问题讨论】:
标签: key credentials gcloud api-key service-accounts
我使用“gcloud projects create [project-id]”创建项目,然后“gcloud services enable customsearch.googleapis.com”启用自定义搜索。
现在我想创建一个 Api Key,但看不到任何方法。有可能吗?
谢谢
【问题讨论】:
标签: key credentials gcloud api-key service-accounts
您似乎必须通过 GCP 控制台创建 API 密钥,但是将来会提供此功能的 Feature Request,以便可以使用 gcloud 创建 API 密钥。没有预计到达时间,但可以通过上述链接了解任何进展。现在您可以使用 GCP Console:
在“API 密钥”部分的此 documentation 链接的底部,您可以单击“获取密钥”。将弹出一个新窗口,要求您选择项目。选择您想要密钥的项目,然后单击下一步。将为您的项目创建一个新的 API 密钥。
您可以通过API Console Credentials 菜单管理您的 API 密钥并提高其安全性,该菜单也可用于创建 API 密钥。
您还应该阅读以下 documentation 链接,其中详细说明了使用 API 密钥的优缺点以及可以使用 Service Accounts 克服的限制。
【讨论】:
目前有一个 gcloud alpha 命令可用。
https://cloud.google.com/sdk/gcloud/reference/alpha/services/api-keys/create
gcloud alpha services api-keys create --display-name="test name"
查看examples。
【讨论】:
根据this article,有一个未发布的API用于创建API-key。
首先登录
gcloud auth login
然后获取访问令牌
gcloud auth print-access-token
然后使用令牌列出当前键。
curl https://apikeys.googleapis.com/v1/projects/{PROJECT_ID}/apiKeys?access_token={token}
{
"keys": [
{
"keyId": "7d0e2b99-c30c-4b42-bc75",
"displayName": "API key 1",
"currentKey": "AIzaSyCT2zcnW0G6dS1N53...",
"createTime": "2020-05-17T14:09:02.373Z",
"createdBy": "your@gmail.com",
"androidKeyDetails": {}
}
]
}
并创建一个新的 API 密钥。
curl -X POST https://apikeys.googleapis.com/v1/projects/{PROJECT_ID}/apiKeys?access_token={token}
{
"keyId": "0e00ca12-2198-46df-8635",
"currentKey": "AIzaSyA4JSL7_wt7rVhOV...",
"createTime": "2020-05-17T16:22:04.941Z",
"createdBy": "korakot@gmail.com",
"browserKeyDetails": {}
}
【讨论】:
据我了解,目前有两种方法可以对 API 访问进行身份验证:
但是有一些限制会造成死锁:
【讨论】:
现在可以使用 gcloud:
gcloud beta iam service-accounts keys create OUTPUT-FILE --iam-account=IAM_ACCOUNT [optional flags]
您可能需要先gcloud components install beta。
【讨论】: