> 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 キーを見つける

Roboflow API と Roboflow Inference で認証するための 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="https://1568109427-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmbAGf4KNeNPXGuUuKYv%2Fuploads%2Fgit-blob-ee9c711746c549f84e164db9d4d68158b4a01050%2Fimage-a4b3fa.png?alt=media" alt=""><figcaption></figcaption></figure>

「新しいキーを生成」をクリックして新しいキーを発行するか、すでに作成したキーをコピーしてください。

{% hint style="success" %}
プライベートAPIキーは必ず秘密にしてください。パスワードと同じように扱い、そのキーを持つ人にワークスペースのデータとモデルへのアクセスを許可するものだと考えてください。
{% endhint %}

もし誤って、ワークスペースにアクセスする権限のない相手にキーを公開してしまった場合は、「APIキーをロール」をクリックしてください。これにより以前のAPIキーが無効化され、新しいキーが作成されます。新しいキーには、無効化されているかどうかを含め、古いキーの設定が引き継がれます。キーが [専用デプロイメント](https://docs.roboflow.com/deployment/roboflow-cloud/dedicated-deployments)を実行中の場合、Roboflowはデプロイ先を新しいキーに移し、処理を継続します。

### 複数のAPIキー

Enterpriseプランのワークスペースでは複数のAPIキーを作成でき、環境を分離し、全体の本番ワークフローを妨げることなく、特定のデプロイメントや担当者のアクセスを即座に取り消せます。

<figure><img src="https://1568109427-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgmbAGf4KNeNPXGuUuKYv%2Fuploads%2Fgit-blob-8c37745c31bc18690dce2ca774620af56c18de4b%2Fimage%20(1)-288cf9.png?alt=media" alt=""><figcaption><p>Enterpriseワークスペース向けの複数APIキーオプション</p></figcaption></figure>

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

### デフォルトAPIキー

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

デフォルトのキーは、それらの操作に必要な権限を保持している必要があります: `workspace:read`, `project:read`, `version:read`, `image:read`、および `model:infer`。Roboflowがそれらを追加し、キーがデフォルトである間は固定します。チェックを外しても、それらの権限はキーに残りますが、その後で削除できます。フォルダー範囲のキーをデフォルトにすることはできません。

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

必要な権限を持つキーがない場合、キー一覧に警告が表示されます。完全アクセスのキーを生成するか、既存のキーをデフォルトに設定するまで、アプリが実行する操作は失敗します。これには、モデルの実行、Workflow の実行とプレビュー、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)
```

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

Python SDK を使う場合は、ヘッダーを自分で組み立てるのではなく、クライアント側でトランスポートを一度設定してください。詳しくは [APIキーのトランスポート](/reference/ja/tui-lun/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 %}
