Skip to main content

Fornecendo credenciais ao Devin

O Devin pode usar suas próprias credenciais de login para acessar plataformas que exigem autenticação, tanto no Browser quanto pela linha de comando. Recomendamos configurar uma conta dedicada para o Devin usar (por exemplo, devin@company.com) em cada serviço ao qual ele precisa ter acesso. Em seguida, você pode salvar o nome de usuário e a senha do Devin como Secrets na sua conta, para que ele possa fazer login como parte das suas sessões futuras. A inclusão de secrets é feita principalmente pela página Secrets. Essa página é particularmente relevante para secrets no nível de Organization. Para secrets específicos de repositório ou de sessão, consulte as seções abaixo.
Devin
Ao adicionar um secret, você pode adicionar uma Note que explique contexto adicional ou instruções de uso desse secret. Use esse campo para transmitir informações úteis tanto para o Devin quanto para outros membros da sua organização. Exemplos de notas incluem:
  • Esta API key deve ser usada apenas em nosso ambiente de produção e nunca em staging ou dev.
  • Usada para nosso banco de dados AWS RDS em us-west-2
  • Essas credenciais estão programadas para serem descontinuadas após o 3º trimestre de 2025
  • Expira automaticamente a cada 30 dias - entre em contato com o time de SecOps para rotação se isso começar a falhar
  • Esta API key está vinculada à conta de usuário devin@company.com

Segredos Globais Persistentes

Segredos adicionados em Settings → Resources → Secrets são persistidos em sessões futuras e se aplicam a toda a organização. Observe que quaisquer segredos que você compartilhar aqui poderão ser usados pelo Devin em todas as futuras sessões do Devin na sua organização. Todos os segredos são criptografados em repouso. Observe que todos os membros da sua organização poderão usar Segredos Globais, mas somente administradores poderão visualizar ou editar segredos existentes. Tenha cuidado para adicionar apenas segredos especificamente associados à sua organização e que possam ser usados por todos os seus membros.

Segredos Pessoais

Além dos segredos de toda a organização, você pode criar segredos pessoais que ficam associados apenas às suas próprias sessões. Segredos pessoais não são compartilhados com outros membros da sua organização. Isso é útil para credenciais vinculadas às suas contas pessoais ou para testar segredos que não devem ser expostos à equipe em geral. Para criar um segredo pessoal, selecione o escopo Personal ao adicionar um novo segredo na página Secrets. Segredos pessoais só ficam acessíveis em sessões que você criar e não ficam visíveis para outros membros da organização nem para administradores. Há alguns tipos de segredos disponíveis:
Este tipo é o mais adequado para a maioria dos segredos genéricos com um único valor. Cada Secret Name (também conhecido como Secret Key) está associado a um único Secret Value. Exemplos de segredos armazenados aqui incluem:
  • Chaves de API
  • Chaves SSH
  • Nomes de usuário ou senhas
  • Tokens
Se um único segredo exigir múltiplos valores, crie um segredo distinto para cada valor. Por exemplo, você pode armazenar GITHUB_USERNAME e GITHUB_PASSWORD como dois Raw Secrets. Para ver um exemplo que armazena uma chave de API como vários raw secrets, consulte Importar builds do iOS para o TestFlight.
Senhas descartáveis baseadas em tempo (TOTP) são usadas para autenticação de dois fatores (2FA). O Devin pode armazenar segredos TOTP que funcionam de forma semelhante aos do Google Authenticator ou Authy. Para mais detalhes sobre como adicionar um segredo TOTP, consulte Adicionando um novo TOTP
O Devin costumava permitir a criação de segredos key-value, que lidavam com várias chaves por segredo. No entanto, esse recurso não está mais disponível.Em vez de criar segredos key-value, recomendamos simplesmente criar vários raw secrets para cada campo distinto. Por exemplo, em vez de criar um segredo key-value para JIRA_LOGIN, você poderia criar dois raw secrets: JIRA_USERNAME e JIRA_PASSWORD.

Segredos específicos de repositório

Para restringir segredos a um repositório específico, adicione-os no editor de blueprint desse repositório:
  1. Acesse Configurações > Ambiente > Blueprints e selecione o repositório. O repositório já deve fazer parte do seu ambiente.
  2. Abra a aba Segredos.
  3. Clique em Create secret para adicionar um único segredo ou em Import secrets para adicionar vários de uma vez.
