> 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/dast-sfesu/api-scanning/authenticated-api-scanning-for-rest-graphql.md).

# REST/GraphQL の認証付き API スキャン

このガイドでは、Aikidoで認証済みドメインスキャンを設定する手順を順を追って説明し、徹底的で安全な評価を実現します。

> APIスキャンはProプランとAdvancedプランでのみ利用できます

## ユースケース <a href="#use-cases" id="use-cases"></a>

* サイトの保護された領域に対して、包括的なセキュリティ評価を実施できます。
* APIの認証済みセクションにある脆弱性を特定します。

## ドメインでの認証の設定 <a href="#setting-up-authentication-on-a-domain" id="setting-up-authentication-on-a-domain"></a>

**ステップ 1:** 次へ移動 [**ドメイン概要**](https://app.aikido.dev/settings/domains) そして、三点リーダーをクリックして任意のREST/GraphQL APIドメインのアクションメニューを開き、 **ドメインを認証。**

![ドメインをスキャン、設定、認証、または削除するオプションを備えたドメインのアクションメニュー。](/files/fbfbe1eb006e9bb9d94b653fb4c707db19fdf702)

**ステップ 2:** 認証する方法をお好みで選択してください。

![複数のログイン方法オプションと認証情報入力フィールドを備えた認証設定画面。](/files/ef8ba302b11250aa1e7190227940a207cad54dd3)

> すべての種類のスキャン認証情報は、PKCS1暗号化を使用して安全に保存されます

## 認証オプション <a href="#authentication-options" id="authentication-options"></a>

**フォームでログイン**

ドメイン認証用のURLとメールアドレス/パスワードを入力してください。クリック **テスト** その認証情報でAikidoがドメインにアクセスできるか確認させます。

2要素認証が有効な場合は、ワンタイムパスワード情報も入力できます。詳細は [OTP URLとその仕組みの詳細は、ドキュメントをご覧ください](/docs/docs-ja/dast-sfesu/using-2fa-in-front-end-and-api-scans.md).

{% hint style="success" %}

* Microsoft / Google SSO は現在 **しません** 対応しています。回避策として、手動で認証し、カスタムヘッダー経由で Cookie ヘッダーを使って有効なセッションを渡すことができます。
* 対応していないケースですか？チャットでお知らせください。確認します！
  {% endhint %}

![フォームベースのログイン認証情報を設定するためのドメイン認証セットアップ画面。](/files/4408933e4fda6ff3fa32f937043826079d343523)

Aikido は以下のルールに従ってフォームの送信を試みます:

1. 次の条件を満たす表示中のボタンまたは入力フィールドを見つけます `type=submit` Google や Facebook などの一般的な OAuth オプションを無視しながら
2. ラベルまたはテキストに基づいてボタンを見つけます。login、log in、submit、sign in などと一致または類似するテキストを探します。複数の言語で行います。
3. HTML の ID のセットに基づいてボタンを見つけます。たとえば `id=form-submit`
4. ページ上で最初に表示されているボタンを見つけます

**カスタムヘッダー**

エンドポイントが作成後に変更されない固定のキー、Cookie、またはトークンを受け付ける場合、このオプションでカスタムヘッダーとして追加できます。

ユースケース:

* Cookieの場合: 次の `Cookie` ヘッダーを設定します。

  ```
  Cookie: sessionId=38afes7a8
  ```
* JWT Bearerトークンの場合: 次の `認可` ヘッダー

  ```
  Authorization: Bearer <token>
  ```

**OAuth クライアント認証情報**

このオプションは、MFA をバイパスしたい場合に使用できます。Aikido は、OAuth 仕様に従ったクライアント認証情報フローを持つ、指定されたログイン URL にリクエストを送信します。つまり、設定されたログイン URL に POST リクエストを送信し、 `grant_type` に設定され `client_credentials` 、client\_id と client\_secret をそれぞれユーザー名とパスワードとして含む Basic 認証ヘッダーを付けます。

**OAuth パスワード・グラント**

OAuth パスワード・グラント フローを使用して API が直接ユーザー認証情報（ユーザー名とパスワード）を必要とする場合は、このオプションを選択してください。Aikido は、あなたのログイン URL に POST リクエストを送信し、 `grant_type` に設定され `パスワード`、提供するユーザー名とパスワードを含みます。API によっては、クライアント ID とシークレットも必要になる場合があります。

**ベーシック認証**

API が標準のベーシック認証を使用している場合は、このオプションを選択してください。ユーザー名とパスワードを入力すると、Aikido が必要な `Authorization: Basic ...` ヘッダーを API へのすべてのリクエストに含めます。

**AIエージェント経由でログイン（ベータ版）**

AIエージェントはLLMを使って実際のブラウザセッションを操作します。人間と同じように、あなたが提供した指示に従って認証プロセスを完了します。これは次のような場合に適しています：

* フォームベースのログイン
* 静的なOTPまたはワンタイムコード
* 複数ステップの認証フロー
* カスタムまたは標準的でないログイン画面

<figure><img src="/files/292e85cb8d7a2efb2a513cf1c01f466354faa398" alt="" width="563"><figcaption></figcaption></figure>

認証情報や必要な操作を含め、明確な手順を段階的に記載してください。エージェントは、詳細な設定を必要とせず、リダイレクト、動的ページ、中間ステップを処理できます。ほとんどの場合、短くシンプルな指示で十分です。


---

# 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/dast-sfesu/api-scanning/authenticated-api-scanning-for-rest-graphql.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.
