> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing/agent-creates-new-account.md).

# エージェントが新しいアカウントを作成する

Aikidoのペンテストエージェントは、指定した自然言語の指示に基づいて、評価用の使い捨てテストユーザーを自ら作成できます。事前にアカウントを作成して認証情報を共有する代わりに、新規ユーザーの生成方法を説明すれば、スキャン開始前にエージェントが残りの作業を行います。

**次の場合にこの機能を使用してください：**

* 次のものが必要な場合 **複数ロールのカバレッジ** （例: `admin`, `編集者`, `閲覧者`）を、ロールごとにアカウントを手動作成せずに利用したい場合。
* アプリケーションで次のものが提供されている場合： **サインアップフォーム** または **管理者／ユーザー作成API** をエージェントが呼び出せる場合。
* 次のものを希望する場合 **評価ごとの使い捨てアカウント** これにより、テストデータがステージング環境に蓄積されません。

{% hint style="info" %}
この方法は、既知の次のものがある環境で最も効果的に機能します： **サインアップフローまたは管理者API**。アプリにプログラムからユーザーを作成する方法がない場合は、標準の [認証方法](/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing.md) を代わりに使用し、手動でアカウントを作成してください。
{% endhint %}

### 仕組み

1. 次の実行中： **事前チェック**では、エージェントがあなたの **ユーザー作成手順** を読み取り、1つ以上のアカウントを作成します。サインアップフォーム、 `curl`形式のAPI呼び出し、または短いスクリプトを実行できます。
2. Aikidoは、作成されたアカウントをこのジェネレーターに紐付けられた実際のテストユーザーとして保存します。元の「テストユーザージェネレーター」エントリはアーカイブされるため、スキャン自体には使用されません。
3. A **2回目の事前チェック** が実行され、あなたの **認証手順** （次を参照する `<generated_username>` と `<generated_password>` プレースホルダー）を使用して、プロビジョニングされた各ユーザーでサインインします。成功したセッションはメインのペンテスト用にキャプチャされます。
4. 事前チェックに失敗した場合、プロビジョニングされたユーザーは自動的にロールバックされ、ジェネレーターが復元されます。手順を編集して再試行できます。

### セットアップガイド

{% stepper %}
{% step %}
**テストユーザーを追加**

評価ウィザードで、次をクリックします： **テストユーザーを追加** → **カスタム** → **エージェントが新しいアカウントを作成**.

デフォルトでは、認証情報セットの名前は次のとおりです： `テストユーザージェネレーター`。必要に応じて名前を変更してください。このラベルは参照用です。

<div data-with-frame="true"><figure><img src="/files/4266e36a1366afacbb6027f9cbedc8cc78279477" alt="Add Test User menu showing Custom > Agent Creates New Account"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**ユーザー作成方法を説明する**

で **ユーザー作成手順** フィールドに、エージェントがアカウントを生成する方法を自然言語で説明してください。次の点を明記してください：

* **場所** ユーザーを作成する場所（サインアップURLまたは管理者エンドポイント）。
* **ロールまたはバリエーション** 必要なもの（例：閲覧者1人、編集者1人、管理者1人）。
* **必須フィールド** メールアドレス、パスワード、組織、テナントなど。
* **トークンまたは管理者認証情報** エージェントが使用するもの。

**管理者APIを使用する例：**

```
以下のロールの新規ユーザーをAPI経由で作成します：
- 閲覧者
- 編集者
- 管理者

次のcurlリクエストを使用します：
curl -X POST https://staging.example.com/api/admin/users \
    -H "x-api-key: test-admin-key" \
    -H "Content-Type: application/json" \
    -d '{"email":"jane@example.com","password":"password","role":"editor"}'

常に一意のメールアドレスと安全なパスワードを作成してください。
```

**サインアップフォームを使用する例：**

