如需允许 Conda CLI 访问 Artifact Registry 代码库,您必须在向 Artifact Registry 发出的请求中提供身份验证令牌。 本页面介绍了如何配置 Artifact Registry Conda Package Repository 的身份验证。
准备工作
- 如果您还没有 Conda 仓库,请创建 Conda 软件包仓库。
- 验证是否已安装 Conda。如果未安装 Conda,请运行并安装 Miniforge。
- 验证您使用的用户账号或服务账号是否具有访问代码库所需的权限。
-
安装 Google Cloud CLI。 安装完成后,运行以下命令来初始化 Google Cloud CLI:
gcloud init如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
- (可选)为 gcloud CLI 命令配置默认值。
使用 oauth 令牌对渠道进行身份验证
Conda 渠道是存储一个或多个 Conda 软件包的位置的地址。您必须先将相应软件包的渠道添加到 Conda 配置文件中,然后才能在 Conda 环境中安装软件包。
如需允许 Conda CLI 直接调用 Artifact Registry,您必须通过执行以下操作在 Google Cloud 中对 Conda 渠道进行身份验证:
在 gcloud CLI 中,运行以下命令,将
oauth令牌的身份存储在 TOKEN 变量中:export TOKEN="oauth2accesstoken:$(gcloud auth print-access-token)"在 Conda 配置文件中将 Conda 仓库添加为渠道:
Conda
conda config --add channels \ https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORYMiniforge
conda config --add channels \ https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORYMamba
mamba config --add channels \ https://$TOKEN@LOCATION-conda.pkg.dev/PROJECT/REPOSITORYMicromamba
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。
- TOKEN 存储通过运行
刷新过期的 oauth 令牌
oauth 令牌会在 1 小时后过期。如需使用新令牌重新对频道进行身份验证,请执行以下操作:
从配置文件中移除您的频道:
Conda
conda config --remove channels CHANNEL_NAMEMiniforge
conda config --remove channels CHANNEL_NAMEMamba
mamba config --remove channels CHANNEL_NAMEMicromamba
micromamba config --remove channels CHANNEL_NAME按照上一步中的说明创建新的
oauth令牌。使用新的令牌值将 Conda 代码库重新添加到 Conda 配置文件中。