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

# API 認証

> Authlete API の認証方法：Bearer トークン、サービスアクセストークン、組織トークンの取得と使い方

<Note>
  このページは Authlete 3.0 用です。2.x では [API 認証（2.x）](/ja/v2/get-started/quickstarts/authentication) をご覧ください。2.x では Bearer トークンではなく API キーと API シークレット（HTTP Basic 認証）を使用します。
</Note>

# API 認証

すべての API エンドポイントは **Bearer トークン**認証で保護されています。リクエストごとにアクセストークンを含める必要があります。

```http theme={null}
Authorization: Bearer YOUR_ACCESS_TOKEN
```

Authlete では 2 種類のアクセストークンを利用できます。**サービスアクセストークン**（単一のサービスにスコープ）と**組織トークン**（組織全体にスコープ）です。以下で取得方法と使い分けを説明します。

***

## アクセストークンの取得

### サービスアクセストークン

**単一のサービス**（1 つの認可サーバーインスタンス）にスコープされます。[Core API](/ja/get-started/concepts/request-and-response)（認可・トークン・イントロスペクション）や、そのサービスのクライアント・設定の管理に使用します。

**サービスアクセストークンの取得手順**

1. [Authlete コンソール](https://console.authlete.com/)にログインする。

2. 対象のサービスが属する**組織**を開き、**サービス**を開いて**サービス概要**を表示する。

3. **サービス設定**（**クライアントを新規作成** の隣）をクリックする。

   <img src="https://mintcdn.com/authlete/6e8OPufcWwl4fTPw/img/concepts/api-authentication-service-settings-button_ja.png?fit=max&auto=format&n=6e8OPufcWwl4fTPw&q=85&s=2f49db723d0b05ff7652e850c19edf1c" alt="Authlete コンソールのサービス概要ページ。「サービス設定」ボタンが赤枠で示されている" width="1280" height="800" data-path="img/concepts/api-authentication-service-settings-button_ja.png" />

4. **一般** タブで **サービスアクセストークン** までスクロールし、**トークンを作成** をクリックする。

   <img src="https://mintcdn.com/authlete/6e8OPufcWwl4fTPw/img/concepts/api-authentication-service-access-token_ja.png?fit=max&auto=format&n=6e8OPufcWwl4fTPw&q=85&s=a54dc1ac712a53b6f75bea6f21b6acf5" alt="一般タブのサービスアクセストークンのセクション。「トークンを作成」ボタンと、権限列を含むトークン一覧が表示されている" width="1280" height="800" data-path="img/concepts/api-authentication-service-access-token_ja.png" />

5. ダイアログで**トークン名**を入力し、権限を選択する。プリセット（認可サーバー＝`use_service`、リソースサーバー＝`use_introspection` など）から選ぶか、個別に指定する。詳細は下記の[権限](#権限)を参照。

   <img src="https://mintcdn.com/authlete/6e8OPufcWwl4fTPw/img/concepts/api-authentication-service-access-token-create_ja.png?fit=max&auto=format&n=6e8OPufcWwl4fTPw&q=85&s=903e309bb5d20ae7e9719168a37c5a63" alt="サービスアクセストークンの追加ダイアログ。トークン名の入力欄と、認可サーバー（use_service）やリソースサーバー（use_introspection）などの権限プリセットが表示されている" width="700" height="1026" data-path="img/concepts/api-authentication-service-access-token-create_ja.png" />

6. **トークンを作成** をクリックして生成し、**表示されたトークンをすぐにコピーする** — 表示は一度だけです。環境変数やシークレットマネージャーなど、安全な場所に保存する。

そのサービス向けの Authlete API を呼び出す際は、`Authorization: Bearer <token>` ヘッダーにこのトークンを含めてください。

***

### 組織トークン

**組織全体**にスコープされます。組織トークンは最も広いアクセスを持ち、適切な権限があれば組織内の**任意のサービス**に対してあらゆる API（Core API を含む）を呼び出せるほか、サービスの作成や組織監査ログの参照といった組織レベルの操作も行えます。通常は、組織全体の管理や、複数サービスにまたがる自動化（CI/CD・Terraform など）で使用します。

**組織トークンの取得手順**

1. [Authlete コンソール](https://console.authlete.com/)にログインする。

2. トークンを作成する**組織**を開く（まだなければ先に作成する）。

3. サイドバーの **組織設定** を開く。

4. **一般** タブで **組織アクセストークン** までスクロールし、**トークンを作成** をクリックする。

   <img src="https://mintcdn.com/authlete/6e8OPufcWwl4fTPw/img/concepts/api-authentication-organization-token_ja.png?fit=max&auto=format&n=6e8OPufcWwl4fTPw&q=85&s=97af168a7c8f2998c1d18628ea9d62e7" alt="一般タブの組織アクセストークンのセクション。「トークンを作成」ボタンと、権限列を含むトークン一覧が表示されている" width="1280" height="800" data-path="img/concepts/api-authentication-organization-token_ja.png" />

5. ダイアログで**トークン名**を入力し、必要な組織レベルの権限を選択する。たとえば CI/CD のプロビジョニングには**管理者（デフォルト）プリセット**（`create_service`、`modify_service`、`view_audit_log`）、監査ログの参照のみなら `view_audit_log` を選ぶ。詳細は下記の[権限](#権限)を参照。

   <img src="https://mintcdn.com/authlete/6e8OPufcWwl4fTPw/img/concepts/api-authentication-organization-token-create_ja.png?fit=max&auto=format&n=6e8OPufcWwl4fTPw&q=85&s=d5ff942cd8af10e6ec680ee4ada48f78" alt="組織アクセストークンの追加ダイアログ。トークン名の入力欄と、管理者（デフォルト）や監査ログ閲覧者などの組織レベルの権限プリセットが表示されている" width="700" height="974" data-path="img/concepts/api-authentication-organization-token-create_ja.png" />

6. **トークンを作成** をクリックして生成し、**表示されたトークンをすぐにコピーする** — 表示は一度だけです。安全に保管する。

組織レベルのアクセスが必要な Authlete API を呼び出す際は、`Authorization: Bearer <token>` ヘッダーにこのトークンを含めてください。

***

<Warning>
  **重要:** トークンは、作成したアカウントの権限を引き継ぎます。**サービストークン**はそのサービスにのみアクセスでき、**組織トークン**は組織内のすべてのサービスにアクセスできます。アプリケーションに必要なトークン種別と権限を選んでください。
</Warning>

***

## トークンの使い分け

**最小権限**（least privilege）の考え方に基づき、用途ごとに次のような使い分けを推奨します。用途を満たす範囲で最も狭いトークンを選んでください。

| 用途                           | トークン種別           |
| ---------------------------- | ---------------- |
| Core API（認可・トークン・イントロスペクション） | **サービスアクセストークン** |
| 単一サービスの管理（クライアント・エンドポイント・設定） | **サービスアクセストークン** |
| 組織または複数サービスの管理               | **組織トークン**       |
| サービスの作成・更新を行う自動化 / CI/CD     | **組織トークン**       |

Core API の呼び出しには、サービスアクセストークンを推奨します。アクセス範囲が単一サービスに限定されるためで、組織トークンが漏洩すると、その影響が組織内のすべてのサービスに及びます。作業が本当に複数サービスにまたがる場合や、組織レベルの操作が必要な場合に組織トークンを使用してください。

***

## 権限

どちらのトークン種別を選んでも、トークンは**きめ細かい権限**（fine-grained permissions）を持ち、呼び出せる Authlete API はこの権限で決まります。たとえば Core API のみを呼び出す認可サーバーには `use_service`、リソースサーバーには `use_introspection`、プロビジョニングには `create_client` を使います。権限はトークン作成時に選択するため、ワークロードに必要な分だけを付与してください（**最小権限**）。

権限の全一覧と、各権限で呼び出せる API については、開発者ガイドの [Service Access Tokens](/ja/deployment-and-operations/access-control/service-access-tokens) を参照してください。

***

## トークンのセキュリティのベストプラクティス

* **トークンをバージョン管理にコミットしない** — 環境変数やシークレットマネージャー（AWS Secrets Manager、HashiCorp Vault など）に保存する。
* **定期的にローテーションする** — 新しいトークンを発行し、古いトークンはコンソールから無効化する。
* **必要最小限の権限を付与する** — トークン作成時にアプリケーションに必要な権限だけをリクエストする。
* **未使用のトークンは無効化する** — 使わなくなったトークンはコンソールから削除する。

***

## 動作確認

次の API 呼び出しでトークンが有効か確認できます。

```bash theme={null}
curl -X GET "https://us.authlete.com/api/service/get/list" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

サービススコープのエンドポイントには**サービスアクセストークン**、組織スコープのエンドポイントには**組織トークン**を使用してください。リージョンが異なる場合は、`us.authlete.com` を該当するクラスターのホスト（例：`eu.authlete.com`、`jp.authlete.com`）に置き換えてください。

***

## 次のステップ

* [はじめに](/ja/get-started/setting-up-authlete) — アカウント・組織・サービスを作成する。
* [サンプル認可サーバーのセットアップ](/ja/get-started/quickstarts/using-demo-authorization-server) — サービスとサービスアクセストークンを作成し、デモ認可サーバーを動かす。
* [OAuth 2.0 Basics](/ja/get-started/quickstarts/oauth-2-0-basics) — 認可サーバーが Authlete API をどう活用するかを理解するチュートリアル。
