- ID(App IDなど)は、SDKの設定やアプリの参照に使用します。
- APIキーは、セキュアなREST APIリクエストの認証に使用します。
App ID
App IDは、OneSignalアプリを識別するパブリックUUID(v4)です。 以下の用途で使用します:- SDKの初期化(Mobile SDKセットアップ、Web SDKセットアップ)
- メッセージの作成やユーザーの作成などのAPIリクエスト


App IDはクライアント側のSDK初期化で安全に使用できます。シークレットではありません。
組織ID
**組織ID(Org ID)**は、請求プランの下にあるすべてのアプリをグループ化するUUID(v4)です。 以下のような組織レベルのAPIに必要です: 組織 > あなたの組織 > キーとID、またはアプリの表示 APIで確認できます。
APIキーの概要
OneSignalは2種類のAPIキーをサポートしています:| キーの種類 | スコープ | 用途 |
|---|---|---|
| App APIキー | 単一アプリ | メッセージの送信、ユーザーの作成、アプリレベルの操作 |
| 組織APIキー | 組織全体 | アプリの作成、APIキーの管理、組織レベルの設定 |
App APIキー
App APIキーは、特定のアプリに関連するほとんどのREST APIリクエストに使用します。 認証形式:key認証スキームを使用して、Authorizationヘッダーにキーを含めます:
組織APIキー
組織APIキーは以下の用途で使用します:- アプリ管理:アプリの作成、アプリの表示
- App APIキー管理:APIキーの作成、APIキーの削除、APIキーのローテーション

APIキーの作成
AppおよびOrganization APIキーはダッシュボードから作成できます。- App APIキーはAPIキーの作成 APIでも作成可能です。
- 組織APIキーはダッシュボードからのみ作成可能です。
- キーとID(アプリまたは組織レベル)に移動します。
- キーを追加をクリックします。

- わかりやすい名前を入力します(例:CRM同期サービス)。
- (オプション)IP許可リストを設定します。
- 作成をクリックします。
- キーをコピーし、すぐに安全に保管します。

IP許可リスト(オプションだが推奨)
APIキーの使用を特定のIPアドレスに制限できます。- スペースで区切られたCIDRブロックを入力します
- 例:
192.0.2.0/24 192.0.2.123/32
- 例:
- 許可されていないIPからのリクエストは拒否されます。
- 静的IPを持つバックエンドサービス
- 高セキュリティの本番環境

キー管理
キーを作成した後、キーリストインターフェースで管理できます:
キーIDは参照用のラベルです。シークレットAPIキーではありません。
APIキーの編集
以下を変更できます:- キー名の更新
- IP許可リスト設定の変更
- App APIキーはダッシュボードまたはAPIキーの更新 APIで更新できます。
- 組織APIキーはダッシュボードからのみ更新可能です。
APIキーのローテーション
キーのローテーションにより:- 新しいシークレットが生成されます
- 同じ名前と設定が維持されます
- 古いシークレットは即座に無効化されます
- キーが漏洩した場合
- アクセス権を持つチームメンバーが退職した場合
- 定期的なセキュリティローテーション
- App APIキーはダッシュボードまたはAPIキーのローテーション APIでローテーションできます。
- 組織APIキーはダッシュボードからのみローテーション可能です。
APIキーの削除
キーの削除により:- 永久に削除されます
- そのキーを使用したAPIアクセスが即座にブロックされます
- App APIキーはダッシュボードまたはAPIキーの削除 APIで削除できます。
- 組織APIキーはダッシュボードからのみ削除可能です。
レガシーAPIキーからの移行
2024年11月14日にリッチAPIキー管理を導入しました。 移行手順- 新しいAppまたは組織APIキーを作成します。
- コード内のレガシーキーを置き換えます。
- APIベースURLを以下に更新します:
- キーとIDでレガシーキーを無効化または削除します。
本番環境でレガシーキーを無効化する前に、ステージング環境でAPIリクエストをテストしてください。
アプリの無効化
APIアクセスのブロック:- APIキーを削除またはローテーションして、REST APIの使用を即座にブロックします。
- 設定 > アプリ管理 > アプリを無効化に移動します。
セキュリティのベストプラクティス
- APIキーはセキュアなバックエンドに保管してください(クライアント側には置かないでください)。
- 環境変数またはシークレットマネージャーを使用してください。
- 可能な場合はIP許可リストを有効にしてください。
- 定期的にキーをローテーションしてください。
- ステージングと本番環境で別々のキーを使用してください。