オンプレシステムの Azure 移行計画(NIST/Entra ID 準拠)
- 山崎行政書士事務所
- 2025年9月14日
- 読了時間: 12分

策定部門:情報システム本部 セキュリティ・アーキテクチャ
参照規格:
NIST Cybersecurity Framework v1.1(Identify/Protect/Detect/Respond/Recover)
NIST SP 800‑53 Rev.5(AC, AU, CM, CP, IA, IR, PL, SA, SC, SI ほか)
NIST SP 800‑63 Digital Identity Guidelines(IAL/AAL/FAL)
エグゼクティブサマリー
目的オンプレ環境を Microsoft Azure に計画的に移行し、NIST CSF v1.1/SP 800‑53 Rev.5のコントロールをMicrosoft Entra IDを中核に実装。統制の標準化/可用性・DR 強化/FinOps によるコスト最適化を同時達成する。
アプローチ(Landing Zone 先行)まず Azure Landing Zone(CAF)でManagement Group(MG)階層、Azure Policy、命名・タグなどのガードレールを敷設。次に、ID/MFA/条件付きアクセス/PIM、ネットワーク(Hub‑Spoke、Private Link、WAF/Firewall)、データ保護(CMK/BYOK/Key Vault)、**監視(Microsoft Sentinel/Defender for Cloud)**を段階的に導入。
セキュリティ既定値(レビュー承認対象・12項目)
MG/サブスク:Allowed locations(JP)、Public IP 新規作成禁止、タグ必須
Entra ID:全管理者 PIM+MFA(Authenticator もしくは FIDO2)、レガシー認証遮断
Break‑glass2 アカウント(MFA免除・金庫保管・四半期演習)
ネットワーク:Hub‑Spoke、Private Link/Private DNS 既定、必要に応じ DDoS Standard
境界:Application Gateway WAF_v2(Prevention/最新 CRS)、必要に応じ Azure Firewall
暗号化:SSE with CMK(Key Vault/Managed HSM)、TDE/Always Encrypted
キー運用:ローテ 6–12 か月、Private Endpoint、Key Vault 監査ログ送信
ログ:Activity/Resource/Entra/NSG/WAF/Firewall → Log Analytics(Hot 90 日+Archive 年単位)+ Immutable
Defender for Cloud:全プラン評価・是正 SLA 化
レジリエンス:ASR/Backup、Soft Delete/MUA、半期 Test Failover
CI/CD:IaC(Bicep/Terraform)+PR レビュー、ACR スキャン/署名イメージのみ許可
FinOps:タグ/予算/アラート、RI/SP、停止自動化、月次レビュー
ガバナンス承認事項(意思決定が必要)
データ所在地:Japan East/West 基本、DR の越境可否(SCC/DPA、CMK/BYOK)
認証強度:管理者 AAL3(FIDO2)、一般 AAL2
Public Endpoint:対象 PaaS は既定で無効(Private Link 前提)
ログ保持:Hot/Archive/Immutable の期間とコスト上限
PIM:承認要否、最大有効化時間(例 2 時間)、理由/チケット必須
DR:RTO/RPO 指標(例 1h/15m)と演習頻度
0–90 日ロードマップ
0–30 日:Landing Zone/ID 強化(MFA/CA/PIM)/WAF・Private Link 基準化
31–60 日:優先システム PoC(ネットワーク/データ/ログ)/ASR/Backup 設計
61–90 日:本番第1群移行/Sentinel 検知・Playbook 稼働/FinOps 運用開始
目次(改訂版)
背景と適用範囲
移行判断フレーム(Lift & Shift / Re‑platform / Cloud‑native)
ランディングゾーン & ガバナンス(CAF)
アーキテクチャ設計 4.1 ネットワーク(VNet/NSG/Private Link/VPN/ER) 4.2 ID & アクセス(Entra ID, MFA, 条件付きアクセス, PIM, AAL/IAL/FAL) 4.3 データ & 暗号化(Key Vault/HSM, BYOK/CMK, TDE/Always Encrypted) 4.4 ワークロード(IaaS, App Service, AKS, Functions, ファイル移行) 4.5 Web/境界(WAF_v2, Firewall, DDoS)
運用・監視・レジリエンス(Defender, Sentinel, ログ, ASR/Backup)
法務・規制対応(APPI/GDPR/SCC, 業種別, 契約/SLA/DPA)
監査・証跡・内部統制(AU/AC/CM 連携、エビデンス設計)
FinOps / コスト最適化
移行計画(0–90/180 日)と組織体制(RACI/連絡網/Go‑NoGo)
付録(Policy 雛形、CA/PIM、KQL/Playbook、IaC スターター、用語集、旧→新対応)
1. 背景と適用範囲
1.1 目的・スコープ
オンプレ資産(アプリ/DB/ファイル/ID 基盤)を Azure へ移行し、NIST 準拠の統制を標準化。
企画・設計・実装・運用・監査までを一貫ガイド。対象:全社基幹・社内業務システム。
1.2 参照フレーム
NIST CSF v1.1:ID/PR/DE/RS/RC のライフサイクル。
NIST SP 800‑53 Rev.5:AC, AU, CP, IA, SC 等のコントロール。
NIST SP 800‑63:AAL/IAL/FAL を Entra ID 設計に反映。
2. 移行判断フレーム(Lift & Shift / Re‑platform / Cloud‑native)
2.1 選定マトリクス(例)
期間優先 → Lift & Shift(IaaS)
運用軽量化/弾力性 → Re‑platform(PaaS)
将来性/スケール → Cloud‑native(AKS/Functions)
2.2 優先順位付け
機密度/可用性/レガシー度でスコアリング → フェーズ移行。
依存関係(AD/DB/バッチ/ネットワーク)を移行単位にまとめる。
3. ランディングゾーン & ガバナンス(CAF)
3.1 MG/サブスク構造
Root MG → 事業部 MG → Dev/Test/Prod サブスク。
Hub‑Spoke(Hub=共通 NW・Firewall・Bastion、Spoke=アプリ)。
3.2 命名・タグ・Policy
命名:<svc>-<env>-<region>-<seq>、タグ:owner, costCenter, environment 必須。
Policy:Allowed locations(JP)/Public IP 新規作成禁止/タグ必須/Private Endpoint 要求。
Template Specs + Azure Policyで Blueprint 代替。
3.3 ゼロトラスト基盤
Private Link+Private DNS 既定、Public Endpoint は明示例外のみ。
DDoS Standard(公開ワークロード)、WAF/Firewall 中央管理。
4. アーキテクチャ設計
4.1 ネットワーク(VNet/NSG/Private Link/VPN/ER)
VNet/CIDR:オンプレ重複回避、用途別サブネット(Web/App/DB/Mgmt)。
NSG/ASG:最小権限(Allow 最小、既定 Deny)。Flow Logs v2 を Log Analytics。
Azure Firewall(必要時 Premium):Outbound 制御、IDPS/TLS Inspection、DNAT 集約。
Application Gateway WAF_v2:CRS 最新、Prevention、E2E TLS 可、Autoscale。
ハイブリッド:Site‑to‑Site VPN(AES256/SHA256/IKEv2、Active‑Active/BGP)、高帯域は ExpressRoute(冗長回線・Route Filter)。
NIST 対応例
4.2 ID & アクセス(Entra ID, MFA, 条件付きアクセス, PIM, AAL/IAL/FAL)
ハイブリッド ID
Entra Connect:OU/グループで同期範囲を絞る。認証:Password Hash Sync(既定)または PTA。AD FS は要件がある場合のみ。
同期間隔:既定 30 分(要件次第)。退職者自動無効化(AC‑2)。
認証強度(SP 800‑63B 準拠)
一般:AAL2(Authenticator or SMS/Voice を可だが推奨は Authenticator/FIDO2)。
管理者:AAL3 相当(FIDO2 または Windows Hello for Business)。
Break‑glass:2 アカウント(MFA 免除、保管手順、四半期演習、即時アラート)。
条件付きアクセス(最小セット)
全管理者:全アプリ+MFA 必須、サインインリスク中以上ブロック。
全ユーザー:レガシー認証遮断、未知国/非準拠端末は MFA/ブロック。
例外(業務要件)はレビュー台帳で管理。
PIM(特権の JIT 化)
すべての特権ロールは Eligible、承認+MFA、最大 2 時間、理由/チケット必須、アクティベーション通知。
監査ログは Log Analytics/SIEM 保管(AU ファミリ)。
フェデレーション(FAL)
OIDC/SAML 連携は署名/暗号化を既定。トークン寿命と CAE(継続的アクセス評価)適用。
4.3 データ & 暗号化(Key Vault/HSM, BYOK/CMK, TDE/Always Encrypted)
Key Vault(Premium/Managed HSM)
Private Endpoint+Firewall で閉域化。RBAC ベース、職務分離(Crypto Officer/Reader)。
CMK/BYOK:RSA 2048+、ローテ 6–12 か月、監査ログ送信。
Immutable 証跡:重要イベントは WORM 保管。
保存時暗号化(SC‑13/SC‑28)
SSE with CMK(Storage/Disks/Cosmos/Key‑managed)。
Azure SQL:TDE 既定、列機密は Always Encrypted。
伝送は TLS1.2+/Private Link で閉域。
4.4 ワークロード(IaaS, App Service, AKS, Functions, ファイル移行)
IaaS(Lift & Shift)
VM:Availability Set/Zones、Azure Disk Encryption、Update 管理、Defender for Servers。
移行:Azure Migrate/ASR。OS/ミドルは最新化。
PaaS/Serverless(Cloud‑native)
App Service:VNet 統合+Private Link、診断ログ→LA、Managed Identity。
AKS:Private Cluster、ACR スキャン、HPA、Pod から外部は Firewall 経由。
Functions:コンシュンプション/Premium、VNet 統合、キー・接続文字列は Key Vault 参照。
ファイル移行(Azure Files / Azure NetApp Files)
Azure Files(SMB/NFS):AD DS 統合(ACL 引継ぎ)、Azure File Sync で段階移行。
ANF:高性能要件、SnapMirror 連携、NFS エクスポートポリシー。
4.5 Web/境界(WAF_v2, Firewall, DDoS)
Application Gateway WAF_v2:CRS 最新、Prevention、Listener(HTTPS/SNI/Key Vault 証明書)、E2E TLS(要件次第)。
Azure Firewall Premium:Outbound FQDN 制御、IDPS/TLS 検査、DNAT 集約。
DDoS Standard:Public エンドポイント公開時は適用検討。
ログ:Access/WAF/Firewall を LA→Sentinel で相関。
5. 運用・監視・レジリエンス
5.1 Microsoft Defender for Cloud
プラン有効化(Servers/App Service/SQL/Storage/AKS)。
推奨事項を是正 SLAに落とし込み(例:高 7 日、中 30 日)。
JIT VM アクセス、脆弱性評価、CIS 基準のコンプライアンスビュー。
5.2 Microsoft Sentinel(SIEM/SOAR)
データコネクタ:Azure Activity/Entra Sign‑in & Audit/M365/Defender/NSG/WAF/Firewall。
KQL 検知(付録 D):
異常な特権ロール付与/大量失敗サインイン/Impossible Travel/Key Vault 大量取得/NSG ルール変更。
Playbook(Logic Apps):高深刻度は Teams/メール/Pager、チケット発行、場合により CA ポリシー切替。
5.3 ログ保持・コスト設計
Hot 90 日+Archive 1–5 年+Immutable(監査要件に合わせ調整)。
データ集約ルール/テーブルレベル保持でコスト最適化。
5.4 可用性/DR(CP ファミリ)
RTO/RPO 定義(重要系:RTO 1h/RPO 15m 例)。
Azure Site Recovery(テスト/計画/非計画 FO)、Azure Backup(Soft Delete/MUA、PITR)。
半期 Test Failover/年次 DR 計画レビュー(RC.IM)。
6. 法務・規制対応(APPI/GDPR/SCC, 業種別, 契約/SLA/DPA)
6.1 データ所在地・越境
基本:Japan East/West。DR で越境する場合はSCC/DPA整備と補完的措置(CMK/BYOK, Key Vault/HSM, 伝送暗号)。
プライバシーポリシーに国外移転の可能性と保護措置を明記。
6.2 業種別ガイドライン
金融(FISC):アクセス制御、監査、DR の厳格化。
医療(HIPAA 相当)/EC(PCI DSS)/教育(FERPA)/製造(NIST 800‑82/IEC 62443)等、該当要件を上乗せ。
6.3 Shared Responsibility / 契約
事業者と利用者の責任分界(IaaS/PaaS/SaaS)。
SLA(可用性)とDPA(データ処理)を契約レビューに組み込む。
監査レポート(SOC2 Type II / ISO 27001)の取得・提示プロセス。
7. 監査・証跡・内部統制
7.1 証跡標準
「誰が/いつ/何を/どこから」:Azure Activity、Resource Logs、Entra Sign‑in/Audit、Key Vault、NSG/WAF/Firewall。
変更管理(IaC+PR レビュー)、特権操作(PIM 活動ログ)は必須エビデンス。
7.2 監査対応プロセス
収集→保管(Hot/Archive/Immutable)→提示(ダッシュボード/エクスポート)。
監査人向けクエリ/KPI(付録 D の KQL を活用)。
7.3 CSF マッピング(例)
8. FinOps / コスト最適化
タグ/予算/アラート:owner/costCenter/environment に紐づけ。
RI/Savings Plans、サイズ適正化、スケジュール停止、自動ライフサイクル。
ログコスト:テーブル保持差別化/アーカイブ/検索最適化。
月次レビュー:上位 10 コストリソース、改善アクション、TCO トレンド。
9. 移行計画(0–90/180 日)と組織体制
9.1 マイルストーン(例)
M1(30 日):Landing Zone 完了、ID 強化、ポリシー稼働。
M2(60 日):PoC 完了、ASR/Backup 設計、Sentinel 初期検知。
M3(90 日):第1群本番移行、Playbook 稼働、FinOps 運用開始。
M4(180 日):主要システム移行完了、DR 演習、監査レビュー。
9.2 体制(RACI)
Responsible:クラウド基盤/ワークロードチーム
Accountable:CISO/CIO
Consulted:法務・監査・CSIRT・事業部
Informed:経営会議/関係部門
9.3 Go/No‑Go
ポリシー準拠率、脆弱性是正率、性能・耐障害性テスト合格、DR 演習、バックアウト手順。
10. 付録
付録 A:Azure Policy 雛形(抜粋・レビュー用)
A‑1. リージョン制限(Allowed locations)(Deny)
{
"properties": {
"displayName": "Allowed locations (Japan only)",
"policyType": "Custom",
"mode": "All",
"parameters": {
"listOfAllowedLocations": {
"type": "Array",
"metadata": { "description": "Allowed Azure regions" },
"allowedValues": [ "japaneast", "japanwest" ],
"defaultValue": [ "japaneast", "japanwest" ]
}
},
"policyRule": {
"if": {
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
"then": { "effect": "Deny" }
}
}
}
A‑2. タグ必須(owner/costCenter/environment)(Deny)
{
"properties": {
"displayName": "Require tags: owner, costCenter, environment",
"policyType": "Custom",
"mode": "Indexed",
"policyRule": {
"if": {
"anyOf": [
{ "field": "tags.owner", "exists": false },
{ "field": "tags.costCenter", "exists": false },
{ "field": "tags.environment", "exists": false }
]
},
"then": { "effect": "Deny" }
}
}
}
A‑3. Public IP 新規作成の禁止(Deny)
{
"properties": {
"displayName": "Deny new Public IP",
"policyType": "Custom",
"mode": "All",
"policyRule": {
"if": {
"field": "type",
"in": [
"Microsoft.Network/publicIPAddresses",
"Microsoft.Network/loadBalancers/publicIPAddresses"
]
},
"then": { "effect": "Deny" }
}
}
}
A‑4. PaaS の Private Endpoint 要求(例:Storage/Key Vault/SQL)(Deny/DeployIfNotExists は要検討)
{
"properties": {
"displayName": "Require Private Endpoint for Storage/KeyVault/SQL",
"policyType": "Custom",
"mode": "All",
"policyRule": {
"if": {
"anyOf": [
{ "field": "type", "equals": "Microsoft.Storage/storageAccounts" },
{ "field": "type", "equals": "Microsoft.KeyVault/vaults" },
{ "field": "type", "equals": "Microsoft.Sql/servers" }
]
},
"then": { "effect": "Deny" }
}
}
}
運用注記:A‑4 は「Public access 禁止/PE 以外拒否」の組み合わせで運用。サービス別の既定値に合わせ最終化。
付録 B:条件付きアクセス/PIM/Break‑glass(運用雛形)
B‑1. 条件付きアクセス(ベースライン)
ポリシー名:Admin‑AllApps‑RequireMFA
対象:全管理者(組み込み/特権ロール)
クラウドアプリ:すべて
アクセス制御:MFA 必須、Session:Sign‑in frequency 12h
ポリシー名:Users‑BlockLegacyAuth
対象:全ユーザー
条件:レガシー認証=ブロック
ポリシー名:Users‑Risk‑MFAorBlock
Sign‑in リスク:中以上 → MFA、高 → Block(運用で決定)
B‑2. PIM 設定(例)
対象ロール:Global/Privileged Role Admin、Subscription Owner 等
Eligible:既定。承認/MFA 必須、最大 2 時間、理由/チケ番号必須、メール通知。
レポート:月次レビュー、異常活性化の Sentinel 検知。
B‑3. Break‑glass 運用
アカウント:2 件、強力パスフレーズ、CA 除外、緊急時以外利用禁止。
保管:金庫+封印、利用記録、四半期演習(ログ確認・復帰テスト)。
付録 C:キー管理・ログ保持・DR(推奨パラメータ)
Key Vault/CMK
SKU:Premium/Managed HSM、Private Endpoint。
ローテ:6–12 か月、EOL 前通知、旧版保持 30–90 日。
監査:全イベントを Log Analytics、重要操作は Immutable。
ログ保持(例)
Entra Sign‑in/Audit:Hot 90 日、Archive 1–3 年
Activity/Resource:Hot 90 日、Archive 1–5 年(WORM)
NSG/WAF/Firewall/Key Vault:Hot 90–180 日、Archive 1–3 年
DR/Backup
RTO/RPO:重要系 1h/15m、一般 4h/1d
ASR:テスト/計画/非計画 FO、Recovery Plan(DB→App→Web)
Backup:Soft Delete 有効、MUA、PITR、半期リストア演習
付録 D:Sentinel KQL(検知例)& Playbook 概要
D‑1. 新規特権ロール付与(高)
AuditLogs
| where OperationName =~ "Add member to role"
| where TargetResources has_any ("Global Administrator","Privileged Role Administrator")
| extend Actor = tostring(parse_json(InitiatedBy.user).userPrincipalName)
| summarize count() by Actor, TargetResources, bin(TimeGenerated, 1h)
D‑2. 失敗サインイン急増(中)
SigninLogs
| where ResultType !in ("0","50125")
| summarize Failed = count() by IPAddress, UserPrincipalName, bin(TimeGenerated, 5m)
| where Failed > 30
D‑3. Impossible Travel(中)
let window = 1h;
let threshold_kmh = 900.0;
SigninLogs
| where ResultType == "0"
| summarize makeset(LocationDetails) by UserPrincipalName, bin(TimeGenerated, window)
| // 実装では Geo と時差から推計(省略)
D‑4. Key Vault 秘密大量取得(高)
AzureDiagnostics
| where Category == "AuditEvent" and OperationName has "SecretGet"
| summarize c = count() by CallerIPAddress, identity, bin(TimeGenerated, 10m)
| where c > 50
D‑5. NSG ルール変更(中)
AzureActivity
| where OperationNameValue == "MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/SECURITYRULES/WRITE"
| project TimeGenerated, Caller, ResourceGroup, ActivityStatus, Properties
Playbook(SOAR)雛形
トリガ:高深刻度アラート
アクション:Teams/メール通知 → チケット発行 → 関連ログ自動クエリ →(任意)CA ポリシー強化 or アカウント一時ブロック → 事後サマリ送付。
付録 E:IaC スターター(Bicep/Terraform)
E‑1. Bicep(Log Analytics + Sentinel 有効化の器)
param location string = 'japaneast'
param laName string
param rgName string
resource la 'Microsoft.OperationalInsights/workspaces@2022-10-01' = {
name: laName
location: location
properties: { retentionInDays: 90, features: { enableLogAccessUsingOnlyResourcePermissions: true } }
}
resource si 'Microsoft.OperationsManagement/solutions@2015-11-01-preview' = {
name: 'SecurityInsights(' + la.name + ')'
location: location
properties: {
workspaceResourceId: la.id
containedResources: []
plan: { name: 'SecurityInsights', product: 'OMSGallery/SecurityInsights', publisher: 'Microsoft' }
}
}
E‑2. Terraform(Policy 割当の骨子)
provider "azurerm" {
features {}
}
variable "allowed_locations" { default = ["japaneast","japanwest"] }
resource "azurerm_policy_definition" "allowed_locations" {
name = "allowed-locations-jp"
policy_type = "Custom"
mode = "All"
display_name = "Allowed locations (JP only)"
policy_rule = jsonencode({
if = { field = "location", notIn = var.allowed_locations }
then = { effect = "Deny" }
})
}
resource "azurerm_policy_assignment" "allowed_locations" {
name = "pa-allowed-locations-jp"
display_name = "PA Allowed locations (JP only)"
policy_definition_id = azurerm_policy_definition.allowed_locations.id
scope = data.azurerm_subscription.current.id
}
注記:実運用では Management Group スコープで割当。Diagnostics/PE 強制/タグ必須などを加えたモジュール化を推奨。
付録 F:用語統一・略語
Microsoft Entra ID(旧 Azure AD)/Microsoft Entra PIM(旧 Azure AD PIM)
Microsoft Defender for Cloud(旧 Security Center)
Microsoft Sentinel(旧 Azure Sentinel)
PR.PT=Protective Technology(※CSF v1.1 準拠)
AAL/IAL/FAL(NIST SP 800‑63)
CMK/BYOK/Managed HSM/Private Link/CAE/PITR/WORM ほか本文準拠
付録 G:旧→新 章対応(移設マップ)
旧ドラフトの主題 | 新章 |
技術的側面 総論 | 4. アーキテクチャ設計(総論) |
ネットワーク(VNet/NSG/Firewall/WAF/VPN/ER) | 4.1 / 4.5 |
可用性・DR | 5.4 |
ID 管理・MFA(Entra Connect/CA/Identity Protection) | 4.2 |
特権アカウント管理(PIM) | 4.2(PIM 小節) |
Key Vault / 暗号化(CMK/BYOK/HSM/TDE) | 4.3 |
監査ログ・モニタリング(Sentinel/Defender/LA) | 5.1–5.3 / 7 |
データ移行・互換性(DMS/DMA/性能) | 4.4 |
ファイルサーバ移行(Azure Files/ANF/ACL) | 4.4 |
法務(越境/SLA/DPA/責任分担) | 6 |
具体的移行ステップ/RACI | 9 |
サブスクリプション構成/ガバナンス | 3 |
レビュー・承認チェックリスト(会議体用)
Baseline 12 項目を採択(差異は付録に記録)
データ越境方針(SCC/DPA・補完措置 CMK/BYOK)
認証強度(管理者 AAL3/FIDO2、一般 AAL2)
Private Link 既定化/Public Endpoint 無効の範囲
ログ保持(Hot/Archive/Immutable)と費用上限
PIM(承認/最大 2h/理由必須/通知)
DR(RTO/RPO)・演習頻度(半期)
FinOps(タグ/予算/RI&SP/停止自動化)
マイルストーン/Go‑NoGo 条件/RACI
最後に(運用の要点)
ガードレール先行(Policy/命名/タグ)で「設計どおりにしか作れない」基盤化。
ゼロトラスト(ID 中心・Private Link 既定・CA/PIM)でリスク最小化。
可観測性(Sentinel/Defender/Immutable)で監査容易性と応答力を両立。
FinOpsでコストの可視化と継続的最適化。




コメント