为 Conda 代码库配置向 Artifact Registry 的身份验证

如需允许 Conda CLI 访问 Artifact Registry 制品库,您必须在向 Artifact Registry 发出的请求中提供身份验证令牌。本页面介绍了如何配置 Artifact Registry Conda Package Repository 的身份验证。

准备工作

  1. 如果您还没有 Conda 制品库,请创建 Conda 软件包制品库。
  2. 验证是否已安装 Conda。如果未安装 Conda,请运行并安装 Miniforge。
  3. 验证您使用的用户账号或服务账号是否具有访问代码库所需的权限。
  4. 安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:

    gcloud init

    如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。

  5. (可选)为 gcloud CLI 命令配置默认值。

使用 oauth 令牌对渠道进行身份验证

Conda 渠道是指存储了一个或多个 Conda 软件包的位置的地址。您必须先将相应软件包的渠道添加到 Conda 配置文件中,然后才能在 Conda 环境中安装软件包。

如需允许 Conda CLI 直接调用 Artifact Registry,您必须在 Google Cloud 中对 Conda 渠道进行身份验证,方法如下:

  1. 在 gcloud CLI 中,运行以下命令,将 oauth 令牌的身份存储在 TOKEN 变量中:

    export TOKEN="oauth2accesstoken:$(gcloud auth print-access-token)"
    
  2. 将您的 Conda 代码库添加为 Conda 配置文件中的渠道:

    Conda

    conda config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Miniforge

    conda config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Mamba

    mamba config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    Micromamba

    micromamba config --add channels \
    https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORY
    

    其中:

    • TOKEN 存储通过运行 oauth2accesstoken:$(gcloud auth print-access-token) 生成的 oauth 令牌的值。
    • LOCATION 是代码库的单区域或多区域位置。
    • PROJECT 是包含相应仓库的项目的 ID。
    • REPOSITORY 是代码库的 ID。

刷新过期的 oauth 令牌

oauth 令牌会在 1 小时后过期。如需使用新令牌重新验证频道,请执行以下操作:

  1. 从配置文件中移除您的频道:

    Conda

    conda config --remove channels CHANNEL_NAME
    

    Miniforge

    conda config --remove channels CHANNEL_NAME
    

    Mamba

    mamba config --remove channels CHANNEL_NAME
    

    Micromamba

    micromamba config --remove channels CHANNEL_NAME
    
  2. 按照上一步中的说明创建新的 oauth 令牌。

  3. 使用新令牌值将您的 Conda 代码库重新添加到 Conda 配置文件中。

后续步骤