包括 Pyca 加密库

本页面介绍如何更新 gcloud 命令行工具,以支持通过安装 Pyca 加密库自动封装密钥以便安全地导入 Cloud Key Management Service。2.2.0 版或更高版本添加了对必需的 aes_key_wrap_with_padding 封装机制的支持。

准备工作

  • 安装或升级 Cloud SDK 到 253.0.0 版或更高版本。
  • 如果可能,安装 pip 命令。pipPython Package Index 的命令行界面,与平台无关。您的操作系统提供的软件包管理器可能不提供 2.2.0 版或更高版本的 Pyca 加密库。

使用 pip 进行安装

建议使用 pip 命令。pip 是与平台无关的命令行界面。您可以在 Linux、macOS 或 Windows 系统上安装和使用 pip

此命令会将该库安装到您的用户环境中,并指定要安装的最低版本。要在系统范围内安装,请忽略 --user 标志。您可能需要以特权用户身份安装 pip

pip install --user "cryptography>=2.2.0"

安装 Pyca 加密库之后,您必须启用网站软件包以便 Cloud SDK 可以使用这些库。

使用软件包管理器在 Linux 上进行安装

如果您无法使用 pip 命令,请在 Linux 系统上按照以下说明操作。

Debian 或 Ubuntu

如果您使用基于 Debian 或 Ubuntu 的系统,则可以使用 apt-get 命令安装 Pyca 加密库。

  1. 检查软件包数据库中提供的 python-cryptography 软件包版本。要求采用 2.2.0 或更高版本。

    apt policy python-cryptography
    
  2. 安装软件包。

    sudo apt-get install python-cryptography
    

    如有必要,请指定要安装的版本。

    sudo apt-get install python-cryptography=version
    

安装 Pyca 加密库之后,您必须启用网站软件包以便 Cloud SDK 可以使用这些库。

Red Hat、CentOS 或 SUSE

如果您的系统使用 RPM 进行软件包管理,则可以使用 yum 命令安装 Pyca 加密库。

  1. 检查软件包数据库中提供的 python-cryptography 版本。要求采用 2.2.0 或更高版本。

    yum --showduplicates list python2-cryptography
    
  2. 安装软件包。

    sudo yum install python2-cryptography
    

    如有必要,请指定要安装的版本。

    sudo yum install python2-cryptography-version
    

安装 Pyca 加密库之后,您必须启用网站软件包以便 Cloud SDK 可以使用这些库。

启用网站软件包

默认情况下,Cloud SDK 会忽略本地系统上安装的 Python 库。要允许 Cloud SDK 使用 Pyca 加密库,您需要启用网站软件包。

要启用网站软件包,请将 CLOUDSDK_PYTHON_SITEPACKAGES 环境变量设置为 1。启用网站软件包后,Cloud SDK 可以使用 google-cloud-sdk/lib 目录之外的其他库。

Linux

export CLOUDSDK_PYTHON_SITEPACKAGES=1

macOS

export CLOUDSDK_PYTHON_SITEPACKAGES=1

Windows

set CLOUDSDK_PYTHON_SITEPACKAGES=1

启用网站软件包可能会导致一些 gcloud 工具命令失败。 建议您在导入密钥后停用网站软件包

停用网站软件包

导入密钥结束后,建议您在使用 Cloud SDK 的系统上停用网站软件包。要停用网站软件包,请将 CLOUDSDK_PYTHON_SITEPACKAGES 设置为 0

Linux

export CLOUDSDK_PYTHON_SITEPACKAGES=0

macOS

export CLOUDSDK_PYTHON_SITEPACKAGES=0

Windows

set CLOUDSDK_PYTHON_SITEPACKAGES=0