gcloud CLI 允许开发者使用私钥来对服务 账号(也称为机器人账号)进行身份验证。本页面介绍如何创建和使用 服务账号的 Google Cloudp12 密钥。
安装 pyca/cryptography
借助 pyca/cryptography 库
(版本 >= 2.5),gcloud CLI 可解码用于识别服务帐号的 p12 格式
密钥文件。由于它包含密码分析例程,
因此 pyca/cryptography 不会随 gcloud CLI 一起分发。
如果您的系统安装了 pip(
Python 软件包索引 的命令行界面),请运行以下命令来安装 pyca/cryptography。
如需了解详情,请参阅安装说明
。
python -m pip install cryptography
CLOUDSDK_PYTHON_SITEPACKAGES=1
安装 pyca/cryptography 之后,您需要将 CLOUDSDK_PYTHON_SITEPACKAGES
环境变量设置为 1。此环境变量设置会指示 gcloud CLI
在自己的 google-cloud-sdk/lib 目录之外查找要包含的库
。您通常可以放心地设置 CLOUDSDK_PYTHON_SITEPACKAGES=1,但如果
某些功能停止运行,您可能需要撤消此设置。
创建服务账号
如需创建新的服务账号并下载 p12 密钥文件,请按照创建服务账号密钥中的步骤操作。
此密钥文件应被视为机密文件,您应该采取预防措施来确保该文件不被不受信任的各方访问。在类似 Unix 的系统上,通过使用以下命令,您可以确保其他远程连接的用户(根用户除外)无法看到该文件。
chmod 0600 YOUR_KEY_FILE.p12
将您的服务帐号用于 gcloud CLI
您可以使用
gcloud auth activate-service-account启用服务账号凭据。
如需将您的服务帐号用于 gcloud CLI,请运行
gcloud auth activate-service-account 并将您的密钥文件的路径传递给此命令,同时附上所需的 --key-file 标志,并为其指定一个账号作为位置参数。
您使用的账号应是 控制台中列出的服务帐号的电子邮件地址,但系统不会对其进行验证;它仅有助于您 记住自己使用的账号。 Google Cloud
gcloud auth activate-service-account --key-file ~/mykeys/my_key_file.p12 my_service_account@developer.gserviceaccount.com Activated service account credentials for my_service_account@developer.gserviceaccount.com.
警告: gcloud auth activate-service-account 将复制您的私钥并将该副本存储在 $HOME/.config/gcloud/legacy_credentials/my_service_account@developer.gserviceaccount.com/private_key.p12 和 $HOME/.config/gcloud/credentials.db 中。系统将使用 0600 权限(仅适用于您自己的用户的读取/写入权限)创建此文件,存储在 $HOME/.config/gcloud
中的所有内容都应被视为机密。如需可靠放心地删除
gcloud CLI 存储的任何身份验证数据,您只需删除
$HOME/.config/gcloud。从控制台下载的密钥文件
的安全管理由用户负责。 Google Cloud 如有疑问,请在
控制台中撤消密钥。
Google Cloud
现在该服务帐号已被激活,您可以在 凭据列表中看到它。
gcloud auth list Credentialed Accounts ACTIVE ACCOUNT * my_service_account@developer.gserviceaccount.com To set the active account, run: $ gcloud config set account my_service_account@developer.gserviceaccount.com