Azure Policyは、組織がクラウドリソースのルール、強制、監査ガバナンス、およびコンプライアンス規則を定義し、実施できるようにするMicrosoft Azure内で強力なサービスです。クラウド環境が規模と複雑性を増大し、一貫性のある構成と会議の規制要件が重要になってきています。Azure Policyは、ルールを適用し、コンプライアンスを追跡し、自動的に非準拠リソースを再構築する集中的なメカニズムを提供することで、この課題に対処します。この記事では、Azure Policyに詳細なガイドを提供し、アーキテクチャ、実践的な実装、ベストプラクティス、および他のサービスとの統合を行います。

Azureポリシーとは?

Azure Policyは、組織が標準を強制し、Azureリソース全体でコンプライアンスを評価するのに役立つガバナンスツールです。 ]whoを制御するロールベースのアクセス制御(RBAC)とは異なり、アクションを実行したり、Azure Policy controls ]]what]]リソースが許可または必要です。 ポリシーは、JSON形式のルールとして表現され、条件(例えば、リソースタイプ、リソースタイプ、場所、タグ、およびオプション)を組み合わせて、これらのポリシーを、さまざまなポリシーを、または複数のポリシーを継承することができます。

Azure Policy は、複数のポリシー定義をグループ化し、「セキュアなAzureリソース」などの高レベルのコンプライアンス目標を達成するために、複数のポリシー定義をグループ化した「[開始[[()(「ポリシーセット」)をサポートしています。この取り組みは、SOC 2、ISO 27001、NIST などの複雑な規制フレームワークの割り当てとコンプライアンスの追跡を簡素化します。

Azureポリシーの主な特徴

ポリシー定義

ポリシー定義には、条件(]]、]、 ]、または)、および効果を含む規則ロジックが含まれています。 利用可能な効果は次のとおりです。

  • Deny - ノンコンプリアントリソースの作成や変更を防止します。
  • [Audit] - 警告イベントをログに記録しますが、要求をブロックしません。 中断することなく違反を検出するのに便利です。
  • []Append] - 作成または更新中にリソースに追加のフィールド(タグのような)を追加します。
  • [AuditIfNotExists]] - 関連するリソースに対するリソースを評価します(例えば、ストレージアカウントが診断設定を有効にしているかどうかを確認します)。
  • []DeployIfNotExists[ - リソーステンプレートをデプロイして、非準拠状態を自動的に再編集します。
  • [Modify] – リソースの既存のプロパティをAlters(追加するが、既存のリソースをターゲットにすることができます)。
  • []Disabled] - 検査または一時的な免除のポリシーを効果的に無効にします。

Azureは、セキュリティ、ネットワーク、コンピューティング、ストレージなど、1,500以上の組み込みポリシー定義を提供しています。また、組織は、Azureポータル、CLI、またはARMテンプレートを使用してカスタム定義を作成することもできます。

ソリューション

ポリシーまたはイニシアチブを定義した後、スコープ: 管理グループ、サブスクリプション、またはリソースグループに割り当てます。割り当てには、パラメータ(許可された地域のリスト)、執行モード(有効または無効)、およびオプションの除外(ポリシーが適用されない特定の子スコープ)が含まれます。継承とは、サブスクリプションレベルで割り当てられたポリシーが、除外される場合を除き、自動的にすべてのリソースグループとリソースに適用されます。

コンプライアンス評価

Azure Policyは、割り当てられたポリシーに対してリソースを継続的に評価します。各リソースのコンプライアンス状態はリアルタイムで更新されます。ポリシーまたはイニシアチブごとに全体的なコンプライアンスステータスを表示し、非準拠リソースにドリルダウンし、Azure Monitor、Log Analytics、またはレポート用のPower BIにコンプライアンスデータをエクスポートできます。Microsoftは、Compliant、Non-compliant、Exempt、Conflictingなどのに準拠状態]を提供しています。

再会

[ のポリシーでは、DeployIfNotExists または ] の の効果を、Azure Policy は非準拠リソースを自動的に再仲介することができます。 修正タスクは、リソースを順守するデプロイまたは変更を実行します。 たとえば、特定のタグを必要とするポリシーは、既存のリソースに欠けているタグを追加する Modify 効果を使用できます。 修正は手動でまたはスケジュールすることができます。

ガバナンスに関するAzureポリシーの使い方

Azure ポリシーの実装には、ポリシーを定義したり、選択したり、適切なスコープに割り当てたり、コンプライアンスを監視したりすることが含まれます。ステップバイステップのワークフローは次のとおりです。

1. ガバナンスの要件の定義

組織の規制と内部基準を識別することによって開始します。一般的な要件は次のとおりです。

  • 資源命名条約(例、生産用)
  • データの残留法を遵守するために、承認されたAzure地域。
  • VM の SKU がコストをコントロールできるようにしました。
  • ストレージアカウントとデータベースの暗号化機能を有効にする
  • Azure Backup の設定が必要です。

2. 方針の定義を作成または選択する

ポータルでAzure Policyサービスに移動します。 []]] 定義 ブレードを使用して、組み込みのポリシーを参照します。 たとえば、組み込みのポリシー「許可された場所」は、指定された領域でのみリソースの展開を強化します。 カスタムポリシーを作成するには、 ポリシー定義]をクリックして、JSONルールを送信します。 [Azure] ガイドポリシー]を参照してください。 [[FLT:[FLT] ガイド] ガイドポリシー: [FLT:[FLT:]] ガイド] ガイドの手順を参照してください。

3. 方針を割り当てて下さい

[Assignments[]]ブレードに移動し、定義を選択し、スコープ(例えば、特定のサブスクリプション)、パラメータを設定(例えば、許可された地域リスト)を選択し、執行を構成します。 また、包括的なコンプライアンスのための組み込みライブラリから「ISO 27001:2013」のようなイニシアティブを割り当てることができます。

