Vercel、独自 ID プロバイダーによるデプロイ保護機能「Passport」を一般提供
本文の状態
日本語全文を表示中
詳細モードで約3分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Vercel Blog
Vercel は Passport を一般提供開始し、OIDC プロバイダーを用いてデプロイメントへのアクセス制限と身元情報の利用を可能にする。
AI深層分析を開く2026年7月31日 22:31
AI深層分析
キーポイント
独自アイデンティティによるデプロイ保護
Vercel Passport は Okta や Microsoft Entra ID などの OIDC プロバイダを介して訪問者を認証し、検証済みの署名付きトークンをアプリケーションへ転送することで、デプロイメントのセキュリティを強化する。
検証済みアイデンティティのコード内利用
@vercel/passport に含まれる getIdentity() ヘルパーは、クライアントが提供した値を排除し、Vercel が検証したトークンから安定した識別子や外部 ID を返すため、開発者は信頼できるユーザー情報を直接取得できる。
グループ権限の付与と後続サービスへの転送
署名付きトークンはグループメンバーシップなどの追加クレームを含めることが可能で、JavaScript 以外のバックエンドでも標準 JWT として検証可能なため、階層的なアクセス制御やマイクロサービス間の信頼連携が容易になる。
監査ログと自動化トラフィックのバイパス
認証成功は Activity Log および Audit Logs に記録され、Webhook や CI 実行などの自動化トラフィックについては、既存のバイパスシークレットを用いて Passport の保護を迂回する機能が維持される。
自動化の保護バイパス対応
Webhook や CI 実行など既存の自動化ワークフローは、x-vercel-protection-bypass ヘッダーまたはクエリパラメータに秘密鍵を含めることで Passport 有効後も動作を継続できる。
重要な引用
Visitors authenticate through Okta, Microsoft Entra ID, or any OIDC provider before viewing a protected deployment
Vercel strips client-supplied values for the x-vercel-oidc-passport-token header and injects the verified token after Passport validates the session
Every successful Passport authentication records a passport-access-granted event in both the Activity Log and Audit Logs
Trusted Sources offers the same bypass without a shared secret.
編集コメントを表示
編集コメント
Vercel は開発者体験の向上だけでなく、エンタープライズレベルのセキュリティ要件にも応える機能を強化している。特に、外部プロバイダとの連携を標準化し、コード内での信頼性ある認証処理を提供する点は、現代のクラウドネイティブ開発において極めて実用的である。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Vercel Passport の一般提供が開始されました。
Passport を利用すると、独自の ID プロバイダーを使用して Vercel デプロイメントを保護できます。訪問者は Okta、Microsoft Entra ID、または任意の OIDC プロバイダーを通じて認証され、保護されたデプロイメントへのアクセスが可能になります。その後、Vercel は署名付きのアイデンティティトークンをデプロイメントへ転送し、アプリケーションコードは訪問者の身元情報を基に処理を進めることができます。
アプリケーションコードで訪問者IDを取得する
@vercel/passport に含まれる getIdentity() ヘルパー関数は、Vercel のリクエストコンテキストを読み取り、認証された訪問者を返します。Vercel はクライアントが提供した x-vercel-oidc-passport-token ヘッダーの値を削除し、Passport がセッションを検証した後、検証済みのトークンを注入します。そのため、コードが受け取る身元情報はすでに検証済みです。
subject フィールドは、訪問者向けの安定した識別子であり、あなたのチームと Passport を ID プロバイダーにリンクさせる Vercel Connect アプリケーションの範囲内に限定されます。一方、externalSubject はプロバイダー側で管理される訪問者のID です。このヘルパー関数が null を返すのは、Passport セッションを伴わないリクエストが到着した場合のみです。認証されていないブラウザからの訪問者は、コードに到達する前に ID プロバイダーへリダイレクトされるためです。
ローカル開発環境では、getIdentity() は設定可能な開発用アイデンティティを返します。これにより、実際の ID プロバイダーが存在しなくても、同じコードパスで動作させることが可能です。
ID プロバイダーのグループを使用した権限管理
署名済み Passport トークンには、プロバイダーからの追加のアイデンティティ主張(例:グループ所属)を含めることが可能になりました。Passport が使用する Vercel Connect アプリケーションで「groups」スコープをリクエストし、その主張を許可リストに追加した上で、アイデンティティペイロードから読み取ってください。
追加のアイデンティ蒂斯コープに関するドキュメントには、プロバイダーの設定方法や Okta の完全な手順解説も含まれています。
下流サービスでのアイデンティティ検証
アプリケーションから Passport トークンをベアータークンとして別のバックエンドへ転送し、そこで @vercel/passport 1.0.0 以降で利用可能な verifyIdentity() を使用して検証します。このヘルパー関数は、トークンの署名、Passport の主張、そしてトークンが期待通りのプロジェクトおよび環境から発行されたものであることを確認します。
JavaScript 以外のサービスでも、公開されている JWKS を用いて標準的な JWT としてトークンを検証できます。詳細は「アイデンティティの検証」ドキュメントをご覧ください。
Passport アクセスの監視
Passport 認証が成功するたびに、「passport-access-granted」というイベントが Activity Log および Audit Logs に記録されます。これには、訪問者の識別情報と保護されたホスト名、プロジェクト名が含まれます。Activity Log のビューは既に Passport へのアクセスにフィルタリングされています。
自動トラフィック用の Passport バイパス
詳しく読む
原文を表示
Vercel Passport is now generally available.
Passport allows you to protect your Vercel deployments with your own identity provider. Visitors authenticate through Okta, Microsoft Entra ID, or any OIDC provider before viewing a protected deployment, and Vercel forwards a signed identity token to the deployment so application code can build on who the visitor is.
Read visitor identity in application code
The getIdentity() helper in @vercel/passport reads the Vercel request context and returns the authenticated visitor. Vercel strips client-supplied values for the x-vercel-oidc-passport-token header and injects the verified token after Passport validates the session, so the identity your code receives is already verified.
The subject field is a stable identifier for the visitor, scoped to your team and the Vercel Connect application that links Passport to your identity provider, and externalSubject is the visitor's ID in the provider itself. The helper returns null only when a request arrives without a Passport session, because unauthenticated browser visitors are redirected to the identity provider before they ever reach your code.
In local development, getIdentity() returns a configurable development identity, so the same code path works without a real identity provider.
Authorize with groups from your identity provider
The signed Passport token can now carry additional identity claims from your provider, such as group membership. Request the groups scope and allowlist the claim in the Vercel Connect application that Passport uses, then read it from the identity payload:
The additional identity scopes documentation covers provider configuration, including a full Okta walkthrough.
Verify identity in downstream services
Forward the Passport token from your application to another backend as a bearer token and verify it there with verifyIdentity(), available in @vercel/passport 1.0.0 and later. The helper checks the token signature, the Passport claims, and that the token came from the expected project and environment:
Services outside JavaScript can verify the token as a standard JWT with the published JWKS. Learn more in the verify identity documentation.
Monitor Passport access
Every successful Passport authentication records a passport-access-granted event in both the Activity Log and Audit Logs, identifying the visitor and recording the protected hostname and project. The Activity Log view is already filtered to Passport access.
Bypass Passport for automated traffic
Protection Bypass for Automation now applies to Passport. Webhooks, cron jobs, and CI runs that already send a bypass secret in the x-vercel-protection-bypass header or query parameter keep working when you turn Passport on. Because Passport runs in Vercel's network before your deployment's routes and proxy functions, the secret has to be part of the original request rather than added by your own middleware. A bypassed request has no signed-in visitor, so getIdentity() returns null.
Bypass Passport with Trusted Sources
Trusted Sources offers the same bypass without a shared secret. Protected deployments accept short-lived OIDC tokens from the Vercel projects and external services you authorize, which is how the workflow that triggers eve from Slack reaches a Passport-protected deployment.
Protect custom environments
Passport now supports custom environments, so deployments in an environment like staging or qa get the same identity provider sign-in as your preview and production deployments.
Get started
Vercel Passport is available on the Enterprise plan. New guides cover identity provider setup, token claims, local development, forwarding identity between backends, and bypassing Passport for automation.
Set up Passport with your identity provider in the Passport documentation, or configure it programmatically through the Vercel API.
Read more
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み