できること
Azure Static Web AppsにはPull Requestごとのステージング環境(Preview environments)が標準搭載されており、PRを開くと自動でプレビューURLが発行されます。相手がこのURLを開けばログイン不要で最新の変更を確認でき、コードレビューとビジュアルレビューを同時並行で進められます。
Azure Static Web AppsはMicrosoft Entra ID(旧Azure AD)・GitHub・Twitterによる認証をazurestaticwebapps.config.jsonに設定するだけで組み込めます。PCとスマホの両方でEntra IDログインを通じて閲覧できる状態を、カスタムコードなしで構築できます。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
できないこと
Azure Static Web AppsのプレビューURLにはパスワード保護の機能がなく、URLを知っていれば誰でも閲覧できます。Microsoftアカウントによる認証は設定できますが、特定のメールアドレスだけに絞るロール設定はazurestaticwebapps.config.jsonのロール管理と、ユーザーへのロール招待APIが必要で、設定の複雑さが増します。
閲覧期限の自動設定もAzure Static Web Apps標準機能には存在しません。プレビュー環境はPRがcloseまたはmergeされると削除されますが、PRを開いたままにしておく運用では永続するため、「期限を過ぎたら自動でアクセス不可」という要件を満たせません。
認証と期限の違い
「誰でも見てよい」コンテンツをAzure Static Web Appsで公開する場合、Bingのクローラーを含む検索エンジンがインデックスする可能性があります。azure static web appsのroutesの`routes`設定でrobots.txtを返すか、HTMLにnoindexタグを追加することで検索除外ができます。また、プレビュー環境のURLはデフォルトで`*.N.azurestaticapps.net`形式のため、推測は難しいですが完全な非公開にはなりません。
会社内だけに限定したい場合、Entra IDと条件付きアクセスポリシーを組み合わせれば特定テナントのユーザーのみに制限できます。ただしこの設定はAzure ADの管理者権限が必要で、IT部門の協力が必要です。認証付き共有サービスのドメイン認証は管理者権限なしに送り手だけで設定できるため、外部向けには圧倒的に手軽です。
- 誰でも見てよい: URL共有のみでもよいが、検索除外は確認する
- 特定の相手だけ: パスワードまたはメール認証を使う
- 会社内だけ: 会社ドメイン認証を検討する
- 短期レビュー: 期限を設定して古いURLを残さない
差し替え・レビュー運用
Azure Static Web AppsではPRへのpushが来るたびにプレビュー環境が自動更新されます。「修正後も同じURLで確認できる」ことをレビュワーに伝えれば、PRがオープンな間は常に最新版が同URLで見られます。レビューの途中で複数回の修正が入る案件では、この自動更新が確認サイクルをスムーズにします。
最終版と途中版の混在を防ぐには、PRの「Changes requested」から「Approved」に変わったタイミングを最終確認の証跡として活用します。GitHub/Azure DevOpsのPRコメントにスクリーンショットを添付する運用と組み合わせると、「誰がいつ何を確認したか」の記録が残り、特に承認フローが複数段階ある案件で役立ちます。
- 確認してほしい観点を3つ以内に絞る
- 期限と返信先を明記する
- 修正後も同じURLで見られるか伝える
- 最終版と途中版が混ざらないようタイトルを付ける
向いているケース早見表
Azure Static Web Appsが向いているのは、Azure DevOpsまたはGitHubでCI/CDを運用しており、社内のMicrosoftアカウントを持つメンバーだけがレビューに関わるケースです。Entra IDとの統合により、社内ユーザーのアクセス管理が組織のAD設定と連動します。
認証付きHTML共有サービスが向いているのは、Microsoftアカウントを持たない外部クライアントや取引先に共有する場合、またはAzureの管理者権限なしに非エンジニアのディレクターがレビューURLを独立管理したい場合です。Azureのコンソールを触らずにURLとパスワードだけで完結する操作性は、非技術者の自立的な運用を可能にします。
よくある質問
Azure Static Web AppsのプレビューURLはどのくらいの数まで同時に存在できますか?
Free プランでは最大3つ、Standard プランでは最大10のプレビュー環境を同時に持てます。超過すると古いプレビュー環境が削除されるため、並行して複数PRのレビューを行う場合はStandardプランへの変更を検討してください。
Azure Static Web AppsのEntra ID認証を設定した場合、レビュワーのMicrosoftアカウントが個人用(outlook.com)でも使えますか?
azurestaticwebapps.config.jsonでEntra IDプロバイダーを設定した場合、会社テナントのアカウントに絞るかどうかはロール設定次第です。デフォルトでは個人のMicrosoftアカウント(outlook.com)でもログインできてしまうため、テナントIDを指定した制限が必要です。
Azure Static Web AppsとSlack・Teamsを連携して、プレビュー環境のURLをデプロイ完了時に自動通知することはできますか?
GitHub ActionsまたはAzure DevOpsパイプラインのデプロイ完了ステップにSlack/Teams通知を追加することで実現できます。デプロイアクションの出力からプレビューURLを取得してメッセージに埋め込む設定が一般的です。