```
https://staging.example.com/signup のサインアップフォームから、新しいアカウントを3つ作成します。

各アカウントについて：
1. 「サインアップ」をクリックします。
2. 一意のメールアドレスと強力なパスワードを入力します。
3. フォームを送信し、オンボーディング画面をすべて完了します。

サインアップ時に対応するプランを選択して、ロールごとに1つのアカウント（閲覧者、編集者、管理者）を作成します。
```

<div data-with-frame="true"><figure><img src="/files/ba8c638b25f6019298551f17422292aa95e57064" alt="Authentication Set modal with User creation and Authentication instructions"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**ログイン方法を説明する**

で **認証手順** フィールドに、 **ログインフロー** エージェントが作成したばかりのユーザー向けのものを説明してください。プレースホルダーを使用してください `<generated_username>` と `<generated_password>` （Aikidoは、プロビジョニングされた各ユーザーをテストする際に実際の認証情報に置き換えます）。

**例：**

```
1. https://staging.example.com/login に移動します
2. ユーザー名を入力：<generated_username>
3. パスワードを入力：<generated_password>
4. 「ログイン」をクリックします

成功条件：ログインに成功し、ダッシュボードが表示されること。
```

次のものを維持してください： **成功条件** を明確にしてください。ログイン後のページに表示される文字列が適しています。
{% endstep %}

{% step %}
**保存してテスト**

クリック **保存してテスト**。事前チェックは2段階で実行されます：

1. エージェントがアカウントをプロビジョニングします。
2. エージェントが各新規アカウントでサインインし、セッションをキャプチャします。

両方に成功すると、評価設定内のジェネレーターは実際のテストユーザーに置き換えられます。スキャンを開始する準備が整いました。
{% endstep %}
{% endstepper %}

### ヒントとベストプラクティス

* **専用の管理者トークンを使用する** 作成ステップには、実際のユーザーに紐付いたトークンを再利用しないでください。
* **すべてのロールをカバーする** 重要なロールを対象にすることで、Aikidoは権限レベル間のアクセス制御の不備をテストできます。
* **メールアドレスの一意性を明記してください：** 多くのアプリは重複したサインアップを何も通知せずに拒否します。アカウントごとに一意のメールアドレスを生成するようエージェントに指示してください。
* **明確な成功条件を設定する** ログイン手順内で設定してください。「ページが読み込まれる」などの曖昧な条件では、実際にはオンボーディング画面で止まっている場合でも成功扱いになることがあります。
* **自由に繰り返してください。** 事前チェックに失敗した場合、手順を編集して次をクリックできます： **保存してテスト** もう一度。以前にプロビジョニングされたユーザーは自動的にアーカイブされます。

### トラブルシューティング

* **ユーザー作成に失敗しました：** APIまたはサインアップURLに次の場所から到達できることを確認してください： [AikidoのIP範囲](/docs/docs-ja/pentesuto/prepare-a-pentest/ip-addresses-for-pentest.md)。また、手順内の管理者トークンが引き続き有効であることを確認してください。 `curl` リクエストまたはサインアップフォームを手動で操作して、手順が正しいことを確認してください。
* **2回目の事前チェックでログインに失敗する場合：** 認証手順の成功条件をより厳密にするか、新規作成アカウントに表示される追加手順（メール認証、オンボーディングモーダル、MFA）を含めてください。新規ユーザーがメールアドレスの確認を必要とする場合は、この方法を次のものと組み合わせてください： [メール認証フロー](/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing/handling-email-verification-and-magic-links.md).
* **誤ったロールが割り当てられている場合：** 作成手順で、各ユーザーにどのロールを付与すべきかを明記してください。APIがデフォルトロールを選択する場合は、リクエスト本文で上書きしてください。

### お困りですか？

を開き **Intercomチャット** はAikidoダッシュボードの右下隅にあります。チームが、お使いのスタックで機能する作成およびログイン手順の作成をお手伝いします。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/pentesuto/configure-a-pentest/setting-up-authenticated-testing/agent-creates-new-account.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
