メインコンテンツへスキップ

Devin に認証情報を設定する

Devin は、認証が必要なプラットフォームにアクセスするために、Browser 内でもコマンドライン経由でも、自身のログイン認証情報を使用できます。Devin がアクセスする必要のある各サービスごとに、Devin 専用アカウント(例:[email protected])を作成することを推奨します。そのうえで、Devin のユーザー名とパスワードを自分のアカウント上の Secret として保存しておくことで、今後のセッションで Devin がログインできるようにできます。 Secret の追加は主に Secrets ページ から行います。このページは、特に組織レベルの Secret を扱う場合に重要です。リポジトリ単位またはセッション単位の Secret については、以下のセクションを参照してください。
Devin
Secret を追加する際には、Secret の利用方法に関する補足情報や指示を説明する Note を付けることができます。このフィールドを使って、Devin と組織メンバー双方に有用な情報を伝えてください。Note の例は以下のとおりです:
  • この API キーは本番環境でのみ使用し、ステージングや開発環境では絶対に使用しないこと。
  • us-west-2 リージョンの AWS RDS データベース用。
  • これらの認証情報は 2025 年第 3 四半期以降に廃止予定。
  • 30 日ごとに自動失効します。エラーになり始めた場合は SecOps チームに連絡してローテーションしてください。
  • この API キーは [email protected] ユーザーアカウントに紐づいています。

永続化されたグローバルシークレット

Settings & Library > Secrets で追加したシークレットは、今後のセッションでも利用できるように永続的に保存され、組織全体に適用されます。ここで追加したシークレットは、組織内の今後のすべての Devin セッションで Devin によって利用可能になる点に注意してください。すべてのシークレットは保存データとして暗号化されます。新しく追加したシークレットは、そのシークレットを追加したに作成されたセッションでのみ Devin が利用できます。 グローバルシークレットは組織のすべてのメンバーが利用できますが、既存のシークレットを閲覧または編集できるのは管理者のみです。組織に特化しており、全メンバーが利用できるものだけを追加するよう注意してください。 利用可能なシークレットには、いくつかの種類があります。
これは、単一の値を持つ汎用的なシークレットに最も適しています。各 Secret Name(Secret Key とも呼ばれます)は、単一の Secret Value に対応します。ここに保存するシークレットの例には次のようなものがあります。
  • API Keys
  • SSH Keys
  • ユーザー名やパスワード
  • Tokens
1 つのシークレットに複数の値が必要な場合は、値ごとに別個のシークレットを作成してください。たとえば、GITHUB_USERNAME と GITHUB_PASSWORD を 2 つの Raw Secret として保存できます。
**Cookie は認証済み状態を「保持」します。**あるサイトにログインしている場合、そのサイトの Cookie を Devin に渡すと、Devin も同じサイトに自動的にログインした状態になります。ただし、Cookie だけでは不十分で、追加のユーザー名やパスワードのシークレットが必要になる場合があることに注意してください。たとえば Amazon では、Devin は買い物やカート追加時点ではサイトにログインしていても、チェックアウト時に追加のパスワード確認レイヤーが求められることがあります。Cookie は、標準的な Chromium の Cookie フォーマットにおける、; 区切りの JSON 配列を base64 エンコードした文字列として保存されます。Chrome から直接エクスポートせずに手動で Cookie をエンコードする必要がある場合、この形式を把握しておくことが重要です。Cookie シークレットの追加方法については、新しいサイト Cookie の追加 を参照してください。
Time-based one-time password は二要素認証 (2FA) に使用されます。Devin は、Google Authenticator や Authy のものと同様に動作する TOTP シークレットを保存できます。TOTP シークレットの追加方法については、新しい TOTP の追加 を参照してください。
Devin では以前、1 つのシークレット内で複数のキーを扱える Key-Value シークレットの作成をサポートしていましたが、この機能は現在は利用できません。Key-Value シークレットを作成する代わりに、フィールドごとに複数の Raw Secret を作成することを推奨します。たとえば、JIRA_LOGIN 用の Key-Value シークレットを作成する代わりに、JIRA_USERNAME と JIRA_PASSWORD の 2 つの Raw Secret を作成できます。

リポジトリ固有のシークレット

