Dépannage

Cette page explique comment résoudre les problèmes liés à Secure Source Manager.

Message d'erreur lors de la création d'un dépôt

L'erreur suivante s'affiche lorsque vous essayez de créer un dépôt :

There was an error while loading /repo/create. Try refreshing the page.

Ce problème se produit dans les cas suivants :

  • L'API Secure Source Manager n'est pas activée dans votre projet.
  • Vous ne disposez pas du rôle d'administrateur de dépôt dans votre projet ni des autorisations nécessaires pour créer des dépôts dans l'instance Secure Source Manager.

Pour remédier à ce problème :

  • Activez l'API Secure Source Manager dans votre projet.
  • Demandez à votre administrateur de vous attribuer les rôles suivants :
    • Rôle d'administrateur de dépôt (roles/securesourcemanager.repoAdmin) dans votre projet.
    • Accesseur d'instance (roles/securesourcemanager.instanceAccessor) dans l'instance Secure Source Manager.
    • Créateur de dépôts d'instances (roles/securesourcemanager.instanceRepositoryCreator) dans l'instance Secure Source Manager.

Pour en savoir plus, consultez la section Contrôle des accès avec IAM.

Message d'erreur lors du clonage d'un dépôt sur un Mac

L'erreur suivante s'affiche lorsque vous essayez de cloner un dépôt :

git: 'credential-gcloud.sh' is not a git command.  See 'git --help'.
fatal: Authentication failed for [repo-url]

Ce problème se produit dans les cas suivants :

  • gcloud CLI est installé à l'aide de Homebrew ou d'une autre installation non standard.
  • git-credential-gcloud.sh n'est pas ajouté à votre chemin d'accès.

Pour remédier à ce problème :

  • Exécutez source $HOMEBREW_PREFIX/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc.
  • Vérifiez que git-credential-gcloud.sh se trouve dans votre chemin d'accès en exécutant la commande suivante :

    which git-credential-gcloud.sh
    

Échec des requêtes Git HTTPS avec une erreur "Permission denied" (Autorisation refusée) ou "Unauthorized" (Non autorisé)

Lorsque des commandes Git sont tentées via HTTPS, un message d'erreur "Permission denied" (Autorisation refusée) ou "Unauthorized" (Non autorisé) s'affiche.

Ce problème se produit dans l'un des cas suivants :

  • Le fichier de configuration Git global ne contient pas l'assistant d'authentification Secure Source Manager.
  • Le magasin d'identifiants intégré de Git est utilisé au lieu d'appeler l'assistant d'authentification Secure Source Manager pour obtenir un nouvel identifiant.
  • Un assistant d'identifiants système est utilisé au lieu d'appeler l'assistant d'authentification Secure Source Manager pour obtenir un nouvel identifiant.
  • Une ancienne version de Google Cloud CLI est utilisée lors de l'interaction avec les dépôts Secure Source Manager via HTTPS. Secure Source Manager nécessite Google Cloud CLI version 395.0.0 ou ultérieure.

