Skip to main content

Fournir des identifiants à Devin

Devin peut utiliser ses propres identifiants de connexion pour accéder aux plateformes qui nécessitent une authentification, soit dans son navigateur, soit via la ligne de commande. Nous recommandons de configurer un compte dédié pour Devin (par exemple devin@company.com) sur chaque service auquel il doit avoir accès. Vous pouvez ensuite enregistrer le nom d’utilisateur et le mot de passe de Devin en tant que Secrets sur votre compte, afin qu’il puisse se connecter dans le cadre de vos futures sessions. L’ajout de secrets se fait principalement via la page Secrets. Cette page est particulièrement pertinente pour les secrets au niveau de l’organisation. Pour les secrets spécifiques à un dépôt ou à une session, voir les sections ci-dessous.
Devin
Lors de l’ajout d’un secret, vous pouvez ajouter une note qui fournit un contexte supplémentaire ou des instructions pour l’utilisation de ce secret. Utilisez ce champ pour transmettre des informations utiles à la fois à Devin et aux autres membres de votre organisation. Des exemples de notes peuvent inclure :
  • Cette clé d’API ne doit être utilisée que dans notre environnement de production et jamais en préproduction ou en développement.
  • Utilisée pour notre base de données AWS RDS dans us-west-2
  • Ces identifiants sont prévus pour être dépréciés après le 3e trimestre 2025
  • Expire automatiquement tous les 30 jours — contacter l’équipe SecOps pour une rotation si cela commence à échouer
  • Cette clé d’API est rattachée au compte utilisateur devin@company.com

Secrets globaux persistants

Les secrets ajoutés dans Settings → Resources → Secrets sont conservés pour les sessions futures et s’appliquent à l’ensemble de l’organisation. Notez que tous les secrets que vous partagez ici seront utilisables par Devin dans toutes les futures sessions Devin au sein de votre organisation. Tous les secrets sont chiffrés au repos. Veuillez noter que tous les membres de votre organisation pourront utiliser les secrets globaux, mais seuls les administrateurs pourront afficher ou modifier les secrets existants. Veillez à n’ajouter que des secrets spécifiquement restreints au périmètre de votre organisation et utilisables par tous ses membres.

Secrets personnels

En plus des secrets à l’échelle de l’organisation, vous pouvez créer des secrets personnels dont le périmètre est limité à vos propres sessions. Les secrets personnels ne sont pas partagés avec les autres membres de votre organisation. Cela est utile pour les credentials liés à vos comptes personnels ou pour tester des secrets qui ne doivent pas être exposés à l’ensemble de l’équipe. Pour créer un secret personnel, sélectionnez le périmètre Personal lors de l’ajout d’un nouveau secret sur la page Secrets. Les secrets personnels ne sont accessibles que dans les sessions que vous créez et ne sont visibles ni des autres membres de l’organisation ni des administrateurs. Plusieurs types de secrets sont disponibles :
Ce type convient le mieux à la plupart des secrets génériques avec une seule valeur. Chaque Secret Name (également appelé Secret Key) est associé à une seule Secret Value. Exemples de secrets stockés ici :
  • Clés d’API
  • Clés SSH
  • Noms d’utilisateur ou mots de passe
  • Jetons
Si un seul secret nécessite plusieurs valeurs, créez un secret distinct pour chaque valeur. Par exemple, vous pouvez stocker GITHUB_USERNAME et GITHUB_PASSWORD comme deux Raw Secrets. Pour un exemple qui stocke une clé d’API sous forme de plusieurs Raw Secrets, consultez Téléverser des builds iOS vers TestFlight.
Les cookies « conservent » votre état d’authentification ; si vous êtes connecté à un site, donner à Devin vos cookies pour ce site fera en sorte que Devin soit automatiquement connecté au même site.Veuillez noter que parfois, les cookies peuvent être insuffisants à eux seuls et nécessiter des secrets Username ou Password supplémentaires. Par exemple, sur Amazon, Devin peut être connecté au site lors de la navigation ou de l’ajout au panier, mais Amazon peut exiger une couche supplémentaire de confirmation par mot de passe au moment du paiement.Les cookies sont stockés sous la forme d’une chaîne encodée en Base64 contenant un tableau JSON délimité par des ; au format standard de cookie Chromium. Il est important de le savoir si vous devez encoder manuellement les cookies plutôt que de les exporter directement depuis Chrome. Pour plus de détails sur l’ajout d’un secret Cookie, veuillez consulter Ajouter un nouveau cookie de site
Les mots de passe à usage unique basés sur le temps (TOTP) sont utilisés pour l’authentification à deux facteurs (2FA). Devin peut stocker des secrets TOTP qui fonctionnent de manière similaire à ceux de Google Authenticator ou Authy. Pour plus de détails sur l’ajout d’un secret TOTP, veuillez consulter Ajouter un nouveau TOTP
Devin permettait auparavant de créer des secrets Key-Value qui géraient plusieurs clés par secret. Cependant, cette fonctionnalité n’est plus disponible.Au lieu de créer des secrets key-value, nous recommandons simplement de créer plusieurs Raw Secrets pour chaque champ distinct. Par exemple, au lieu de créer un secret key-value pour JIRA_LOGIN, vous pouvez créer deux Raw Secrets : JIRA_USERNAME et JIRA_PASSWORD.

Secrets spécifiques à un repository

Pour limiter le périmètre des secrets à un repository spécifique, ajoutez-les dans l’éditeur de blueprint de ce repository :
  1. Accédez à Settings > Environment > Blueprints et sélectionnez le repository. Celui-ci doit déjà faire partie de votre environnement.
  2. Ouvrez l’onglet Secrets.
  3. Cliquez sur Create secret pour ajouter un secret, ou sur Import secrets pour en ajouter plusieurs à la fois.
