Data/Locales/checks/ja/AzureIAMChecks.json

{
  "_family": "AzureIAMChecks.json",
  "AZIAM-001": {
    "name": { "value": "サブスクリプションレベルのロール割り当ての監査", "status": "machine-draft" },
    "description": { "value": "サブスクリプションレベルのロール割り当ては、サブスクリプション内のすべてのリソースにわたる広範なアクセス許可を付与します。このスコープで過度に緩い割り当てや使われていない古い割り当てがあると、横方向の移動や機密性の高いワークロードへの不正アクセスを許す可能性があります。定期的な監査により、認可された担当者だけがサブスクリプション全体の権限を保持し続けることを保証します。", "status": "machine-draft" },
    "recommendedValue": { "value": "サブスクリプションレベルのロール割り当てを最小限にし、リソースグループレベルまたはリソースレベルのスコープを優先する", "status": "machine-draft" },
    "remediationSteps": { "value": "Azure IAM 内のすべてのサブスクリプションレベルのロール割り当てを確認し、使われていない古いもの、不要なもの、過度に広範なものを削除します。可能な場合はリソースグループレベルまたは個々のリソースレベルでアクセス許可を再割り当てします。サブスクリプションスコープのロールについて、Azure AD Access Reviews を使用した四半期ごとの定期的なアクセスレビューを実施します。", "status": "machine-draft" }
  },
  "AZIAM-002": {
    "name": { "value": "リソースに直接 Azure IAM ロールが割り当てられたユーザー", "status": "machine-draft" },
    "description": { "value": "Azure リソース上の個々のユーザーへの直接的なロール割り当ては、グループベースのアクセスガバナンスを迂回し、アクセス許可の追跡を困難にします。この運用は、ユーザーが役割を変更したり組織を離れたりした際に取り残されたアクセス許可が生じるリスクを高めます。グループベースの割り当ては、監査性とライフサイクル管理の面でより優れています。", "status": "machine-draft" },
    "recommendedValue": { "value": "個々のユーザーに直接ではなく、Azure AD グループにロールを割り当てる", "status": "machine-draft" },
    "remediationSteps": { "value": "Azure Resource Graph または IAM ブレードを使用して、ユーザーからリソースへの直接的なロール割り当てをすべて特定します。各アクセスパターンに対応する適切な Azure AD セキュリティグループを作成し、個々の割り当てをグループベースの割り当てへ移行します。グループのメンバーシップが同等のアクセスを付与することを確認したうえで、直接的なユーザー割り当てを削除します。", "status": "machine-draft" }
  },
  "AZIAM-003": {
    "name": { "value": "リソースグループのアクセス許可の分析", "status": "machine-draft" },
    "description": { "value": "リソースグループは Azure リソースの論理的なコンテナーとして機能し、その IAM 割り当ては含まれるすべてのリソースへ継承されます。リソースグループのアクセス許可の構成を誤ると、データベース、キーコンテナー、仮想マシンなどの機密性の高いリソースへのアクセスを意図せず付与する可能性があります。これらのアクセス許可を分析することで、最小権限の原則を一貫して適用できます。", "status": "machine-draft" },
    "recommendedValue": { "value": "業務上の正当性を文書化したうえで、リソースグループレベルで最小権限のロール割り当てを適用する", "status": "machine-draft" },
    "remediationSteps": { "value": "Get-AzRoleAssignment を使用して各リソースグループのロール割り当てをすべて列挙し、広範なグループに付与された所有者ロールや共同作成者ロールなどの過剰なアクセス許可がないか確認します。過度に緩いロールを、閲覧者や特定のリソースプロバイダーロールなど、より限定された組み込みロールへ格下げします。各リソースグループのロール割り当てについて業務上の正当性を文書化し、定期的なレビューを予定します。", "status": "machine-draft" }
  },
  "AZIAM-004": {
    "name": { "value": "Azure Key Vault アクセスポリシーの監査", "status": "machine-draft" },
    "description": { "value": "Azure Key Vault は、アプリケーションのセキュリティとデータ保護に不可欠な暗号鍵、シークレット、証明書を保存します。過度に緩いアクセスポリシーは、シークレットを不正なユーザーやサービスプリンシパルに露出させ、資格情報の窃取やデータ侵害につながる可能性があります。最小権限の順守について、アクセスポリシーと RBAC 認可モデルの両方を監査する必要があります。", "status": "machine-draft" },
    "recommendedValue": { "value": "Key Vault のアクセス制御に Azure RBAC を使用し、Get/List/Set のアクセス許可を必要最小限のプリンシパルに制限する", "status": "machine-draft" },
    "remediationSteps": { "value": "すべての Key Vault アクセスポリシーまたは RBAC 割り当てを確認し、消去 (Purge) や完全なキー管理権限など不要なアクセス許可を持つプリンシパルを削除します。よりきめ細かい制御と監査性のために、従来のアクセスポリシーモデルから Azure RBAC ベースの認可へ移行します。Key Vault のログ記録を Log Analytics ワークスペースへ有効にし、不審なアクセスパターンに対するアラートを設定します。", "status": "machine-draft" }
  },
  "AZIAM-005": {
    "name": { "value": "ストレージアカウントのセキュリティ設定", "status": "machine-draft" },
    "description": { "value": "Azure ストレージアカウントには、保存時および転送時に保護すべき機密性の高い業務データ、バックアップ、アプリケーションの状態が含まれることがよくあります。パブリック BLOB アクセスの許可、HTTPS 強制の無効化、レガシー TLS バージョンの使用などの構成ミスは、重大なデータ露出リスクを生み出します。不正アクセスやデータ漏洩を防ぐため、ストレージアカウントのセキュリティ設定を強化する必要があります。", "status": "machine-draft" },
    "recommendedValue": { "value": "HTTPS のみの転送を強制し、パブリック BLOB アクセスを無効にし、TLS 1.2 以上を必須とし、インフラストラクチャの暗号化を有効にする", "status": "machine-draft" },
    "remediationSteps": { "value": "すべてのストレージアカウントで、最小 TLS バージョンを 1.2 に設定し、HTTPS のみの転送を有効にし、パブリック BLOB アクセスを無効にします。保存時の二重暗号化のためにインフラストラクチャの暗号化を有効にし、ネットワークアクセスを制限するためにプライベートエンドポイントを構成します。共有アクセス署名とアクセスキーを確認し、キーを定期的にローテーションし、キーベースのアクセスよりも Azure AD 認証を優先します。", "status": "machine-draft" }
  },
  "AZIAM-006": {
    "name": { "value": "ネットワークセキュリティグループの規則の監査", "status": "machine-draft" },
    "description": { "value": "ネットワークセキュリティグループは Azure リソースへの受信および送信トラフィックのフローを制御し、主要なネットワークセグメンテーションの仕組みです。管理ポートに対してインターネットから無制限の受信アクセスを許可するなど、過度に緩い NSG 規則は、リソースをブルートフォース攻撃や悪用にさらします。安全なネットワーク境界を維持するには、NSG 規則の定期的な監査が不可欠です。", "status": "machine-draft" },
    "recommendedValue": { "value": "既定ですべての受信インターネットトラフィックを拒否し、特定の送信元 IP 範囲から必要なポートのみを許可する", "status": "machine-draft" },
    "remediationSteps": { "value": "すべての NSG 規則について過度に緩いエントリ、特に 22、3389、445、1433 などのポートで 0.0.0.0/0 または Any からの受信トラフィックを許可する規則がないか確認します。広範な許可規則を特定の送信元 IP 範囲またはサービスタグに置き換え、未使用の規則を削除します。NSG フローログを有効にし、Azure Network Watcher と統合してトラフィックパターンの継続的な監視と異常検知を行います。", "status": "machine-draft" }
  },
  "AZIAM-007": {
    "name": { "value": "Azure Policy のコンプライアンス状態", "status": "machine-draft" },
    "description": { "value": "Azure Policy は組織の標準を適用し、Azure リソース全体にわたって大規模にコンプライアンスを評価します。準拠していないリソースは、セキュリティベースラインからの構成のドリフトを示しており、ガバナンス制御が防ぐことを目的とするリスクに環境をさらす可能性があります。ポリシーのコンプライアンスを監視することで、デプロイされたリソースがセキュリティおよび規制要件を一貫して満たすことを保証します。", "status": "machine-draft" },
    "recommendedValue": { "value": "割り当てられたすべてのポリシーが 95% 以上のコンプライアンスを報告する。準拠していないリソースには文書化された例外を設ける", "status": "machine-draft" },
    "remediationSteps": { "value": "Azure Policy のコンプライアンスダッシュボードを確認して準拠していないリソースを特定し、ポリシーの重大度に基づいて修復の優先順位を付けます。ポリシーの効果 (DeployIfNotExists、Modify) でサポートされている場合は、修復タスクを使用して準拠していないリソースを自動的に修正します。準拠させられないリソースについては、有効期限と業務上の正当性を記した文書化されたポリシーの適用除外を作成します。", "status": "machine-draft" }
  },
  "AZIAM-008": {
    "name": { "value": "管理グループ構造のレビュー", "status": "machine-draft" },
    "description": { "value": "管理グループは、サブスクリプションを整理し、ガバナンス制御を大規模に適用するための階層構造を提供します。設計が不十分な、あるいはフラットな管理グループ構造では、運用環境、開発環境、サンドボックス環境ごとに差別化されたポリシーを適用することが困難になります。階層を見直すことで、ポリシーの継承とロール割り当てが組織のセキュリティ要件に沿うことを保証します。", "status": "machine-draft" },
    "recommendedValue": { "value": "運用環境、開発環境、サンドボックス環境を適切なポリシー割り当てで分離する管理グループ階層を実装する", "status": "machine-draft" },
    "remediationSteps": { "value": "現在の管理グループ階層を確認し、ビジネスユニット、環境、ワークロードの分類などの組織の境界を反映していることを確認します。広範な適用のために上位の管理グループレベルで制限的なポリシーを適用し、下位レベルでの例外は文書化された正当性がある場合にのみ許可します。ルート管理グループの直接的なロール割り当てを最小限にし、機密性の高いサブスクリプションが適切に統制された管理グループに配置されていることを確認します。", "status": "machine-draft" }
  },
  "AZIAM-009": {
    "name": { "value": "カスタム RBAC ロール定義", "status": "machine-draft" },
    "description": { "value": "カスタム Azure RBAC ロールは、組み込みロールが提供する以上に調整されたアクセス許可を提供しますが、意図せず過剰または危険なアクションの組み合わせを付与する可能性があります。ワイルドカードのアクセス許可や過度に広範な割り当て可能なスコープを持つ、スコープ設定が不十分なカスタムロールは、権限昇格の経路を生み出します。各カスタムロールは、最小権限の原則に従い、機密性の高い操作を組み合わせていないことを確認するために見直す必要があります。", "status": "machine-draft" },
    "recommendedValue": { "value": "カスタムロール定義を最小限にし、ワイルドカードアクションを避け、割り当て可能なスコープを特定の管理グループまたはサブスクリプションに制限する", "status": "machine-draft" },
    "remediationSteps": { "value": "すべてのカスタム RBAC ロール定義を一覧表示し、その actions、notActions、dataActions、割り当て可能なスコープに過度に緩い構成がないか確認します。ワイルドカードのアクセス許可 (*/*、Microsoft.*/* など) を削除し、ロールの機能に必要な特定のアクション文字列に置き換えます。各カスタムロールの業務上の正当性を文書化し、組み込みロールまたは組み込みロールの組み合わせでカスタム定義を置き換えられないか評価します。", "status": "machine-draft" }
  },
  "AZIAM-010": {
    "name": { "value": "リソースロックの構成", "status": "machine-draft" },
    "description": { "value": "Azure リソースロックは、運用データベース、ネットワークコンポーネント、キーコンテナーなどの重要なリソースの誤削除や変更を防ぎます。リソースロックがないと、十分なアクセス許可を持つユーザーが意図せずインフラストラクチャを破壊し、サービス停止や潜在的なデータ損失を引き起こす可能性があります。重要なリソースに CanNotDelete または ReadOnly のロックを適用することで、RBAC を超えた追加の安全層を提供します。", "status": "machine-draft" },
    "recommendedValue": { "value": "すべての運用リソースグループと重要な個々のリソースに CanNotDelete ロックを適用する", "status": "machine-draft" },
    "remediationSteps": { "value": "誤削除や変更から保護すべき、すべての運用および業務上重要なリソースグループとリソースを特定します。運用環境にはリソースグループレベルで CanNotDelete ロックを適用し、変更不可のインフラストラクチャコンポーネントには ReadOnly ロックを適用します。ロック戦略を文書化し、意図的な変更が必要な場合は、適切な変更管理の承認を経てロックを解除する手順を運用手順に含めます。", "status": "machine-draft" }
  }
}