Azure サンドボックス
Azure サンドボックスは、1 つのサブスクリプションに共通の Azure サービスを実装するための相互依存クラウド コンピューティング構成のコレクションです。 このコレクションは、Azure のサービスや機能を試すための柔軟かつコスト効率の高いサンドボックス環境を提供します。
Azure オファーの種類とリージョンによっては、完全にプロビジョニングされた Azure サンドボックス環境の実行にコストがかかる場合があります。 使用していない場合に仮想マシン (VM) を停止または割り当て解除するか、使用する予定のないオプションの構成をスキップすることで、コストを削減できます。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
コンポーネント
次のサンドボックス構成のそれぞれをデプロイすることも、必要なものだけをデプロイすることもできます。
- 共有サービス仮想ネットワーク、 Azure Bastion、 Azure Firewall、Active Directory ドメイン コントローラー
- アプリケーション仮想ネットワーク、Windows Server ジャンプ ボックス、Linux ジャンプ ボックス、Azure Files 共有
- Azure Virtual Machines (VM) 上の SQL Server
- Azure SQL Database
- Azure Database for MySQL フレキシブル サーバー
- Azure Virtual WAN とポイント対サイト VPN
サンドボックスをデプロイする
Azure サンドボックス環境には、次の前提条件が必要です。
- Microsoft Entra ID テナント
- Azure サブスクリプション
- 適切な Azure ロールベースのアクセス制御 (RBAC) ロールの割り当て
- サービス プリンシパル
- 構成済みのクライアント環境
サンドボックス デプロイの準備方法について詳しくは、「前提条件」を参照してください。
AzureSandbox を Azure ランディング ゾーンと統合するには、次の戦略を検討してください。
- Sandboxes 管理グループにサンドボックス サブスクリプションを配置します。
- サンドボックスをプライベート ネットワークから分離しておきます。
- サンドボックス サブスクリプションのアクティビティを監査します。
- サンドボックスへのアクセスを制限し、不要になったら削除します。
- 有効期限が切れたらサンドボックスを廃止し、コストを管理します。
- コストを抑制するために、サンドボックス サブスクリプションの予算を作成します。
詳細については、「ランディング ゾーン サンドボックス環境」を参照してください。
Azure Sandbox をデプロイするには、AzureSandbox GitHub リポジトリに移動し、「作業の開始」から始めます。 サンドボックス環境をデプロイする方法の詳細については、「既定のサンドボックスのデプロイと既知の問題」を参照してください。
ユース ケース
サンドボックスは、Azure プロジェクトを加速させるのに最適です。 サンドボックス環境をデプロイした後、サービスや機能を追加することができます。 サンドボックスは、次のようなアクティビティに使用できます。
- 自己学習
- ハッカソン
- テスト
- 開発
- 机上演習
- レッド チーム/ブルー チームのシミュレーション
- インシデント対応練習
重要
Azure サンドボックスを運用環境に使用することは意図されていません。 デプロイにはいくつかのベスト プラクティスが使用されますが、シンプルさとコストを優先して意図的に使用されないものもあります。
機能
基本的な前提条件により、Azure の特定のサービスまたは機能の実験がブロックされる可能性があります。 サンドボックス環境では、日常的なコア インフラストラクチャ コンポーネントの多くがプロビジョニングされていることで、プロジェクトを加速させることができます。 作業に必要なサービスや機能に集中することができます。
たとえば、Azure サンドボックス環境で提供される次のような機能と構成を使用できます。
インターネットから Windows ジャンプ ボックス VM への接続。
- オプション 1: Web ブラウザーと Azure Bastion を使用したインターネット接続アクセス
- オプション 2: Virtual WAN 経由のポイント対サイト VPN 接続
事前構成済みの Active Directory Domain サービスのローカルドメインをドメインの管理者として使用します。
- 事前構成済みの統合 DNS サーバー
- Azure プライベート DNS ゾーンとの事前構成された統合
- Azure Private Link のプライベート エンドポイントとの事前構成された統合
Azure Files の事前構成済みファイル共有の使用。
開発者ワークステーションとしての Windows ジャンプボックス VM の使用。
- ドメインがローカル ドメインに参加
- プレインストールされた Windows Server Remote Server Administration Tools (RSAT) を使用して Active Directory と DNS を管理
- リモート SSH を使用して Linux ジャンプ ボックスにプレインストールされた Visual Studio Code
- プレインストールされた Azure Storage Explorer、AzCopy、Azure Data Studio
- プレインストールされた SQL Server Management Studio
- プレインストールされた MySQL Workbench
Linux ジャンプ ボックス VM を DevOps エージェントとして使用。
- Winbind を使用してドメインがローカル ドメインに参加
- プレインストールされた Azure CLI、PowerShell、Terraform
- Azure Files の事前構成済みファイル共有への動的 CIFS マウント
事前構成済みの SQL Server VM の使用。
- ドメインがローカル ドメインに参加
事前構成済みの SQL データベース、またはプライベート エンドポイントを介した Azure Database for MySQL フレキシブル サーバーの使用。
セキュリティ
セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの設計レビュー チェックリスト」を参照してください。
重要
サンドボックス環境は、悪用される可能性のある攻撃面を表します。 リスクを軽減するには、次のセキュリティのベスト プラクティスを検討してください。
サンドボックス環境のプロビジョニングに使用される Azure サブスクリプションに関連付けられた Microsoft Entra ID テナントに、強力な認証を実装します。 SE:05 - ID およびアクセス管理に関する推奨事項の推奨事項に従います。
- すべてのユーザーに多要素認証 (MFA) を使用します。
- 条件付きアクセス ポリシーを使用して、サンドボックス環境へのアクセスを制限します。
- 統合された Microsoft Entra 認証を使用して、SQL Database や Azure Storage のような Azure PaaS (サービスとしてのプラットフォーム) サービスへのアクセスを許可します。
サンドボックスの使用を許可するには、最小限の特権アプローチから始めます。
Owner
Azure RBAC ロールの割り当てをサンドボックス サブスクリプションの所有者に制限します。Contributor
Azure RBAC ロールの割り当てをサンドボックス サブスクリプションのユーザーに制限します。- Microsoft Entra Privileged Identity Management (PIM) を使用して、
Owner
、Contributor
、User Access Administrator
などのサンドボックス サブスクリプションを対象とした特権 Azure RBAC ロールの割り当てを管理します。
データ分類コンプライアンスを維持します。 たとえば、個人を特定できる情報 (PII) やその他の機密データをサンドボックス環境でホストしないようにします。 機密データを使用する必要がある場合は、合成データまたは識別されていないデータを使用します。
また、サンドボックス環境を設計して実装する際は、セキュア フューチャー イニシアティブの原則を考慮してください。 GitHub での AzureSandbox 実装では、これらの原則の多くが紹介されています。
設計によるセキュリティ保護
共有シークレットの使用を制限し、必要に応じて Azure Key Vault を使用して共有シークレットをセキュリティで保護します。 共有シークレットを使用する必要がある場合は、実行時にマネージド ID を使用して Key Vault から取得します。 シークレットを永続化する必要がある場合は、シークレットが暗号化されており、プレーン テキストに格納されていないことを確認します。 シークレットをコンソールやログ ファイルにエコーしたり、シークレットをソース管理にチェックインしたりしないでください。
Key Vault シークレットに有効期限を設定します。
VM のゲスト オペレーティング システム (OS) を選択する際は、現在サポートされており、セキュリティ更新プログラムを受け取る資格がある OS のみを使用します。
既定でのセキュリティ保護
- SE:07 - データ暗号化に関する推奨事項で推奨される暗号化を使用します。
- TLS 1.2 以降や SHA-256 以降など、暗号化のプロトコルとアルゴリズムが最新であることを確認します。
- 転送中のデータの暗号化には、ホスト暗号化または Azure Disk Encryption の使用を検討してください。 VM にアタッチされているマネージド ディスクの場合、データは既定で保存時に暗号化されます。
- パブリック IP アドレスをしないようにします。 VM への安全なリモート アクセスのために Azure Bastion を使用します。
- プライベート エンドポイントを使用して Azure サービスと通信します。
- Strage や SQL Database のような Azure サービスへのパブリック ネットワーク アクセスを無効にします。
- 既定の送信アクセスを無効にし、Azure Firewall 脅威インテリジェンス ベースのフィルター処理を使用します。
安全なオペレーション
サンドボックス サブスクリプションで Microsoft Defender for Cloud CSPM を有効にします。
サンドボックス環境で使用されているすべての VM で Azure Update Manager を有効にします。 定期的なパッチ適用スケジュールを設定します。
- SQL Server VM の場合は、Windows Update で ファーストパーティの更新プログラムを有効にして、SQL Server にパッチが適用されるようにします。
Azure Monitor と Microsoft Sentinel を使用して、アクティビティ ログと診断ログを監視します。
使用されなくなった個々のサンドボックス リソースとサンドボックス全体の使用を停止します。
共同作成者
この記事は、Microsoft によって保守されています。 当初の寄稿者は次のとおりです。
プリンシパル作成者:
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
- Azure での開発とテスト
- Microsoft クラウド導入フレームワーク
- クラウド導入フレームワーク Azure セットアップ ガイド
- Microsoft Azure Well-Architected Framework