API 認証#
すべての API リクエストで、ベアラー認証情報を送信してください。
Authorization: Bearer pat_...ベアラー認証情報はサーバー側で保持してください。API 認証情報がない、または無効なリクエストが、ブラウザーの Cookie にフォールバックすることはありません。
個人アクセストークン#
PAT は pat_ で始まります。Supernova はシークレットを一度だけ表示し、ハッシュのみを保存します。シークレットを紛失した場合は、新しいトークンを作成してください。復元することはできません。
各 PAT は 1 人のユーザーと 1 つの組織に属し、明示的なスコープの集合を持ち、任意で有効期限を記録します。失効は、次のリクエストから有効になります。
サービスキー#
サービスキーは nsk_ で始まり、個人ではなく組織に属します。ジョブ、スクリプト、作成者が退職しても動作し続ける処理に使用してください。
Authorization: Bearer nsk_...組織の管理者が 設定 → クエリアクセス でキーを作成し、名前を付けてシークレットをコピーします。PAT と同様に、シークレットは一度だけ表示され、ハッシュのみが保存されます。キーの失効は、次のリクエストから有効になります。
キーは読み取り専用で、query:read と data:read だけを持ちます。クエリの実行とカタログの読み取りが可能で、この権限が拡張されることはありません。キーで読み取れるのは、権限を付与されたテーブルだけです。拒否時の動作については、クエリを参照してください。
キーで読み取れるテーブルは付与された権限で決まるため、組織でテーブル権限を有効にするとキーを使用できます。それまでは、有効なキーでも 403 service_key_permissions_off で拒否されます。
OAuth アクセストークン#
OAuth は PKCE 対応の認可コード方式を使用します。同意画面には、組織と要求するスコープが表示されます。アクセストークンには、公開 API のオーディエンス、許可された発行者、有効な jti、エンドポイントが要求するスコープが必要です。
トークンのサブジェクトが、呼び出し元のプリンシパルになります。同じ組織内でも、冪等性と呼び出し元のレート制限はプリンシパルごとに分離されます。
認証主体を確認#
認証済みのサブジェクト、組織、ロール、付与されたスコープを返します。ログイン後やプロファイル選択後に使用し、認証情報がどのテナントを指すか確認してください。
認証情報の契約で選択が許される場合に、認証済みユーザーが利用できる組織を返します。
スコープの一覧#
| スコープ | 機能 |
|---|---|
query:read または query:execute | 互換性を維持した段階的導入中のクエリとクエリジョブのリソース |
data:read | カタログ、ソースの読み取り、ログ、使用量 |
apps:manage | ソースと PAT の管理 |
models:read、models:write | モデルのリソース |
files:write、files:admin | データリポジトリの変更 |
members:manage | 組織のメンバーシップ |
data:policies:manage | データポリシーの管理 |
エンドポイントは、有効な認証情報でも必要なスコープがなければ、403 insufficient_scope で拒否します。