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

# ARIA のシークレット

> API トークンなどの個人シークレットを保存し、ARIA がサンドボックス内で環境変数として使用できるようにします。

<Note>
  [W\&B Multi-tenant Cloud](/ja/products/wandb/platform/hosting#wb-multi-tenant-cloud) でのみ利用できます。
</Note>

*個人シークレット*には、API トークンなど、自分だけが使用できる機密値を保存します。個人シークレットへのアクセスを ARIA に許可すると、そのシークレットは ARIA がコードを実行するサンドボックス内で環境変数として利用可能になり、ARIA がユーザーに代わって外部サービスで認証できるようになります。たとえば、GitHub の個人用アクセストークンを保存しておけば、ARIA にリポジトリの読み取り、ブランチへのコミット、プルリクエストの作成を任せることができます。詳しくは、[GitHub リポジトリを接続する](#connect-a-github-repository)を参照してください。

個人シークレットは、管理者がチーム設定で管理する[チームシークレット](/ja/products/wandb/platform/secrets)とは別のものです。個人シークレットのスコープは、自分自身と、アカウント切り替えで選択されている組織に限定されます。そのため、GitHub トークンを個人シークレットとして保存した場合、チームの他のメンバーはそのトークンを使用できません。同じ名前のチームシークレットがある場合は、個人シークレットが優先されます。

<h2 id="how-aria-uses-a-granted-secret">
  ARIA が付与されたシークレットを使用する仕組み
</h2>

ARIA に個人シークレットへのアクセスを付与すると、会話内で次にメッセージを送信した時点から、ARIA のサンドボックスにシークレットと同じ名前の環境変数が設定されます。新しいチャットを開始する必要はありません。アクセスを取り消した場合も同様で、次のメッセージ以降、その変数はサンドボックスから削除されます。

次の点に注意してください。

* チャットに表示されるサンドボックスの出力では、シークレットの値はマスクされます。
* 付与されたシークレットで、`WANDB_API_KEY` などのマネージド環境変数を置き換えることはできません。名前がマネージド変数と競合するシークレットや、環境変数名として無効なシークレットはスキップされ、サンドボックスには渡されません。
* ARIA が使用できるのは、会話が属する組織内であなたが付与したシークレットのみです。

<Warning>
  付与されたシークレットは、ARIA があなたに代わってサンドボックス内で実行するすべてのコードから利用できます。ARIA がそのシークレットで何を実行できるかは、認証情報の権限によって決まります。たとえば、読み取りアクセス権を持つ GitHub トークンでは、ARIA はコードや結果を読み取れます。書き込み権限とプルリクエスト権限を持つトークンでは、変更をコミットしたり、プルリクエストを作成したりすることもできます。
</Warning>

<h2 id="create-a-personal-secret">
  個人シークレットを作成する
</h2>

個人シークレットを作成して ARIA が使用できるようにするには、次の手順を実行します。

1. ページの右上にある **User menu** ドロップダウンを選択し、**Settings** を選択します。
2. **Personal secrets** セクションまでスクロールします。
3. **New secret** をクリックします。個人シークレットがまだない場合は、代わりに **Create new secret** をクリックします。
4. シークレットの **Name** を環境変数の形式で入力します。使用できる文字は英字、数字、アンダースコア (`_`) で、先頭に数字は使用できません。例: `GITHUB_TOKEN`

   同じ名前のチームシークレットが存在する場合は、ドロワーにその旨が表示されます。個人シークレットはチームシークレットよりも優先されます。
5. 機密性の高い値を **Value** フィールドに貼り付けます。
6. シークレットの作成と同時に ARIA にアクセスを許可するには、**Allow ARIA to use this secret** をオン (デフォルト) のままにします。ARIA にアクセスを許可せずにシークレットを保存する場合は、オフにします。
7. **Save secret** をクリックします。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/wtrJ2D-kpZzEJkTy/products/aria/_media/aria-secrets-new-secret-drawer.png?fit=max&auto=format&n=wtrJ2D-kpZzEJkTy&q=85&s=5e4561e5ce0a68dcfeedaed7f2970b1a" alt="Name、Value、Allow ARIA to use this secret トグルが表示された Create new secret ドロワー" width="479" height="479" data-path="products/aria/_media/aria-secrets-new-secret-drawer.png" />
</Frame>

<h2 id="grant-or-revoke-arias-access">
  ARIA のアクセス権を付与または失効させる
</h2>

ARIA が使用できる個人シークレットは、ユーザー設定または ARIA パネルからいつでも変更できます。どちらの方法で変更した場合も、会話で次のメッセージを送信した時点から反映されます。

<h3 id="from-your-user-settings">
  ユーザー設定から
</h3>

ユーザー設定の **Personal secrets** セクションでは、各シークレットの行に **ARIA access** スイッチがあります。オンにすると、そのシークレットへのアクセス権が ARIA に付与されます。オフにすると、アクセス権が失効します。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/wtrJ2D-kpZzEJkTy/products/aria/_media/aria-secrets-personal-secrets.png?fit=max&auto=format&n=wtrJ2D-kpZzEJkTy&q=85&s=8d7c9a1e2b378aa129380fdd81b3b2f5" alt="ユーザー設定の Personal secrets セクション。各シークレットの行に ARIA access スイッチがあります" width="768" height="463" data-path="products/aria/_media/aria-secrets-personal-secrets.png" />
</Frame>

<h3 id="from-the-aria-panel">
  ARIA パネルから
</h3>

1. ARIA のチャットウィンドウでチャット履歴サイドバーが非表示になっている場合は、**<Icon icon="panel-left-open" />** (**Reveal chat history**) をクリックして開きます。
2. **Customize** セクションで **Secrets** をクリックします。ペインには現在の組織内の個人シークレットが一覧表示され、サマリーには ARIA が使用できるシークレットの数が表示されます。
3. ARIA にアクセスを許可するにはシークレットのスイッチをオンにします。アクセスを失効させるにはオフにします。

シークレット自体の作成や管理を行うには、ペイン上部の **<Icon icon="arrow-up-right" />** (**Manage personal secrets in settings**) をクリックして、ユーザー設定の **Personal secrets** セクションを開きます。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/wtrJ2D-kpZzEJkTy/products/aria/_media/aria-secrets-customize-pane.png?fit=max&auto=format&n=wtrJ2D-kpZzEJkTy&q=85&s=bcc4f9799ae1d22dcf079b197a89b640" alt="ARIA の Secrets ペイン。3 個中 2 個のシークレットが ARIA で使用可能であることと、各シークレットのスイッチが表示されている" width="520" height="412" data-path="products/aria/_media/aria-secrets-customize-pane.png" />
</Frame>

<h2 id="connect-a-github-repository">
  GitHub リポジトリを接続する
</h2>

ARIA でシークレットを使用する最も一般的な用途は、GitHub との接続です。GitHub の個人用アクセストークンを個人シークレットとして保存しておくと、ARIA はリポジトリのコードを読み取れるようになります。トークンで許可されていれば、ブランチへのコミットやプルリクエストの作成も可能です。GitHub 側ではトークン以外に何もインストールや認可を行わないため、ARIA が実行できる操作は作成したトークンによって決まります。

開始するには、チャットウィンドウで **Connect my GitHub repo** 候補チップをクリックするか、`/connect-github` を送信します。このチップは project の workspace など大半のページに表示されますが、スタンドアロンの ARIA ビューには表示されません。ARIA が接続するリポジトリと書き込みを許可するかどうかを尋ね、続いて以下の手順を案内します。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/wtrJ2D-kpZzEJkTy/products/aria/_media/aria-secrets-connect-github-chip.png?fit=max&auto=format&n=wtrJ2D-kpZzEJkTy&q=85&s=ababbe153859c039cedb598ee1c1197e" alt="Connect my GitHub repo を含む ARIA の候補チップ" width="270" height="336" data-path="products/aria/_media/aria-secrets-connect-github-chip.png" />
</Frame>

<h3 id="1-create-a-github-personal-access-token">
  1. GitHub の個人用アクセストークンを作成する
</h3>

GitHub で **Settings** > **Developer settings** > **Personal access tokens** に移動し、トークンを作成します。

* **Fine-grained token** (推奨) : リソース所有者を自分のアカウント、またはリポジトリを所有する組織に設定し、**Repository access** の対象を接続するリポジトリに限定します。次に、ARIA に許可する操作に応じて **Repository permissions** を設定します。読み取りのみの場合は **Contents** を Read-only に、コミットも行う場合は Read and write に設定します。プルリクエストを作成する場合は、**Pull requests** を Read and write に設定します。読み取り専用の **Metadata** アクセスは GitHub によって自動的に付与されます。トークンを使用するには、組織の所有者による承認が必要になる場合があります。
* **Classic token**: `repo` スコープでは、プライベートリポジトリでの読み取り、コミット、ブランチ操作、プルリクエストが可能です。パブリックリポジトリの場合は `public_repo` で対応できます。SAML SSO を使用している組織では、**Configure SSO** からその組織に対してもトークンを承認してください。

トークンの値は作成時に一度しか表示されないため、ページを離れる前に必ずコピーしてください。

<h3 id="2-save-the-token-as-a-personal-secret-and-grant-aria-access">
  2. トークンを個人シークレットとして保存し、ARIA にアクセスを許可する
</h3>

[個人シークレットを作成する](#create-a-personal-secret) の手順に従って、トークンを保存します。名前には慣例の `GITHUB_TOKEN`、または環境変数名として有効な任意の名前を付けます。また、ARIA からのアクセスが有効になっていることを確認してください。

次に送信するメッセージ以降、トークンは指定した名前の環境変数として ARIA のサンドボックスで利用できるようになります。

<h3 id="3-approve-network-access-to-github">
  3. GitHub へのネットワークアクセスを承認する
</h3>

デフォルトでは、ARIA がコードを実行するサンドボックスは Weights & Biases のサービスにはアクセスできますが、それ以外のほとんどのドメインへのアクセスはブロックされます。そのため、GitHub にアクセスするには、ネットワークアクセスの許可も必要です。ARIA は GitHub へのアクセスが必要になると、タスクに必要なドメインへのアクセスをチャット内でリクエストし、その理由を説明したうえで、ユーザーの応答を待ちます。GitHub API の呼び出しには `api.github.com`、クローンやプッシュには `github.com` へのアクセスが必要です。承認する場合は **Grant access** を、拒否する場合は **Deny** をクリックします。許可は、リクエストのきっかけとなったメッセージだけでなく、現在のチャットセッションが終わるまで有効です。ただし、他のチャットには引き継がれません。詳しくは、[ネットワークアクセスを許可する](/ja/products/aria/chat#grant-network-access)を参照してください。

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/wtrJ2D-kpZzEJkTy/products/aria/_media/aria-secrets-network-access.png?fit=max&auto=format&n=wtrJ2D-kpZzEJkTy&q=85&s=4406a25305c421eb133b8a3d3892f748" alt="api.github.com へのネットワークアクセスをリクエストする ARIA と、Deny ボタンおよび Grant access ボタン" width="520" height="619" data-path="products/aria/_media/aria-secrets-network-access.png" />
</Frame>

<h3 id="what-aria-can-do-once-connected">
  接続後に ARIA でできること
</h3>

トークンを付与してネットワークアクセスを承認したら、普段の言葉で ARIA にリポジトリでの作業を依頼できます。トークンの権限に応じて、ARIA は次の操作を実行できます。

* コードの読み取りと分析 (リポジトリのクローンや特定のファイルの取得など) 。
* ブランチへの変更のコミットとプッシュ。
* 変更内容を含むプルリクエストの作成。

たとえば、リポジトリを接続した後に次のように依頼できます。

```text title="User prompt" theme={"system"}
my-org/training-scripts をクローンし、train.py に検証メトリクスを追加して、プルリクエストを作成してください。
```

<h3 id="troubleshoot-the-connection">
  接続のトラブルシューティング
</h3>

GitHub へのリクエストが失敗した場合、ARIA は GitHub から返されたエラーを報告し、解決策を提案します。主な原因は次のとおりです。

* **`401 Bad credentials`**: GitHub がトークンを拒否しました。トークンの入力ミス、有効期限切れ、または失効が考えられます。新しいトークンを作成し、**Personal secrets** でシークレットの値を更新してから、リクエストを再送信してください。
* **存在するはずのリポジトリで `404 Not Found` が返される**: トークンからプライベートリポジトリを参照できない場合、GitHub は 403 ではなく 404 を返します。トークンがリポジトリにアクセスできるかどうかを確認してください。
  * fine-grained トークンの場合は、リソース所有者がリポジトリを所有するアカウントまたは組織であること、リポジトリが **Repository access** に含まれていること、さらに組織で承認が必須となっている場合は組織の所有者がトークンを承認済みであることを確認してください。
  * classic トークンの場合は、`repo` スコープが付与されていること、および SAML SSO を使用している組織ではその組織に対して認可されていることを確認してください。
* **コミットまたはプルリクエストの作成時に `403 Forbidden` が返される**: トークンにリポジトリの読み取り権限はあるものの、書き込み権限がありません。**Contents** と **Pull requests** にそれぞれ Read and write を付与するか、`repo` スコープを持つ classic トークンを使用してください。
* **ARIA からシークレットが設定されていないと応答がある**: シークレットの **ARIA access** スイッチをオンにしてから、改めてメッセージを送信してください。最後のメッセージ以降にアクセスを許可したシークレットは、次のメッセージを送信するまで ARIA からは参照できません。
