API キー
API キーはユーザーごとに発行します。用途ごとに、期限・権限・対象フォルダを絞ったキーを作るのがおすすめです。
発行
管理画面の「API キー」で発行します。キー(nsk_…)は発行時に一度だけ表示されます。サーバーには指紋(ハッシュ)しか保存されないので、紛失したら取り消して作り直してください。
設定できること
| 項目 | 選べる値 |
|---|---|
| 有効期限 | 1 日 / 7 日 / 30 日 / 90 日 / 1 年 / 無期限。いつでも取り消し可 |
| 権限 | 下表から組み合わせ。全部選ぶと *(すべて) |
| 対象フォルダ | 例 /apps/myapp。このフォルダの中だけ操作でき、/ を一覧するとこのフォルダが返ります。公開リンク一覧もこの中のものだけ |
権限(scopes)
| scope | できること |
|---|---|
files:read | 一覧・詳細・配下一覧・最近のファイル・ダウンロード |
files:write | アップロード・フォルダ作成・移動・コピー・削除 |
publish | 公開・公開停止・アクセス方式・独自ドメイン |
tokens | アクセストークンの発行・一覧・取り消し |
keys | API キーの発行・取り消し(自分より広いキーは作れません) |
admin | 管理 API(管理者のみ。フォルダ限定のキーには付けられません) |
例
| 用途 | おすすめの設定 |
|---|---|
| アプリの画像アップロード | files:write + publish、対象 /apps/myapp、無期限 |
| 購入者へのダウンロードリンク発行 | tokens のみ、対象 /products |
| バックアップの取得 | files:read のみ、30 日 |
キーでキーを作る
keys 権限のあるキーで別のキーを作れます。ただし、親キーより広い権限や、親キーのフォルダの外を対象にしたキーは作れません(フォルダを省略すると親と同じフォルダになります)。
サーバー上で発行する
初期設定の自動化などで、コントローラーのサーバー上から発行することもできます。
sudo -u nexstore nexstore api-key -user <ユーザー名> -label <用途> \
-days 30 -scopes files:read,files:write -path /apps/myapp