> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/reference/ja/ren-zheng/authentication/find-your-roboflow-api-key.md).

# Roboflow API キーを見つける

**API キーは次の場所で見つけられます:** [**app.roboflow.com/settings/api**](https://app.roboflow.com/settings/api)

***

API キーには 2 種類あります:

* **プライベート API キー**: Roboflow API と [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted)
* **公開 / 発行可能 API キー**: で使用されます `inference.js` 、当社の JavaScript 推論 SDK です

API キーはワークスペースに紐づいています。つまり、そのワークスペースのプライベートプロジェクトにアクセスするには、そのワークスペースに関連付けられた API キーを使用する必要があります。

<figure><img src="/files/191197b881cb108d788b16edf5bf5a697b08485b" alt=""><figcaption></figcaption></figure>

「Generate New Key」をクリックして新しいキーを発行するか、既に作成済みのキーをコピーしてください。

{% hint style="success" %}
プライベート API キーは絶対に秘密にしてください。パスワードのように扱ってください。このキーは、所有者にワークスペースのデータとモデルへのアクセス権を与えます。
{% endhint %}

万が一、ワークスペースへのアクセス権のない相手に誤ってキーを公開してしまった場合は、「Roll API Key」をクリックしてください。これにより以前の API キーは無効化され、新しいキーが作成されます。

### 複数の API キー

Enterprise プランのワークスペースでは複数の API キーを作成でき、環境を分離したり、個々のデプロイや担当者ごとにアクセスを即座に取り消したりして、全体の本番ワークフローを妨げずに運用できます。

<figure><img src="/files/88b6b82e77e1b7cc6459b05af52ece190d0164ce" alt=""><figcaption><p>Enterprise ワークスペース向けの複数 API キーのオプション</p></figcaption></figure>

また、 [スコープ付き API キー](/reference/ja/ren-zheng/authentication/scoped-api-keys.md) を Enterprise のお客様向けのアドオンとして提供しています。

### デフォルト API キー

ワークスペースに複数のキーがある場合でも、アプリはコードスニペットや一般的なワークスペース操作（例: モデル評価結果の表示）にそのうちの 1 つを使用します。それを選ぶには、キーを生成するとき、または既存のキーを編集するときに「Set as default API key for this workspace」にチェックを入れてください。そのキーはキー一覧で「Default」バッジ付きで表示されます。デフォルトを選ぶには Advanced API Keys 機能が必要です。

デフォルトのキーには、これらの操作に必要な権限を保持しておく必要があります: `workspace:read`, `project:read`, `version:read`, `image:read`、および `model:infer`。Roboflow はこれらを自動で追加し、そのキーがデフォルトのままの間はロックします。チェックボックスを外しても、これらの権限はキーに残りますが、その後で削除できるようになります。フォルダにスコープされたキーはデフォルトにはできません。

どのキーもデフォルトに設定されていない場合、アプリはそれらの権限を持つ、最も古い有効なワークスペースキーを代わりに使用し、そのキーには「In Use」バッジが表示されます。キーを無効化または取り消す前にバッジを確認し、ワークスペースの操作や課金対象の使用がどのキーで実行されているか把握してください。

それらの権限を持つキーがない場合、キー一覧に警告が表示されます。完全権限のキーを生成するか、既存のキーをデフォルトに設定するまでは、アプリが代行する操作は失敗します。これには、モデルの実行、Workflows の実行とプレビュー、Auto Label、モデル評価、データセットのエクスポートが含まれます。

## Roboflow Inference でキーを使用する

API キーは、Roboflow で学習したモデル、Roboflow Universe 上の公開モデル、およびホスト型推論 API へのアクセスを許可します。 [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted).

### 環境変数

推奨される方法は、 `ROBOFLOW_API_KEY` を環境に設定することです。ほとんどのターミナルでは、

```bash
export ROBOFLOW_API_KEY=YOUR_API_KEY
```

その後、そのターミナルセッションで実行される任意のコマンドからキーにアクセスできます。 [環境変数](/reference/ja/environment-variables.md) については、CLI と SDK が読み取る他の変数も参照してください。

### Python

Python から Inference を使用する場合、キーはキーワード引数として渡せます:

```python
from inference import get_model

model = get_model(model_id="...", api_key="YOUR_API_KEY")
```

{% hint style="success" %}
キーが環境に設定されている場合は、引数として渡す必要はありません: `model = get_model(model_id="...")`.
{% endhint %}

### HTTP リクエスト

サーバーを直接呼び出すときは、キーを `Authorization: Bearer` ヘッダーとして送信してください。ヘッダーを使うと、URL、アクセスログ、ブラウザ履歴にキーが残らず、すべてのルートで同じように機能します:

```python
import requests

my_api_key = "YOUR_API_KEY"
headers = {"Authorization": f"Bearer {my_api_key}"}

url = "http://localhost:9001/soccer-players-5fuqs/1"
response = requests.post(url, headers=headers)

url = "http://localhost:9001/infer/object_detection"
payload = {"model_id": "soccer-players-5fuqs/1"}
response = requests.post(url, json=payload, headers=headers)
```

セルフホスト型サーバーは、Inference リリース 1.5.0 以降でこのヘッダーを読み取ります。ホスト型 API でも同様に受け付けます。

キーを URL パラメータとして（`?api_key=...`）または `api_key` リクエストペイロード内のフィールドとして渡すのは、従来の方法です。どのサーバーバージョンでも引き続き動作しますが、新しいコードには推奨されません:

```python
url = f"http://localhost:9001/soccer-players-5fuqs/1?api_key={my_api_key}"
response = requests.post(url)
```

複数の経路でキーが渡された場合は、クエリパラメータがヘッダーより優先され、ヘッダーは body フィールドより優先されます。

Python SDK を使う場合は、自分でヘッダーを組み立てるのではなく、クライアントで一度だけ transport を設定してください。こちらを参照: [API キーの転送](/reference/ja/inference/inference-sdk/configuration.md#api-key-transport).

### Docker

Inference Server を Docker コンテナでローカル実行する場合は、 `docker run` コマンドにキーを指定してください:

```bash
docker run -it --rm --network=host -e ROBOFLOW_API_KEY=YOUR_API_KEY roboflow/roboflow-inference-server-cpu:latest
```

そのサーバーに送るリクエストでは、 `api_key` をリクエストペイロードから省略できます。

{% hint style="warning" %}
セルフホスト型サーバーは、デフォルトでは API キーを必要としません。コンテナ内にキーを設定しても、誰がサーバーを呼び出せるかは制限されません。こちらを参照: [セルフホスト型サーバーの保護](https://docs.roboflow.com/deployment/self-hosted/inference-server/configuration/security) 認証を強制するために。
{% endhint %}
