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

# キーとID

> OneSignalのApp ID、Organization ID、APIキーを確認・管理する方法。キーの作成、ローテーション、セキュリティ保護、安全な移行方法を説明します。

OneSignalアカウントには、**パブリックID**（App ID、Organization ID）と**プライベートAPIキー**（App APIキー、組織APIキー）が含まれています。

* [App ID](#app-id)と[組織ID](#organization-id)はパブリック識別子で、クライアント側のコードとSDK初期化に安全に使用できます。
* [App APIキー](#app-api-key)と[組織APIキー](#organization-api-key)はプライベートシークレットです。安全に保管し、クライアント側のコードで公開しないでください。

OneSignalダッシュボードの**Settings > Keys & IDs**（アプリレベル）または**Organizations > あなたの組織 > Keys & IDs**（組織レベル）で確認できます。

***

## App ID

**App ID**は、OneSignalアプリを識別するパブリックUUID（v4）です。

以下の用途で使用します：

* SDKの初期化（Mobile SDKセットアップ、Web SDKセットアップ）
* メッセージの作成やユーザーの作成などのAPIリクエスト

App IDは、ダッシュボードの**Settings > Keys & IDs**、または[アプリの表示](/reference/view-apps) APIで確認できます。

<Frame caption="Settings > Keys & IDsでのApp IDの場所">
  <img src="https://mintcdn.com/onesignal/W0DIQbUDatcgdZf6/images/dashboard/dashboard-keys-and-ids-app-id-number.jpg?fit=max&auto=format&n=W0DIQbUDatcgdZf6&q=85&s=07fa6040dbc41ffa7dff116a0b1ad575" alt="Keys & IDs設定ページでハイライトされたApp IDの値" width="1375" height="528" data-path="images/dashboard/dashboard-keys-and-ids-app-id-number.jpg" />
</Frame>

<Check>
  App IDはクライアント側のSDK初期化で安全に使用できます。シークレットではありません。
</Check>

***

## 組織ID

\*\*組織ID（Org ID）\*\*は、請求プランの下にあるすべてのアプリをグループ化するUUID（v4）です。

以下のような組織レベルのAPIに必要です：

* [アプリの作成](/reference/create-an-app)
* [アプリの更新](/reference/update-an-app)

**Organizations > あなたの組織 > Keys & IDs**、または[アプリの表示](/reference/view-an-app) APIで確認できます。

<Frame caption="OneSignalダッシュボードでの組織IDの場所">
  <img src="https://mintcdn.com/onesignal/MWGmj5X1CnFliD-c/images/dashboard/dashboard-keys-and-ids-organization-id.png?fit=max&auto=format&n=MWGmj5X1CnFliD-c&q=85&s=b28d6312569975a67ca3eb1be9f568e4" alt="OneSignalダッシュボードのKeys & IDsで組織IDを表示" width="2560" height="1228" data-path="images/dashboard/dashboard-keys-and-ids-organization-id.png" />
</Frame>

***

## APIキー

APIキーには2種類あります。どちらもREST APIリクエストを認証するために使用し、秘密に保つ必要があります。実行したい操作に合ったキーを選んでください：

| キー                               | 用途                                  |
| -------------------------------- | ----------------------------------- |
| [App APIキー](#app-api-key)        | 1つの特定のアプリ：メッセージの送信、ユーザーの作成、統計情報の確認。 |
| [組織APIキー](#organization-api-key) | 組織全体：アプリの作成や他のAPIキーの管理。             |

<Note>
  アプリごとに最大16個のApp APIキー、組織ごとに最大16個の組織APIキーを作成できます。
</Note>

### App APIキー

**App APIキー**は、単一のアプリに限定されたREST APIリクエストに使用します：メッセージの送信、ユーザーの作成または更新、メッセージ履歴の確認など。

ダッシュボードでは既存のAPIキーの値は表示されません。キーID列の文字列は内部識別子であり、キーではありません。再度動作するシークレットを取得するには、以下の手順で新しいAPIキーを作成するか、[既存のキーをローテーション](#rotate-a-key)してください。ローテーションは同じキーID、名前、IP許可リストを保持したまま新しい値を生成し、古い値は即座に動作しなくなります。

<Frame caption="ダッシュボードに表示されるのはキーIDであり、APIキーの値ではありません。実際の値（os_v2_app_で始まる）はキーが作成またはローテーションされたときに一度だけ表示されます。">
  <img src="https://mintcdn.com/onesignal/yYUi2EK-maheXJet/images/dashboard/api-key-list.png?fit=max&auto=format&n=yYUi2EK-maheXJet&q=85&s=e6c8dcfa23dc56ec4a2de364ffdffd99" alt="OneSignalダッシュボードのAPI Keysテーブル。APIキーの値ではないキーID列を表示しています。" width="2728" height="1104" data-path="images/dashboard/api-key-list.png" />
</Frame>

**App APIキーを作成する**

以下の手順でダッシュボードからApp APIキーを作成するか、[APIキーの作成](/reference/create-api-key) APIを使用してください。

<Steps>
  <Step title="アプリの Settings > Keys & IDs に移動する">
    OneSignalダッシュボードでアプリを選択し、**Settings > Keys & IDs**に移動します。
  </Step>

  <Step title="Add Keyをクリックする">
    分かりやすい名前を入力します（例：`Backend service`）。任意で[IP許可リスト](#ip-allowlist)を追加し、承認されたサーバーからのみキーが使用できるように制限できます。
  </Step>

  <Step title="Createをクリックし、すぐにキーの値をコピーする">
    値は`os_v2_app_`で始まり、**一度だけ**表示されます。シークレットマネージャーまたはバックエンドの環境変数にすぐに保存してください。

    <Frame caption="生成されたAPIキーの値、一度だけ表示されます">
      <img src="https://mintcdn.com/onesignal/QOf62tdZP66tkOD2/images/docs/generated-api-key.png?fit=max&auto=format&n=QOf62tdZP66tkOD2&q=85&s=81c7a600d8d5f88b79c47a027acc0c41" alt="作成後に表示された生成済みAPIキー" width="764" height="768" data-path="images/docs/generated-api-key.png" />
    </Frame>
  </Step>
</Steps>

<Warning>
  App APIキーはパスワードのように扱ってください：

  * モバイルやWebのクライアントコードで公開しないでください。
  * パブリックリポジトリ（GitHubなど）にコミットしないでください。
  * セキュアなバックエンドまたはシークレットマネージャーに保管してください。
</Warning>

### 組織APIキー

**組織APIキー**は、組織内のすべてのアプリにまたがる操作に使用します。一般的なエンドポイント：

* **アプリ管理：**[アプリの作成](/reference/create-an-app)、[アプリの表示](/reference/view-apps)
* **APIキー管理：**[APIキーの作成](/reference/create-api-key)、[APIキーの削除](/reference/delete-api-key)、[APIキーのローテーション](/reference/rotate-api-key)

**組織APIキーを作成する：**

組織APIキーはダッシュボードからのみ作成できます。作成用のAPIエンドポイントはありません。

<Steps>
  <Step title="組織の Keys & IDs に移動する">
    OneSignalダッシュボードで**Organizations > あなたの組織 > Keys & IDs**に移動します。
  </Step>

  <Step title="Add Keyをクリックして名前を付ける">
    分かりやすい名前を入力します（例：`App provisioning`）。任意で[IP許可リスト](#ip-allowlist)を追加できます。
  </Step>

  <Step title="Createをクリックし、すぐにキーの値をコピーする">
    値は`os_v2_app_`で始まり、**一度だけ**表示されます。すぐに安全に保管してください。
  </Step>
</Steps>

<Frame caption="組織APIキーを作成する組織のKeys & IDsページ">
  <img src="https://mintcdn.com/onesignal/W0DIQbUDatcgdZf6/images/dashboard/default-org-api-keys-and-ids.jpg?fit=max&auto=format&n=W0DIQbUDatcgdZf6&q=85&s=d014d99705d175a153d43444b42adca3" alt="Keys & IDsダッシュボードの組織APIキーセクション" width="1846" height="840" data-path="images/dashboard/default-org-api-keys-and-ids.jpg" />
</Frame>

<Warning>
  組織APIキーは組織内のすべてのアプリへのアクセスを許可します。特に注意して取り扱い、組織全体へのアクセスが本当に必要なサービスとのみ共有してください。
</Warning>

***

## IP許可リスト

IP許可リストはオプションですが、強く推奨されます。APIキーの使用を特定のIPアドレスに制限することで、漏洩したキーが他の場所から使用されることを防ぎます。

* スペースで区切られたCIDRブロックを入力します（例：`192.0.2.0/24 192.0.2.123/32`）。
* 許可されていないIPからのリクエストは拒否されます。

IP許可リストの使用場面：

* 静的IPを持つバックエンドサービス。
* 高セキュリティの本番環境。

<Frame caption="IP許可リストを有効にしてAPIキーを作成">
  <img src="https://mintcdn.com/onesignal/QOf62tdZP66tkOD2/images/docs/ip-allowlist-config.png?fit=max&auto=format&n=QOf62tdZP66tkOD2&q=85&s=d2bdf5bec27c8a982c027d428687a3b9" alt="APIキー作成モーダルのIP許可リスト設定フィールド" width="764" height="542" data-path="images/docs/ip-allowlist-config.png" />
</Frame>

***

## APIキーの管理

キーを作成した後、**Settings > Keys & IDs**のキーリストから編集、ローテーション、または削除できます。App APIキーはREST API経由でもこれらの操作をサポートします。組織APIキーはダッシュボード専用です。

### キーの編集

シークレット値を変更せずに、名前またはIP許可リストを更新します。インテグレーションの変更は不要です。

ダッシュボード、または[APIキーの更新](/reference/update-api-key) APIを使用してください（App APIキーのみ）。

### キーのローテーション

ローテーションは、同じキーID、名前、IP許可リストを保持したまま新しいシークレットを生成します。古いシークレットは即座に動作しなくなります。

以下の場合にキーをローテーションしてください：

* キーが漏洩した場合。
* アクセス権を持つチームメンバーが退職した場合。
* 定期的なセキュリティローテーションの時期になった場合。
* 元のキー値を紛失し、動作するシークレットが必要な場合。

<Warning>
  キーをローテーションした後、古い値を使用しているすべてのサービスを更新してください。古いキーでのリクエストは即座に失敗します。
</Warning>

ダッシュボード、または[APIキーのローテーション](/reference/rotate-api-key) APIを使用してください（App APIキーのみ）。

### キーの削除

削除はキーを永久に削除し、そのキーを使用するAPIアクセスを即座にブロックします。キーが不要になった場合に削除を使用してください。

ダッシュボード、または[APIキーの削除](/reference/delete-api-key) APIを使用してください（App APIキーのみ）。

***

## レガシーAPIキーからの移行

OneSignalは、命名、ローテーション、IP許可リストを備えたApp APIキーと組織APIキーを2024年11月に導入しました。レガシーのユーザー認証キー（User Auth key）と元のREST APIキーは引き続き使用できますが、それらの管理UIは削除されており、新規作成はできません。

<Steps>
  <Step title="新しいキーを作成する">
    置き換えるレガシーキーに応じて、新しい[App APIキー](#app-api-key)または[組織APIキー](#organization-api-key)を作成します。
  </Step>

  <Step title="コードを更新する">
    OneSignalに対して認証を行うすべてのサービスで、レガシーキーを新しい値に置き換えます。
  </Step>

  <Step title="APIベースURLを更新する">
    APIベースURLを`https://onesignal.com/api/v1/`から`https://api.onesignal.com`に変更します。
  </Step>

  <Step title="検証してからレガシーキーを無効化する">
    ステージング環境でAPIリクエストをテストし、その後**Settings > Keys & IDs**でレガシーキーを無効化または削除します。
  </Step>
</Steps>

<Check>
  本番環境でレガシーキーを無効化する前に、ステージング環境でAPIリクエストを検証してください。
</Check>

***

## APIアクセスのブロック

キーを即座に失効させるには、**Settings > Keys & IDs**で[ローテーション](#rotate-a-key)または[削除](#delete-a-key)してください。古い値を使用したリクエストは即座に失敗します。

メッセージ送信を停止する、またはアプリ全体を一時停止するには、[無効化されたアプリと組織](./disabled-apps)を参照してください。

***

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

* APIキーはセキュアなバックエンドに保管してください（クライアント側には置かないでください）。
* 環境変数またはシークレットマネージャーを使用してください。
* 可能な場合はIP許可リストを有効にしてください。
* 定期的にキーをローテーションしてください。
* ステージングと本番環境で別々のキーを使用してください。

***

## よくある質問

### APIキーはどこで確認できますか？

APIキーの値は`os_v2_app_`で始まり、キーの作成またはローテーションの直後に一度だけ表示されます。ダッシュボードの**キーID**列は内部識別子であり、APIキーではありません。認証に使用すると`401 Unauthorized`を返します。キーの値を保存していない場合は、[キーをローテーション](#rotate-a-key)して新しい値を生成してください。完全なフローについては[App APIキー](#app-api-key)または[組織APIキー](#organization-api-key)を参照してください。

### レガシーApp APIキーを取得できますか？

いいえ。OneSignalはレガシーApp APIキーを表示しなくなりました。コードベースで値が見つからない場合は、新しいApp APIキーを生成し、インテグレーションを更新してください。

### App ID、App APIキー、組織APIキーの違いは何ですか？

* **App ID**：アプリのパブリック識別子。SDKのセットアップとアプリを指定するAPIリクエストに使用します。
* **App APIキー**：1つのアプリのメッセージ送信とユーザー管理に使用するシークレットキー。
* **組織APIキー**：アカウント全体のアプリと組織レベルの設定を管理するために使用するシークレットキー。

### APIキーが漏洩した場合はどうなりますか？

すぐに[キーをローテーション](#rotate-a-key)してください。ローテーションは古い値を無効化し、同じキーID、名前、IP許可リストを保持したまま新しい値を発行します。その後、そのキーを使用するすべてのサービスを更新してください。予期しないAPIアクティビティがないか[監査ログ](./audit-logs)を確認してください。

***

## 関連ページ

<Columns cols={2}>
  <Card title="REST API概要" icon="code" href="/reference/rest-api-overview">
    リクエストを認証し、OneSignal REST APIを理解します。
  </Card>

  <Card title="レート制限" icon="clock" href="/reference/rate-limits">
    キーごとのレート制限と大量送信インテグレーションのベストプラクティス。
  </Card>

  <Card title="監査ログ" icon="file-shield" href="./audit-logs">
    キー、ユーザー、時間ごとにAPIとダッシュボードのアクティビティを確認します。
  </Card>

  <Card title="無効化されたアプリと組織" icon="ban" href="./disabled-apps">
    アプリを一時停止または停止し、課金への影響を理解します。
  </Card>
</Columns>
