Configurer l'authentification auprès d'Artifact Registry pour les dépôts Conda

Pour permettre à la CLI Conda d'accéder aux dépôts Artifact Registry, vous devez fournir un jeton d'authentification avec les requêtes envoyées à Artifact Registry. Cette page explique comment configurer l'authentification avec un dépôt de packages Conda Artifact Registry.

Avant de commencer

  1. Si vous n'avez pas encore de dépôt Conda, créez-en un.
  2. Vérifiez que Conda est installé. Si Conda n'est pas installé, exécutez et installez Miniforge.
  3. Vérifiez que le compte utilisateur ou le compte de service que vous utilisez dispose des autorisations requises pour accéder au dépôt.
  4. Installez la Google Cloud CLI. Une fois que la Google Cloud CLI est installée, initialisez-la en exécutant la commande suivante :

    gcloud init

    Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  5. (Facultatif) Configurez des valeurs par défaut pour les commandes gcloud CLI.

Authentifier une chaîne avec des jetons oauth

Un canal Conda est l'adresse d'un emplacement où sont stockés un ou plusieurs packages Conda. Avant de pouvoir installer des packages dans votre environnement Conda, vous devez ajouter le canal correspondant à ce package dans votre fichier de configuration Conda.

Pour permettre à la CLI Conda d'appeler directement Artifact Registry, vous devez authentifier votre canal Conda dans Google Cloud en procédant comme suit :

  1. Dans gcloud CLI, exécutez la commande suivante pour stocker l'identité d'un jeton oauth dans une variable TOKEN :

    export TOKEN="oauth2accesstoken:$(gcloud auth print-access-token)"
    
  2. Ajoutez votre dépôt Conda en tant que canal dans votre fichier de configuration 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
    

    Où :

    • TOKEN stocke la valeur du jeton oauth généré en exécutant oauth2accesstoken:$(gcloud auth print-access-token).
    • LOCATION est l'emplacement régional ou multirégional du dépôt.
    • PROJECT est l'ID du projet contenant le dépôt.
    • REPOSITORY est l'ID du dépôt.

Actualiser un jeton oauth expiré

Un jeton oauth expire au bout d'une heure. Pour réauthentifier votre chaîne avec un nouveau jeton, procédez comme suit :

  1. Supprimez votre chaîne de votre fichier de configuration :

    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. Suivez l'étape précédente qui décrit la création d'un jeton oauth.

  3. Ajoutez de nouveau votre dépôt Conda à votre fichier de configuration Conda, en utilisant votre nouvelle valeur de jeton.

Étapes suivantes