できること
Azure Static Web AppsのプレビューURLは`staticwebapp.azure.com`ドメインのサブドメインとして発行されます。このURLをそのまま共有するだけで、相手がブラウザで開いてログインなしに表示を確認できます。PCとスマホでの表示確認も同じURLを各デバイスで開くだけで実施でき、Azure側に追加の設定は不要です。
内部情報の確認については、ビルド前にAzure Static Web Appsのアプリケーション設定(環境変数)でステージング用の変数を設定し、本番APIキーや社内エンドポイントがHTMLソースやJSに埋め込まれないようにすることが基本です。Azure Portalのアプリケーション設定からブランチ別の環境変数上書きができます。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
できないこと
Azure Static Web Appsのプレビュー環境では、アクセスしたIPアドレスやユーザー(非認証の場合)のログを標準機能で取得することができません。「Aさんが本当に確認したのか」を証明したい場合は、Application InsightsやAzure Monitorを追加連携してカスタムトラッキングを実装する必要があります。
外部のMicrosoftアカウントを持たないレビュワーに対して、Azure Static Web Appsの認証機能だけで制限をかけることは実質困難です。Anonymous(認証なし)のアクセスを許可するか、全員にMicrosoftアカウントを持ってもらうかの二択になり、中間の「パスワードだけで開ける」という設定は標準機能では実現できません。
認証と期限の違い
「誰でも見てよい」状態のプレビューURLは、URLの構造上は推測が難しいランダム文字列を含みますが、ソーシャルプレビュー(OGP)やSlack展開でURLが広まると第三者がアクセスできます。`staticwebapp.azure.com`ドメインのページはBingにインデックスされる可能性があるため、`<meta name="robots" content="noindex, nofollow">`の記述を忘れないようにしてください。
「特定の相手だけ」に限定したい社外レビューでは、Azure Static Web AppsのロールAPIを使ってレビュワーに招待リンクを送る方法があります。招待リンクからMicrosoftアカウントでログインすると特定ロールが付与され、そのロールを持つユーザーだけがページを閲覧できます。ただしレビュワー側のMicrosoftアカウントが前提条件になる点は変わりません。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
差し替え・レビュー運用
レビュー観点は「デザインの意図通りか・テキストに誤りがないか・リンクが正しく動作するか」に絞った3点で依頼すると、フィードバックが具体的になります。Azure Static Web AppsのプレビューURLを使う場合、「このPRがオープンな間は同URLで常に最新版が見られます」と説明しておくと、修正のたびにURLを再送する手間が省けます。
最終確認が完了したらPRをドラフト状態に変更するか、プレビュー環境を手動で削除することでアクセスを遮断します。「承認済みのURLが後から閲覧可能な状態で残る」リスクを排除するために、レビュー完了→PR承認→プレビュー削除という手順をチームのOperationガイドに明記しておくことを推奨します。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
向いているケース早見表
Azure Static Web Appsの社外レビューが向いているのは、取引先もMicrosoft 365を使っており、Entra IDアカウントで認証できる組織間連携(B2B)の場面です。外部ユーザーのゲストアカウントをAzure ADに追加することで、ロール制御付きの安全なアクセスが実現します。
Azureが向かないのは、レビュワーがMicrosoftアカウントを持っていない、または「5分でURLを発行してすぐ送りたい」という即時性が求められる場面です。認証設定やロール招待の手順が必要になるAzureに対し、専用の共有サービスはアップロードと同時にURLが発行されるため、スピード感が全く異なります。
よくある質問
Azure Static Web Appsのプレビュー環境は本番環境と同じデータベースに接続しますか?
Azure Static Web AppsのAPIはブランチ別の環境変数を設定できるため、プレビュー環境では別のデータベース接続文字列を指定することが可能です。意図せず本番DBに接続しないよう、ステージング用の接続文字列をブランチ環境変数に設定してください。
社外レビュワーにAzure ADゲストアカウントを発行する際、セキュリティ上の注意点はありますか?
ゲストアカウントはデフォルトで一部の組織ディレクトリ情報を参照できます。最小権限の原則に従い、ゲスト招待時のデフォルトロールを「Guest」に設定し、Static Web Appsのロール以外の権限は付与しないようにします。
Azure Static Web AppsのプレビューURLをPRコメントに自動投稿する設定はどのようにすれば実現できますか?
GitHub Actionsで`azure/static-web-apps-deploy@v1`アクションを使うとデプロイ後にPRコメントへのURL自動投稿が標準サポートされています。`output_location`と`app_location`を正しく設定すれば、PRにデプロイURLが自動でコメントされます。