為 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. 從設定檔中移除頻道:

    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 設定檔。

後續步驟