> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Secrets とサイト Cookie

> Devin と認証情報を安全に共有し、Devin からあらゆるツールにアクセスできるようにする

<div id="giving-devin-credentials">
  ## Devin に認証情報を設定する
</div>

Devin は、認証が必要なプラットフォームにアクセスするために、Browser 内でもコマンドライン経由でも、自身のログイン認証情報を使用できます。Devin がアクセスする必要のある各サービスごとに、Devin 専用アカウント (例：[devin@company.com](mailto:devin@company.com)) を作成することを推奨します。そのうえで、Devin のユーザー名とパスワードを自分のアカウント上の Secret として保存しておくことで、今後のセッションで Devin がログインできるようにできます。

Secret の追加は主に [Secrets ページ](http://app.devin.ai/secrets) から行います。このページは、特に組織レベルの Secret を扱う場合に重要です。リポジトリ単位またはセッション単位の Secret については、以下のセクションを参照してください。

<Frame>
  <img src="https://mintcdn.com/cognitionai/4bS8zUS864bCAPVt/images/secrets_adding.png?fit=max&auto=format&n=4bS8zUS864bCAPVt&q=85&s=d0b1a7f15b40ab79254c6e756fd7ccb0" alt="Devin" width="1354" height="1320" data-path="images/secrets_adding.png" />
</Frame>

Secret を追加する際には、Secret の利用方法に関する補足情報や指示を説明する Note を付けることができます。このフィールドを使って、Devin と組織メンバー双方に有用な情報を伝えてください。Note の例は以下のとおりです：

* この API キーは本番環境でのみ使用し、ステージングや開発環境では絶対に使用しないこと。
* us-west-2 リージョンの AWS RDS データベース用。
* これらの認証情報は 2025 年第 3 四半期以降に廃止予定。
* 30 日ごとに自動失効します。エラーになり始めた場合は SecOps チームに連絡してローテーションしてください。
* この API キーは [devin@company.com](mailto:devin@company.com) ユーザーアカウントに紐づいています。

<div id="persisted-global-secrets">
  ## 永続化されたグローバルシークレット
</div>

[Settings & Library > Secrets](http://app.devin.ai/secrets) で追加したシークレットは、今後のセッションでも利用できるように**永続的に保存**され、組織全体に適用されます。ここで共有したシークレットは、組織内の今後のすべての Devin セッションで Devin が利用できるようになる点に注意してください。すべてのシークレットは保存時に暗号化されます。**新しく追加したシークレットは、そのシークレットを追加した*後*に作成されたセッションでのみ Devin が利用できます。**

グローバルシークレットは組織のすべてのメンバーが利用できますが、既存のシークレットを閲覧または編集できるのは管理者のみです。追加するのは、組織に限定されたスコープを持ち、すべてのメンバーが利用できるシークレットのみにしてください。

<div id="personal-secrets">
  ### 個人用シークレット
</div>

組織全体のシークレットに加えて、自分のセッションのみにスコープされた**個人用シークレット**を作成できます。個人用シークレットは、組織内の他のメンバーと共有されません。これは、個人アカウントに紐づく認証情報や、より広いチームに公開すべきでないシークレットをテストする場合に便利です。

個人用シークレットを作成するには、[Secrets page](https://app.devin.ai/secrets) で新しいシークレットを追加するときに **Personal** スコープを選択します。個人用シークレットには、自分が作成したセッションでのみアクセスでき、組織の他のメンバーや管理者には表示されません。

利用可能なシークレットには、いくつかの種類があります。

<Accordion title="Raw Secret" icon="message-text">
  これは、単一の値を持つ汎用的なシークレットに最も適しています。各 Secret Name (Secret Key とも呼ばれます) は、単一の Secret Value に対応します。ここに保存するシークレットの例には次のようなものがあります。

  * API Keys
  * SSH Keys
  * ユーザー名やパスワード
  * Tokens

  1 つのシークレットに複数の値が必要な場合は、値ごとに別個のシークレットを作成してください。たとえば、GITHUB\_USERNAME と GITHUB\_PASSWORD を 2 つの Raw Secret として保存できます。
</Accordion>

<Accordion title="Site Cookies" icon="cookie">
  \*\*Cookie は認証済み状態を「保持」します。\*\*あるサイトにログインしている場合、そのサイトの Cookie を Devin に渡すと、Devin も同じサイトに自動的にログインした状態になります。

  ただし、Cookie だけでは不十分で、追加のユーザー名やパスワードのシークレットが必要になる場合があることに注意してください。たとえば Amazon では、Devin は買い物やカート追加時点ではサイトにログインしていても、チェックアウト時に追加のパスワード確認レイヤーが求められることがあります。

  Cookie は、標準的な Chromium の Cookie フォーマットにおける、`;` 区切りの JSON 配列を base64 エンコードした文字列として保存されます。Chrome から直接エクスポートせずに手動で Cookie をエンコードする必要がある場合、この形式を把握しておくことが重要です。Cookie シークレットの追加方法については、[新しいサイト Cookie の追加](/ja/product-guides/secrets#adding-a-new-site-cookie) を参照してください。
</Accordion>

<Accordion title="Time-Based One-Time Password (TOTP)" icon="lock">
  Time-based one-time password は二要素認証 (2FA) に使用されます。Devin は、Google Authenticator や Authy のものと同様に動作する TOTP シークレットを保存できます。TOTP シークレットの追加方法については、[新しい TOTP の追加](/ja/product-guides/secrets#adding-a-new-totp) を参照してください。
</Accordion>

<Accordion title="Key-Value Secrets (Deprecated)" icon="key">
  Devin では以前、1 つのシークレット内で複数のキーを扱える Key-Value シークレットの作成をサポートしていましたが、この機能は現在は利用できません。

  Key-Value シークレットを作成する代わりに、フィールドごとに複数の Raw Secret を作成することを推奨します。たとえば、JIRA\_LOGIN 用の Key-Value シークレットを作成する代わりに、JIRA\_USERNAME と JIRA\_PASSWORD の 2 つの Raw Secret を作成できます。
</Accordion>

<div id="repo-specific-secrets">
  ## リポジトリ固有のシークレット
</div>

シークレットの適用範囲を特定のリポジトリに限定するには、[環境設定](/ja/onboard-devin/environment)時に、環境変数として (または .env ファイル内に) 追加します。

<Frame>![Devin](https://cdn.sanity.io/images/2mc9cv2v/production/02817fb87eaea3331d39111ee11a3ef27a74facb-2244x1144.png)</Frame>

今後、同じスナップショットを使用するセッションはこれらの環境変数にアクセスできますが、それ以外の無関係なセッションからはアクセスできません。

<div id="session-specific-secrets">
  ## セッション固有のシークレット
</div>

Devin が作業している間、次のように現在の会話の中で認証情報 (API キー、ログイン情報など) の提供を求める場合があります。

<Frame>
  <img src="https://mintcdn.com/cognitionai/4bS8zUS864bCAPVt/images/secrets1.png?fit=max&auto=format&n=4bS8zUS864bCAPVt&q=85&s=0a95a89c8ba01aa4353f6692ba70922e" alt="Devin" width="1352" height="248" data-path="images/secrets1.png" />
</Frame>

Devin がこのようにシークレットの入力を求める場合、これらのシークレットは現在のセッションのみに限定され、今後のセッションのために保存されることはありません。

または、次のように自分でセッション固有のシークレットを設定することもできます。

<Frame>
  <img src="https://mintcdn.com/cognitionai/ifLkKLaMB-vvINwf/images/feature-add-session-secrets.png?fit=max&auto=format&n=ifLkKLaMB-vvINwf&q=85&s=bff09c001d80090ea876b7ca45231f78" alt="Devin" width="1524" height="382" data-path="images/feature-add-session-secrets.png" />
</Frame>

<div id="working-with-secrets">
  ## シークレットの使用方法
</div>

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 のように先頭にドル記号を付けてシークレットを参照できます。

<div id="adding-a-new-site-cookie">
  ## 新しいサイトクッキーの追加
</div>

サイトクッキーを追加するには、以下の手順に従ってください。

1. Devin と共有したいアカウントに、通常どおりログインします。これによりクッキーが生成されます。

2. ブラウザに保存されているクッキーを取得するため、ブラウザ拡張機能 [Share your cookies](https://chromewebstore.google.com/detail/share-your-cookies/poijkganimmndbhghgkmnfgpiejmlpke) をダウンロードし、その拡張機能の手順に従ってクッキーを抽出します。別の Chrome プロファイルにそのクッキーをインポートして、そのサイトに正常に認証されることをテストしておくとよいでしょう。

3. エクスポートしたクッキーを [Secrets ページ](https://app.devin.ai/secrets) から Devin に追加します。

4. サイト向けにクッキーを使用する際、Devin はそのサイトに遷移したとき、すでにログイン済みであると認識するはずです。Devin に試すよう指示してください。

<Note>
  Chrome を使用していない場合やクッキーを手動でエンコードする必要がある場合は、Devin は、標準的な Chromium クッキーフォーマットの JSON オブジェクトを `;` で区切った文字列を base64 エンコードした形式でクッキーが渡されることを想定している点に注意してください。
</Note>

<div id="one-time-password">
  ## ワンタイムパスワード
</div>

Devin は、時刻ベースのワンタイムパスワード (TOTP) を使用した二要素認証 (2FA) に対応しています。この機能を利用するには、対象アプリケーション用に Devin のアカウントで 2FA を設定した際に表示・提供される情報を Devin に渡す必要があります。

1. 2FA が必要なサービスの Devin のアカウントにアクセスします。
2. アカウントのセキュリティ設定に移動し、QR コードを再生成または表示するためのオプションを探します。これは「Set up」や「Replace Authenticator」といった名前になっている場合があります。
3. アプリケーションで許可されている場合は、QR コードを表示するオプションを選択します。
4. 画面に QR コードが表示されたら、スクリーンショットを撮ります。
5. [Devin's Secrets](https://app.devin.ai/secrets) に移動し、「Add Secret」ボタンをクリックして、Secret type を「One-time Password」に変更します。識別しやすい名前を付けます。Value 入力ボックス右上の小さな QR コードアイコンをクリックし、QR コードのスクリーンショットをアップロードします。

<Warning> Devin の利用専用として明示的にセットアップされたアカウントに紐づく 2FA コードのみを提供してください。個人アカウントの 2FA コードを Devin に渡すことは推奨しません。 </Warning>

<div id="tips-for-totps">
  ### TOTPに関するヒント
</div>

* 一部のアプリでは、2FAを有効にすると既存のQRコードを表示できなくなる場合があります。その場合、QRコードを再生成するしかありません。
* 手順の途中で新しいバックアップコードが提供された場合は、必ず安全な場所に保存してください。
