stage-only npm トークンとは?作り方・npm stage publish の使い方・2027年1月の2FAバイパス廃止への備えを一次情報で解説(2026年9月18日)
GitHub が npm の granular access token に新しい「Read and write (stage only)」権限を追加しました。CI からはステージまで、公開はメンテナーが2FAで承認する流れが作れます。作り方・必要な環境・2027年1月の2FAバイパストークン廃止計画への備えを一次情報で整理します。
結論から言うと、npm の granular access token に新しい「Read and write (stage only)」権限が追加され、CI からはパッケージをステージまで進め、公開はメンテナーが 2FA で承認する流れが作れます。2027年1月に予定される 2FA バイパストークン廃止への備えとして使えます。以下、作り方と必要な環境を一次情報の出典付きで解説します。
2026年9月18日、GitHub は npm の granular access token(きめ細かな権限を設定できるアクセストークン)に、新しい権限「Read and write (stage only)」を追加しました。このトークンを使うと、CI の自動化ワークフローはパッケージをレジストリへ直接公開せず、レビュー待ちの「ステージ」までを行えます。公開にはメンテナーが2要素認証(2FA)で承認する必要があるため、「トークンが漏れるとそのままリリースされる」というリスクを絞れるようになりました。
本稿では、stage-only トークンの作り方、npm stage publish の使い方、必要な環境(npm CLI 11.15.0 以降・Node.js 22.14.0 以降)、そして npm が 2027年1月を目標に進めている「2FA バイパストークンによる直接公開の廃止」への備えを、公式の一次情報だけから整理します。本文中の値はすべて出典付きで、取得日は 2026年9月19日です。
stage-only npm トークンとは何か
発表から、このトークンでできることとできないことは次のとおりです。
- できること: npm stage publish コマンドで、パッケージの新しいバージョンを「レビュー待ち」としてレジストリにステージする。メンテナーが2FAでレビュー・承認すると、そこで初めてリリースされる。
- できないこと: このトークンによる npm publish での直接公開。自動化用の2FAバイパスを設定していても、npm が拒否します。
- 既存トークンへの影響: なし。この機能はオプトインで、既存のトークンやその直接公開機能には影響しません。なお、stage-only トークンでも dist-tags の移動やバージョンの非推奨化(deprecate)など、他の書き込み権限は通常の書き込みトークンと同様に残るため、GitHub の発表は慎重な管理を呼びかけています。
stage-only トークンの作り方と使い方(3ステップ)
GitHub の発表に書かれた導入手順は、次の3ステップです。
- ワークフローが必要とするパッケージに対して、「Read and write (stage only)」権限を持つ granular access token を作成する。
- ワークフローで使っている公開用トークンを差し替え、npm publish の代わりに npm stage publish を実行する。
- メンテナーがステージされたバージョンを2FAでレビュー・承認する。承認でリリースされます。
使うための要件と、ステージの確認・承認コマンド
- 環境の要件: npm CLI 11.15.0 以降、Node.js 22.14.0 以降。npm アカウントで2FAを有効化していること。
- 権限の要件: 該当パッケージへの publish 権限を持っていること。また、ステージできるのはレジストリに既に存在するパッケージだけで、新しいパッケージの初回公開には使えません。
- 提出側のコマンド: npm stage publish でステージへ提出します。npm Docs によると、このステップに2FAは不要です。2FAが必須になるのは承認の時点です。
- 確認・検査側のコマンド: npm stage list でアクセス可能なステージ済みパッケージの一覧、npm stage view <stage-id> で特定のステージの詳細、npm stage download <stage-id> でステージ済み tarball のダウンロードができます。提出物の中身を確認してから承認に進めます。
- 承認側の手順: npm stage approve <stage-id> を実行するか、npmjs.com の「Staged Packages」タブから「Approve」ボタンで承認します。CLI・サイトのどちらの経路でも2FAの検証が求められ、通るとレジストリに公開されます。
なぜ今この機能なのか・2027年1月の廃止計画への備え
npm は以前から、2027年1月を目標に「2FAバイパストークンによる直接公開」を廃止する計画を告知しています。今回の GitHub の発表(2026年9月18日)は、この機能を trusted publishing(OIDC による信頼済み公開)へ移行できない場合の経路として位置づけています。つまり、CI で2FAバイパス付きトークンを使って直接 npm publish しているチームは、続けられる期限が決まっているということです。
- 移行先の選択肢 1: trusted publishing(OIDC)。CI からトークンを発行せずに公開する仕組みです。npm Docs によると、trusted publishing からも staged publishing で提出し、メンテナーが2FA付きでレビュー・承認する流れが使えます。
- 移行先の選択肢 2: staged publishing。stage-only 権限のトークンでステージし、人が2FAで承認します。本稿の主題はこちらです。
- 詳しい仕様の議論: npm のコミュニティディスカッションで公開されています(出典: GitHub Changelog 2026年9月18日からの参照先)。
CI の公開フローをどう変えるか(実務的な視点)
今回の変更で変わるのは「CI が持つ権限の上限」です。従来の2FAバイパス付きトークンでは、トークンが漏れた時点で誰でもそのパッケージの新しいバージョンを公開できました。stage-only トークンに変えると、CI ができるのはステージまでで、リリースは人が2FAを通さないと実行されません。出典: GitHub Blog Changelog 2026年9月18日、npm Docs「Staged publishing」(取得日 2026年9月19日)。
移行の作業量は、ワークフロー側では「トークンの作り直しと npm publish の差し替え」だけです。一方で承認ステップが増えるため、毎回リリースする運用では人の手間が1ステップ増えます。既に trusted publishing(OIDC)で公開している場合、今回の変更で既存の流れが壊れることはありません(機能はオプトインのため)。なお、公式の移行期限や、ステージの保持期間については、今回取得したページには記載がありません。2027年1月の廃止目標が現時点で公表されている最大の目安です。
関連記事: GitHub Actions ワークフロー実行保護 / コードカバレッジ ruleset REST API
よくある質問
Q. stage-only トークンで npm publish はできますか?
できません。このトークンでの直接公開は、2FAバイパスの設定があっても npm に拒否されます。トークンでできるのは npm stage publish によるステージまでで、公開にはメンテナーの2FA付き承認が必要です(出典: GitHub Blog Changelog 2026年9月18日)。
Q. npm stage publish に2FAは必要ですか?
ステージの提出には2FAは不要です。npm Docs によると、npm stage publish は2FAを要求しません。2FAが必須なのは、ステージを承認して公開するステップです(出典: npm Docs「Staged publishing」、取得日 2026年9月19日)。
Q. ステージしたパッケージはどうやって承認・公開しますか?
npm stage approve <stage-id> を実行するか、npmjs.com の「Staged Packages」タブから「Approve」を押します。どちらの経路でも2FAの検証が求められ、通るとレジストリに公開されます。承認前の中身は npm stage view や npm stage download で確認できます。
Q. 新しく作ったパッケージもステージできますか?
できません。ステージド公開はレジストリに既に存在するパッケージだけが対象で、新しいパッケージの初回公開には使えません(出典: npm Docs「Staged publishing」)。初回公開は従来どおりの公開経路か、trusted publishing を検討する必要があります。
Q. 既存の2FAバイパストークンはいつまで使えますか?
npm は 2027年1月を目標に、2FAバイパストークンによる直接公開を廃止する計画を告知しています(出典: GitHub Blog Changelog 2026年9月18日)。それまでに、trusted publishing か staged publishing への移行を検討する必要があります。今回追加された stage-only トークンは、その移行先の一つです。
AI開発ツール速報(当サイト)は、GitHub・npm・Cursor・VS Code など開発ツールの仕様変更や料金改定を、公式発表への出典付きで最速でお届けする速報メディアです。今回のようなトークン運用の変更は CI の設定に直接影響するため、更新があったら当サイトの一覧で確認できます。
関連ガイド
AI コーディングツールの料金改定(2026年9月20日) — GitHub Copilot・Cursor・Claude Code の最新料金比較と変更点
AI コーディングツールの料金改定を2026年9月時点で比較。GitHub Copilot(無料〜月額39ドル)、Cursor(無料〜月額40ドル)、Claude Code(API課金・Max月額100ドル〜200ドル)、VS Code(無料)の各プランを公式情報から解説します。個人開発者から組織導入まで、予算計画に役立つ料金情報をまとめました。
関連記事
2026年10月26日GAのCopilot assisted permissionsとは?権限モードと設定
GitHub Copilot の 3 つ目の権限モード「Assisted permissions」が 2026年10月26日に一般提供(GA)。LLM がコマンド実行・ファイルパス・URL のリクエストを評価し、明らかに安全なものは自動で通し、それ以外は手動承認にします。CLI・Copilot app・VS Code での有効化手順と、Enterprise 管理者による Allow All のブロック設定を公式情報で解説します。
Cursor Agent SDKとは?2026年10月20日GAの作り方とdeployを解説
Cursor が Agent SDK を 2026年10月20日に一般提供(GA)しました。エージェントをフォルダで定義し、init・dev・deploy・eval の各コマンドで開発から展開まで行えます。トリガーは GitHub の PR・コメント・CI と Slack・webhook・cron に対応。作り方と deploy の手順を一次情報で解説します。
TorchTPU・TorchNeuronとは?PyTorchのTPU・Trainium対応を一次情報で解説(2026年10月20日)
Hugging Face が TorchTPU と TorchNeuron を公開し、PyTorch が Google TPU と AWS Trainium のネイティブデバイスになりました。device_map="tpu" / "neuron" の指定方法、pip install torch-tpu / torch-neuronx、上位 100 テキスト生成モデルの 89% 対応、Kernels Hub の速度数値(ViT 2.4 倍・Qwen3-30B-A3B 21.5 倍)を一次情報で解説します。
GitHub Public monitoringとは?データレジデンシー環境のシークレット監視とtriage・API追加を一次情報で解説(2026年10月22日)
GitHub は 2026年10月22日、GitHub Enterprise Cloud のデータレジデンシー環境で、公開リポジトリに漏洩したシークレットを監視する Public monitoring を公開プレビューで提供開始しました。10月23日には triage・validity check・REST API・エンタープライズ webhook を追加。対象ライセンス、前提のドメイン検証、有効化の手順を一次情報で解説します。
PyTorch 2.15のMPSバックエンド強化とは?FP8対応とMoEデコード高速化を一次情報で解説(2026年10月20日)
PyTorch 2.15 の MPS バックエンド強化は、Apple Silicon(Mac)で FP8(torch.float8_e4m3fn)が使えるようになった更新です。MoE モデルのデコードが 5〜6.5 倍速くなり、動画 VAE デコードのメモリ使用量は 270 GiB から 8 GiB に減りました。必要要件と試し方を一次情報で解説します。
CopilotのEagerness設定とは?インライン補完の積極性を4段階で調整する新機能を一次情報で解説(2026年10月27日)
VS Code の公式ブログで 2026年10月27日、GitHub Copilot のインライン補完の積極性を選べる「Eagerness」設定が紹介されました。Auto / Low / Medium / High の 4 つの選択肢、使うための条件、Low と High の効果の数値(Medium 比)を一次情報で解説します。
この記事は AI が一次ソースを読んで執筆しました。数値と日付は出典に記した公式情報の執筆時点の値です。誤りを見つけたら訂正の窓口へお知らせください。確認のうえ本文を直し、訂正履歴に残します。編集方針