Pour remédier à ce problème :

  1. Exécutez la commande suivante pour déterminer le contenu de votre configuration Git globale.

    git config --list | grep credential
    
  2. Si vous voyez une ligne semblable à *credential*.helper=store sur macOS ou credential.helper = manager sur Windows, supprimez ces lignes, puis réauthentifiez-vous à l'aide de gcloud auth login avant de réessayer la commande Git.

  3. Si la réponse n'inclut pas credential.https://*.*.sourcemanager.dev.helper=gcloud.sh sur macOS ou Linux, ou credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd sur Windows, ajoutez l'assistant d'authentification Secure Source Manager à votre configuration Git globale :

    Linux

    1. Pour ajouter l'assistant d'authentification Secure Source Manager à votre configuration Git globale, exécutez la commande suivante :

      git config --global credential.'https://*.*.sourcemanager.dev'.helper gcloud.sh
      
    2. Vérifiez que la ligne de l'assistant d'authentification est ajoutée à votre configuration Git globale en exécutant la commande suivante :

      git config --list | grep credential
      

      La sortie doit inclure credential.https://*.*.sourcemanager.dev.helper=gcloud.sh.

    3. Authentifiez-vous en exécutant gcloud auth login.

    4. Exécutez une commande Git pour tester l'authentification.

    Windows

    1. Vérifiez votre version de gcloud CLI en suivant les instructions Installer Git et Google Cloud CLI.
    2. Pour ajouter l'assistant d'authentification Secure Source Manager à votre configuration Git globale, exécutez la commande suivante :

      git config --global credential.https://*.*.sourcemanager.dev.helper gcloud.cmd
      
    3. Vérifiez que la ligne de l'assistant d'authentification est ajoutée à votre configuration Git globale en exécutant la commande suivante :

      git config --list | grep credential
      

      La sortie doit inclure credential.https://*.*.sourcemanager.dev.helper=gcloud.cmd.

    4. Authentifiez-vous en exécutant gcloud auth login.

    5. Exécutez une commande Git pour tester l'authentification.

Échec des requêtes Git HTTPS avec un jeton non valide