シークレットの適用範囲を特定のリポジトリに限定するには、リポジトリのセットアップ時に、環境変数として(または .env ファイル内に)追加します。
Devin
今後、同じスナップショットを使用するセッションはこれらの環境変数にアクセスできますが、それ以外の無関係なセッションからはアクセスできません。

セッション固有のシークレット

Devin が作業している間、次のように現在の会話の中で認証情報(API キー、ログイン情報など)の提供を求める場合があります。
Devin
Devin がこのようにシークレットの入力を求める場合、これらのシークレットは現在のセッションのみに限定され、今後のセッションのために保存されることはありません。 または、次のように自分でセッション固有のシークレットを設定することもできます。
Devin

シークレットの使用方法

Devin でシークレットを設定すると(そのシークレットを設定した後に開始されたセッションであれば)、アプリケーションからは通常の ENV 変数と同様にアクセスできます。これは、組織全体で有効なグローバルシークレット、リポジトリ固有のシークレット、およびセッション固有のシークレットすべてに適用されます。 Devin は、シークレットが有効な ENV 変数になるように、いくつかの変換処理を行います。
  • 文字、数字、またはアンダースコア以外の無効な文字は、アンダースコアに置き換えます。たとえば、Abc%123 という名前のシークレットは、ENV 変数 Abc_123 になります。
    • シークレット名が文字で始まらない場合、Devin は名前の先頭にアンダースコアを追加します。たとえば、123MYVAR というシークレットは、ENV 変数 _123MYVAR になります。
    • 同じ名前のシークレットが 2 つある場合、Devin は末尾にカウンタを追加します。たとえば、MY_SECRET という名前のシークレットが 2 つある場合、ENV 変数は MY_SECRET と MY_SECRET_2 という 2 つになり、以降も同様に増えていきます。
その後、アプリケーションで利用している ENV 変数の読み取り方法を使ってシークレットにアクセスできます。たとえば、$API_KEY のように先頭にドル記号を付けてシークレットを参照できます。 サイトクッキーを追加するには、以下の手順に従ってください。
  1. Devin と共有したいアカウントに、通常どおりログインします。これによりクッキーが生成されます。
  2. ブラウザに保存されているクッキーを取得するため、ブラウザ拡張機能 Share your cookies をダウンロードし、その拡張機能の手順に従ってクッキーを抽出します。別の Chrome プロファイルにそのクッキーをインポートして、そのサイトに正常に認証されることをテストしておくとよいでしょう。
  3. エクスポートしたクッキーを Secrets ページ から Devin に追加します。
  4. サイト向けにクッキーを使用する際、Devin はそのサイトに遷移したとき、すでにログイン済みであると認識するはずです。Devin に試すよう指示してください。
Chrome を使用していない場合やクッキーを手動でエンコードする必要がある場合は、Devin は、標準的な Chromium クッキーフォーマットの JSON オブジェクトを ; で区切った文字列を base64 エンコードした形式でクッキーが渡されることを想定している点に注意してください。

ワンタイムパスワード

Devin は、時刻ベースのワンタイムパスワード (TOTP) を使用した二要素認証 (2FA) に対応しています。この機能を利用するには、対象アプリケーション用に Devin のアカウントで 2FA を設定した際に表示・提供される情報を Devin に渡す必要があります。
  1. 2FA が必要なサービスの Devin のアカウントにアクセスします。
  2. アカウントのセキュリティ設定に移動し、QR コードを再生成または表示するためのオプションを探します。これは「Set up」や「Replace Authenticator」といった名前になっている場合があります。
  3. アプリケーションで許可されている場合は、QR コードを表示するオプションを選択します。
  4. 画面に QR コードが表示されたら、スクリーンショットを撮ります。
  5. Devin’s Secrets に移動し、「Add Secret」ボタンをクリックして、Secret type を「One-time Password」に変更します。識別しやすい名前を付けます。Value 入力ボックス右上の小さな QR コードアイコンをクリックし、QR コードのスクリーンショットをアップロードします。
Devin の利用専用として明示的にセットアップされたアカウントに紐づく 2FA コードのみを提供してください。個人アカウントの 2FA コードを Devin に渡すことは推奨しません。

TOTP 利用時のヒント

  • 一部のアプリケーションでは、2 要素認証(2FA)を有効化すると既存の QR コードを再表示できない場合があります。そのような場合は、QR コードを再生成するしかありません。
  • 手順の中で新たに発行されるバックアップコードは、必ず安全な場所に保存してください。