4. モニターの承諾

割り当て後、リソースが評価されます。 ] []] ブレードは、全体のパーセンテージ、リソースごとのブレークダウン、および理由で非準拠リソースを表示します。 []]]イベントログ[] を使用して、監査イベントを確認します。 大規模な環境の場合、 Azure Monitor[] を使用して、コンプライアンスドロップダウンのアラートを作成するには、関連するアラームが開きます。

5. 非準拠リソースを是正

自動修正をサポートするポリシーでは、修正タスクを作成します。監査のみのポリシーでは、リソースを手動で更新したり、スクリプトを使用する必要があります。 Azure ポリシーは、非準拠リソースをプログラム的に特定するために、 ] リソースをリソースに提供します。

アドバンスト・Azureポリシー・シナリオ

政策の免除

時々、コンプライアンス例外が必要である(例えば、従来のVMが通常許されない領域で実行しなければならない)。リソース、リソースグループ、またはサブスクリプションレベル、有効期限および正当性で[]]]]を使用します。免除は、コンプライアンスレポートで記録され、監査証跡を維持します。

バージョン管理によるポリシー・アコード

方針定義とコードをGitリポジトリにJSONファイルを保存し、Azure DevOpsまたはGitHub Actionsを使用してデプロイすることで扱う。これにより、レビュー、テスト、バージョン管理ができるようになります。[]] ポリシー・アズ・コード・アプローチ] は、Bicepや Terraformなどのインフラストラクチャ・アズ・コード・ツールとよく統合されます。

Azure BlueprintとLanding Zoneとの統合

Azure Blueprints(現在はポリシーと統合)により、ポリシー、RBACロール、リソーステンプレートをまとめてパッケージ化できます。 Azure Landing Zones(エンタープライズスケールアーキテクチャ)では、Azure Policyの取り組みは、管理グループスコープで展開され、VM上でパブリックIPを禁止したり、Azure Monitorメトリックを要求したりするなど、プラットフォーム全体のガバナンスを強化しています。

断面的説明と多テナント対応

管理グループレベルでポリシーを割り当てることで、組織は数百のサブスクリプション間でガバナンスを強化することができます。 Azure PolicyはAzure Lighthouseと連携し、管理されたサービスプロバイダが顧客テナントにポリシーを適用できるようにします。

Azureポリシーのベストプラクティス

  • [] 削除する前に、監査ポリシーで開始します。これにより、既存のリソースを理解し、変更を破棄することを防ぐことができます。
  • 個々のポリシーの代わりに、イニシアチブを使用して、複雑なシナリオの割り当てと報告を簡素化します。
  • ] 可能なときに、組み込みの定義をレバレッジ[] - 彼らはマイクロソフトによって維持され、新しいサービスで更新されます。
  • [] 柔軟性(例えば、許可された地域リストパラメータ)を可能にするためにポリシーをパラメータ化し、異なるスコープ間で1つの定義を再使用することができます。
  • ] 慎重に除外します:[]]] 検証された例外のみの使用と有効期限を設定するための除外を使用してください。
  • [Monitorのコンプライアンス規則]を定期的に設定し、AzureモニターまたはAzureイベントグリッドを使用して突然のドロップのアラートを設定します。
  • サンドボックス環境でテストします。 ]]]を使用して、既存のリソースに関するポリシーの効果をシミュレートするAzureポリシーの[機能。
  • [] 正当なデプロイメントをブロックする可能性がある、オーバーリーな広範なポリシー[を作成しない - タグ、リソースタイプ、または特定のパターンを使用して微調整条件。
  • [] ドキュメントポリシーの割り当て] と、ビジネス正当化により、チームはルールを理解します。

一般的なユースケースと例

リソースタギングの補強

Modify または のポリシーを使用して、 "CostCenter" や "Environment" などのタグを必要とする。 例: リソース作成中に欠落した場合、 "Production" という値を持つ "Environment" タグを追加します。 修正タスクは、既存のリソースにタグを追加することができます。

許可されたVMのSKUを制限する

許可されたリストに対する [ フィールドを評価するデンイポリシーは、コスト予測可能を維持し、承認されたサイズのみが使用されることを確認します。

暗号化が必要な

[]AuditIfNotExists[]を使用して、ディスクまたはストレージアカウントが暗号化を有効にしているかどうかを確認します。 DeployIfNotExistsは、Azure Key Vaultを使用して、非準拠のストレージアカウントの暗号化を自動的に有効化することができます。

バックアップ構成の強化

VM が Azure Backup が設定されているかどうかを監査するポリシーを作成し、そうでない場合は、デプロイする際のバックアップの脆弱性設定をデプロイする。

地理的コンプライアンス

組み込みの「許可された場所」ポリシーは、リソースが承認された地域でのみデプロイされるようにします。 免除は、Azure DNSのようなグローバルサービスを含む特定のリソースグループに付与することができます。

コンテンツ

Azure Policyは、堅牢なクラウド・ガバナンス戦略の不可欠なコンポーネントです。組織の基準と規制要件の執行を自動化することで、マニュアルの監督を削減し、誤った構成を最小限に抑え、継続的なコンプライアンス・モニタリングを実現します。Azureまたは大規模なエンタープライズ・オペレーション・数百のサブスクリプションから始まる小規模なチームが、Azure Policyは、ニーズに合ったニーズを把握します。Azure DevOpsとSecurities Centerとのイニシアチブ、再仲介、および統合により、コンプライアンス・ポリシーの継続的な改善が実現され、運用コストを削減し、セキュリティ・モニタリングを継続します。