Ce même onglet vous permet de rechercher, afficher, modifier et supprimer les secrets du repository. La gestion des secrets d’un repository nécessite l’autorisation ManageOrgSecrets ; les autres membres voient la liste en lecture seule. Les secrets d’un repository ne sont accessibles que dans ce repository : aux étapes de son blueprint lors des builds du snapshot, et à Devin lorsqu’il y travaille pendant les sessions. Ils sont stockés chiffrés et ne sont jamais inscrits dans votre blueprint ni dans votre snapshot. Consultez Secrets dans la référence Blueprint pour savoir comment ils sont injectés.
Ne placez pas de valeurs de secrets dans le YAML du blueprint, dans les commandes de setup ou dans des fichiers .env commités dans le repository. Stockez-les plutôt dans l’onglet Secrets du repository et référencez-les par leur nom (par exemple, $MY_SECRET).

Secrets spécifiques à une session

Pendant que Devin travaille, il peut vous demander de fournir des identifiants (clés API, identifiants de connexion, etc.) dans la conversation en cours, comme ceci :
Devin
Lorsque Devin demande des secrets de cette manière, ces secrets relèvent uniquement du périmètre de la session en cours et ne sont pas enregistrés pour de futures sessions. Vous pouvez également définir vous-même des secrets spécifiques à une session :
Devin

Travailler avec les secrets

Devin fournit chaque secret aux commandes et outils spécifiques qui en ont besoin. Dans le Browser, Devin saisit directement la valeur. Pour les commandes shell, il lie les secrets en tant que variables d’environnement lorsque cela est nécessaire. Cela s’applique aux secrets à l’échelle de l’organisation, aux secrets spécifiques à un dépôt et aux secrets spécifiques à une session. Les secrets ne sont pas exportés dans chaque shell : les scripts ne doivent donc pas présumer qu’une variable comme $API_KEY est déjà définie. Si un script dépend d’un secret, indiquez à Devin quelle variable d’environnement il lit et Devin la liera aux commandes concernées. Devin effectue une certaine transformation de texte pour garantir que vos secrets sont des variables d’environnement (ENV) valides :
  • Il supprime les caractères non valides en remplaçant tout ce qui n’est pas une lettre, un chiffre ou un tiret de soulignement (_) par un tiret de soulignement. Par exemple, le secret nommé Abc%123 deviendrait la variable d’environnement Abc_123
    • Si le nom de votre secret commence par un chiffre, Devin ajoute un tiret de soulignement au début du nom. Par exemple, le secret 123MYVAR deviendrait la variable d’environnement _123MYVAR (les noms qui commencent déjà par une lettre ou un tiret de soulignement restent inchangés)
    • Si vous avez deux secrets portant le même nom, Devin ajoutera un compteur à la fin. Par exemple, si vous avez deux secrets nommés MY_SECRET, vous obtiendrez deux variables d’environnement nommées MY_SECRET et MY_SECRET_2, et ainsi de suite.
Pour ajouter un cookie de site, suivez les étapes ci-dessous :
  1. Connectez-vous comme vous le faites habituellement au compte que vous souhaitez partager avec Devin. Cela générera un ou plusieurs cookies.
  2. Pour récupérer le ou les cookies depuis le stockage du navigateur, téléchargez l’extension de navigateur Share your cookies et suivez les étapes indiquées dans cette extension pour extraire vos cookies. Vous pouvez tester l’import du cookie dans un autre profil Chrome pour vérifier que l’authentification au site fonctionne correctement.
  3. Ajoutez le cookie exporté à Devin via la page Secrets.
  4. Lors de l’utilisation du cookie pour un site, Devin devrait constater qu’il est déjà connecté lorsqu’il navigue vers ce site. Demandez à Devin de faire un essai !
Si vous n’utilisez pas Chrome ou devez encoder manuellement des cookies, notez que Devin s’attend à recevoir des cookies sous forme de chaîne encodée en base64, composée d’objets JSON séparés par des ;, au format standard des cookies Chromium.

Ajout d’un nouveau TOTP

Devin peut désormais gérer l’authentification à deux facteurs (2FA) à l’aide d’un mot de passe à usage unique basé sur le temps (TOTP). Pour cela, vous devez fournir à Devin les informations générées lors de la configuration de la 2FA sur le compte de Devin pour l’application concernée :
  1. Accédez au compte de Devin pour le service qui nécessite la 2FA.
  2. Allez dans les paramètres de sécurité du compte et recherchez une option pour régénérer ou afficher le code QR. Cette option peut s’appeler « Set up » ou « Replace Authenticator ».
  3. Si l’application le permet, sélectionnez l’option pour afficher le code QR.
  4. Une fois le code QR affiché à l’écran, prenez une capture d’écran.
  5. Accédez à Devin’s Secrets, cliquez sur le bouton « Add Secret », puis changez le type de secret en « One-time Password ». Donnez un nom descriptif. Cliquez sur la petite icône de code QR en haut à droite du champ « Value » et téléversez la capture d’écran de votre code QR.
Ne fournissez que des codes 2FA associés à des comptes spécialement configurés pour l’usage exclusif de Devin. Nous vous déconseillons fortement de donner à Devin des codes 2FA pour vos comptes personnels.

Conseils concernant les TOTP

  • Certaines applications peuvent ne pas vous permettre d’afficher le code QR existant une fois la 2FA activée. Dans ce cas, la seule option est de régénérer le code QR.
  • Enregistrez toujours les nouveaux codes de sauvegarde fournis pendant le processus dans un endroit sûr.