Un jeton OAuth valide est requis comme mot de passe pour les opérations Git HTTPS. Il est normalement géré par l'assistant d'identifiants Git, mais il peut également fonctionner avec des jetons OAuth générés à l'aide d'autres approches (par exemple, les identifiants par défaut de l'application).

Si une requête Git est rejetée en raison d'un jeton non valide, cela signifie normalement que les informations utilisateur n'ont pas pu être extraites du jeton entrant. Plusieurs causes sont possibles :

  • Votre connexion gcloud CLI a peut-être expiré.

    Connectez-vous à nouveau à l'aide de gcloud auth login.

  • Votre jeton ne dispose pas d'un champ d'application suffisant. Les jetons OAuth doivent avoir les champs d'application suivants :

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/userinfo.email

    Vous pouvez vérifier le champ d'application du jeton en appelant curl https://oauth2.googleapis.com/tokeninfo?access_token=${TOKEN}.

  • Vous utilisez un jeton généré à partir de l'identité de charge de travail du parc GKE :

  • Vous disposez de règles d'organisation qui empêchent l'utilisation de jetons en dehors de certains périmètres, par exemple l'accès contextuel.

    Pour résoudre ce problème, définissez la propriété de configuration gcloud CLI git_helper_use_adc sur true et mettez à jour vos identifiants par défaut de l'application (ADC) :

    1. Définissez la propriété git_helper_use_adc :

      gcloud config set auth/git_helper_use_adc true
      
    2. Mettez à jour vos ADC :

      gcloud auth login --update-adc
      

Échec des requêtes Git HTTPS sur macOS avec une erreur 403 en raison d'identifiants obsolètes

Lorsque vous effectuez des opérations Git via HTTPS sur macOS, vous pouvez recevoir une erreur 403.

Ce problème peut se produire sur macOS si vous utilisez le trousseau iCloud, qui peut interférer avec les jetons d'authentification gcloud CLI en stockant et en synchronisant des jetons obsolètes. Ces jetons obsolètes peuvent entraîner l'échec de l'authentification avec Secure Source Manager, même après que vous vous êtes réauthentifié à l'aide de gcloud auth login.

Pour résoudre ce problème, supprimez manuellement les identifiants obsolètes du trousseau d'accès :

  1. Ouvrez l'application Trousseau d'accès sur votre Mac (située dans /Applications/Utilities/).
  2. Recherchez sourcemanager.dev.
  3. Supprimez toutes les entrées de type "Mot de passe Internet" qui correspondent à *.*.sourcemanager.dev ou à l'URL de votre instance Secure Source Manager en cliquant avec le bouton droit sur l'entrée et en sélectionnant Supprimer.
  4. Une fois les entrées supprimées, réessayez votre opération Git. Vous serez peut-être invité à vous réauthentifier avec gcloud CLI. Si les opérations Git continuent d'échouer, exécutez gcloud auth login avant de réessayer.

SSM renvoie une erreur lors de l'utilisation de jetons de compte de service Kubernetes (KSA) avec l'identité de charge de travail du parc GKE

Lorsque vous utilisez l'identité de charge de travail du parc GKE, les jetons KSA bruts ne sont pas compatibles avec Secure Source Manager. L'utilisation de ces jetons entraîne une erreur.

Pour résoudre ce problème, vous devez emprunter l'identité d'un compte de service et lier la charge de travail à un compte de service Google. Vous devez également ajouter l'annotation suivante à votre configuration KSA :

iam.gke.io/gcp-service-account: SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com

Le projet ne s'affiche pas dans le sélecteur de produits de l'interface Web

Votre projet n'apparaît pas lorsque vous utilisez le sélecteur de produits de l'interface Web Secure Source Manager.

Ce problème se produit lorsque vous disposez de plusieurs identifiants de connexion pour Secure Source Manager.

Pour remédier à ce problème :

  • Effacez vos cookies en ajoutant /_oauth/consent à l'URL de votre instance Secure Source Manager.

    Par exemple, si l'URL de votre instance est https://my-instance-098765432123.us-central1.sourcemanager.dev/, saisissez https://my-instance-098765432123.us-central1.sourcemanager.dev/_oauth/consent dans la barre d'adresse de votre navigateur, puis connectez-vous avec les identifiants appropriés.

Le fichier de déclencheurs ne déclenche pas de compilations

Si les compilations ne sont pas déclenchées comme prévu après l'envoi de votre fichier de déclencheurs, vous pouvez rencontrer l'un des problèmes suivants :

  • Le fichier de déclencheurs ne se trouve pas dans la branche par défaut. Pour résoudre ce problème, déplacez votre fichier de déclencheurs vers votre branche par défaut.
  • Le format du fichier de déclencheurs n'est pas valide. Cette erreur est indiquée par une bannière sur la page du dépôt : Build triggers configuration error: ... (Erreur de configuration des déclencheurs de compilation : ...). Pour résoudre ce problème, consultez le schéma du fichier de déclencheurs. Lorsque la configuration du fichier de déclencheurs est correcte, la bannière sur la page du dépôt indique Valid build triggers configuration (Configuration des déclencheurs de compilation valide).

Erreur de configuration des déclencheurs de compilation

Après avoir envoyé votre fichier triggers.yaml à votre dépôt Secure Source Manager, l'erreur suivante s'affiche dans une bannière :

Build cannot be created.

Ce problème se produit pour les raisons suivantes :

  • Le fichier de configuration Cloud Build comporte des options non valides.
  • Le format du fichier de configuration Cloud Build n'est pas valide.
  • Le compte de service Secure Source Manager ne dispose pas des autorisations requises pour utiliser le compte de service Cloud Build spécifié par l'utilisateur.

Pour résoudre ce problème :

  • Assurez-vous de suivre le schéma de fichier de déclencheurs approprié Triggers file schema.
  • Assurez-vous que le compte de service Secure Source Manager et le compte de service Cloud Build disposent des autorisations suffisantes. Pour afficher les autorisations requises, consultez la section Rôles de compte de service requis.

Échec de la compilation lors de l'exécution

Si une compilation est déclenchée, mais échoue lors de l'exécution, le commit associé présente l'état d'échec.

Pour résoudre un problème de compilation, cliquez sur Détails à côté de l'état d'échec du commit sur la page du dépôt.

Le journal d'exécution Cloud Build s'ouvre. Pour en savoir plus sur la résolution des problèmes de compilation dans Cloud Build, consultez la section Résoudre les erreurs de compilation.