> 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/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/agent-creates-new-account.md).

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

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

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

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

{% hint style="info" %}
この方法は、既知の次の機能を持つ環境で最も効果的に機能します **サインアップフローまたは管理者API**。アプリにプログラムでユーザーを作成する方法がない場合は、標準の [認証方法](/docs/docs-ja/penetorshontesuto/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/penetorshontesuto/prepare-a-pentest/ip-addresses-for-pentest.md)。また、手順内の管理者トークンがまだ有効であることを確認してください。 `curl` リクエストまたはサインアップフォームを手動で操作し、手順が正しいことを確認してください。
* **2回目の事前チェックでログインに失敗します：** 認証手順の成功条件をより厳密にするか、新しく作成されたアカウントで表示される追加手順（メール認証、オンボーディングモーダル、MFA）を含めてください。新規ユーザーがメールアドレスを認証する必要がある場合は、この方法を次と組み合わせてください： [メール認証フロー](/docs/docs-ja/penetorshontesuto/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/penetorshontesuto/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.