Nessa mesma aba, você pode pesquisar, exibir, editar e excluir os segredos do repositório. Para gerenciar segredos de repositório é necessária a permissão ManageOrgSecrets; os demais membros veem a lista apenas para leitura. Os segredos de repositório ficam disponíveis somente para aquele repositório: para as etapas do blueprint durante builds do snapshot e para o Devin quando ele trabalha nesse repositório durante as sessões. Eles são armazenados de forma criptografada e nunca são gravados no seu blueprint ou snapshot. Consulte Segredos na referência de blueprints para saber como são injetados.
Não coloque valores de segredos no YAML do blueprint, em comandos de configuração ou em arquivos .env comitados no repositório. Em vez disso, armazene-os na aba Segredos do repositório e referencie-os pelo nome (por exemplo, $MY_SECRET).

Segredos Específicos de Sessão

Enquanto Devin está trabalhando, ele pode pedir que você forneça credenciais (chaves de API, credenciais de login etc.) na conversa atual, assim:
Devin
Quando Devin pede segredos dessa forma, esses segredos ficam restritos apenas à sessão atual e não são salvos para nenhuma sessão futura. Como alternativa, você também pode definir segredos específicos de sessão por conta própria:
Devin

Trabalhando com segredos

O Devin fornece cada segredo apenas aos comandos e ferramentas que precisam dele. No navegador, o Devin digita o valor diretamente. Para comandos de shell, ele vincula os segredos como variáveis de ambiente sempre que necessário. Isso se aplica a segredos da organização, segredos específicos de repositório e segredos específicos de sessão. Os segredos não são exportados para todos os shells, então os scripts não devem presumir que uma variável como $API_KEY já esteja definida. Se um script depender de um segredo, informe ao Devin qual variável de ambiente ele lê e o Devin a vinculará aos comandos pertinentes. O Devin realiza algumas conversões de texto para garantir que seus segredos sejam variáveis de ambiente (ENV) válidas:
  • Ele remove caracteres inválidos, substituindo qualquer coisa que não seja letra, dígito ou sublinhado por outro sublinhado. Por exemplo, o segredo chamado Abc%123 se tornaria a variável de ambiente Abc_123
    • Se o nome do seu segredo começar com um dígito, o Devin adiciona um sublinhado ao início do nome. Por exemplo, o segredo 123MYVAR se tornaria a variável de ambiente _123MYVAR (nomes que já começam com uma letra ou sublinhado não são alterados)
    • Se você tiver dois segredos com o mesmo nome, o Devin adicionará um contador ao final. Por exemplo, se você tiver dois segredos chamados MY_SECRET, você acabará com duas variáveis de ambiente chamadas MY_SECRET e MY_SECRET_2, e assim por diante.
Para adicionar um Cookie de Site, siga as etapas abaixo:
  1. Faça login normalmente na conta que você deseja compartilhar com o Devin. Isso irá gerar cookie(s).
  2. Para obter o(s) cookie(s) do armazenamento do navegador, baixe a extensão Share your cookies e siga as instruções da extensão para extrair seus cookies. Você pode testar se importar o cookie em outro perfil do Chrome autentica você com sucesso no site.
  3. Adicione o cookie exportado ao Devin pela página Secrets.
  4. Ao usar o cookie para um site, o Devin deve identificar que já está autenticado quando navegar para esse site. Peça para o Devin testar!
Se você não estiver usando o Chrome ou precisar codificar cookies manualmente, observe que o Devin espera cookies em uma string codificada em base64 de objetos JSON delimitados por ; no formato padrão de cookies do Chromium.

Adicionando uma nova TOTP

Devin agora oferece suporte à autenticação de dois fatores (2FA) usando uma senha de uso único baseada em tempo (TOTP). Para isso, você precisará fornecer ao Devin as informações disponibilizadas no momento em que a 2FA é configurada na conta do Devin para o aplicativo específico:
  1. Acesse a conta do Devin para o serviço que exige 2FA.
  2. Vá até as configurações de segurança da conta e procure uma opção para regenerar ou visualizar o código QR. Isso pode ser chamado de Set up ou Replace Authenticator.
  3. Se o aplicativo permitir, selecione a opção para visualizar o código QR.
  4. Quando o código QR for exibido na tela, faça uma captura de tela.
  5. Acesse Devin’s Secrets, clique no botão “Add Secret” e altere o tipo de Secret para “One-time Password”. Defina um nome descritivo. Clique no pequeno ícone de código QR no canto superior direito do campo de entrada Value e faça upload da captura de tela do seu código QR.
Forneça apenas códigos 2FA associados a contas que foram configuradas especificamente para uso exclusivo do Devin. Não recomendamos fornecer ao Devin nenhum código 2FA das suas contas pessoais.

Dicas para TOTPs

  • Alguns aplicativos podem não permitir que você visualize o código QR existente depois que a 2FA estiver ativada. Nesses casos, regenerar o código QR é a única opção.
  • Sempre salve os novos códigos de backup fornecidos durante o processo em um local seguro.