# キーのセキュリティ

> LMU AI API キーの IP ホワイトリスト/ブラックリストガイド：どの IP がキーを呼び出せるかを制限し、漏洩したキーの悪用を防ぎます。単一 IP と CIDR 範囲に対応。

URL: https://docs.lmuai.com/ja/docs/guide/key-security



キーが漏洩すると、他人がそれを使ってあなたのクォータを消費できてしまいます。**IP ホワイトリスト**は最も直接的な保護であり、信頼する IP だけがキーを使えるようにします。

## 設定する場所 [#設定する場所]

**コンソール → API Keys → 編集（または作成）** に移動し、**IP ホワイトリスト**と**IP ブラックリスト**の 2 つのフィールドを見つけます。

1 行につき 1 ルール、次の 2 つの形式のいずれかで入力します。

| 形式      | 例                | 説明                             |
| ------- | ---------------- | ------------------------------ |
| 単一 IP   | `203.0.113.10`   | 正確に 1 つの IP に一致                |
| CIDR 範囲 | `203.0.113.0/24` | IP の範囲全体に一致（`/24` = 256 個の IP） |

IPv4 と IPv6 の両方に対応しています（IPv6 の例：`2001:db8::/32`）。

## どのように適用されるか [#どのように適用されるか]

* **ホワイトリストが空** → 送信元の制限なし。任意の IP がキーを使用可能
* **ホワイトリストが空でない** → リスト上の IP のみが使用可能。それ以外はすべて拒否
* **ブラックリスト** → 一致する IP は拒否され、**ホワイトリストより優先**される
* 両方を同時に使用できます（ブラックリストが先にチェックされ、次にホワイトリスト）

拒否されると、API は `403 ACCESS_DENIED` を返します。

## 実際の出口 IP を確認する（重要！） [#実際の出口-ip-を確認する重要]

**これが最も陥りやすい間違いです**：キーに設定する IP は、LMU AI のサーバーが見る**公開出口 IP** でなければならず、コンピューター上の `ipconfig` / `ifconfig` に表示されるプライベートアドレスではありません。

```bash
# Command line
curl https://ifconfig.me
# or
curl https://ip.sb
```

または、ブラウザで [ip.sb](https://ip.sb) / [ifconfig.me](https://ifconfig.me) を開いてください。

<Callout type="warn">
  VPN や会社のプロキシを有効にしたとき、あるいはモバイル端末が Wi-Fi ネットワークを切り替えたときには、出口 IP が変わります。ホワイトリストを設定する前に、上記のコマンドで確認してください。
</Callout>

## よくあるシナリオ [#よくあるシナリオ]

**シナリオ 1：固定のオフィス IP**

```
Whitelist:
203.0.113.10
```

**シナリオ 2：自宅とオフィスの両方から作業する**

```
Whitelist:
203.0.113.10      # Company egress
198.51.100.20     # Home broadband
```

**シナリオ 3：自分のクラウドサーバーで実行する**

```
Whitelist:
<your cloud server's public IP>
```

自分のサーバーだけが API を呼び出せるようにし、ローカル開発には別のキー（ホワイトリストなし）を使ってください。

**シナリオ 4：疑わしい IP を一時的にブロックしたいだけの場合**

```
Blacklist:
1.2.3.4
```

それ以外はいつも通り動作し、通常の使用に影響はありません。

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

**Q：呼び出しが 403 ACCESS\_DENIED を返します。IP 制限が原因ですか？**

その可能性が最も高いです。順番に確認してください。

1. `curl https://ifconfig.me` で現在の実際の出口 IP を確認する
2. キーのホワイトリストと照合して一致するか確認する
3. 一致しない場合は、現在の IP をホワイトリストに追加するか、一時的にホワイトリストをクリアしてテストする
4. それでも拒否される場合は、ブラックリストに載っていないか、キーが無効化されていないか、クォータが枯渇していないかを確認する

**Q：IP をホワイトリストに入れたのにまだ拒否されます？**

* **プライベート IP**（`192.168.x.x` / `10.x.x.x` / `172.16-31.x.x`）を入力していませんか？公開出口 IP に置き換えてください。
* IPv6 アドレスを入力したのに IPv4 で接続していませんか（またはその逆）？両方を入力してください。
* 形式が不正な CIDR（`1.2.3.4/33` など）を入力していませんか？無効なルールは黙って無視されます。

## 推奨される運用 [#推奨される運用]

* **本番キー**には、攻撃対象領域を最小化するために IP ホワイトリストの設定を強くおすすめします
* **開発／デバッグ用キー**ではホワイトリストを省略できますが、必ず**総クォータの上限**を最後の砦として設定してください
* 漏洩が特に心配な場合は、[**レート制限**、**総クォータ**、**モデルホワイトリスト**](/ja/docs/guide/how-to-use-token)と組み合わせて多層防御にしてください
* キーが漏洩した疑いを持った瞬間に、コンソールで直ちに**リセットまたは削除**してください
