Azure Policy でセキュリティ ポリシーとイニシアチブを作成、割り当て、解釈する

完了

Azure 環境のセキュリティ保護に関しては、次の 2 つの重要なツールがあります。Azure セキュリティ ポリシーAzure セキュリティ イニシアチブです。 どちらもコンプライアンスの維持において重要な役割を果たしますが、その目的は異なります。 各ツールの機能とユース ケースについて詳しく見てみましょう。

Azure セキュリティ ポリシー

  • 定義: Azure Policy は、リソースが特定のルールに準拠していることを保証する勤勉な保護者のようなものです。 これにより、Azure 環境全体にポリシーを定義して適用できます。
  • コンポーネント:
    • ポリシーの定義: 制御する条件 (許可されるリソースの種類、必須タグなど) を指定します。
    • ポリシー割り当て: ポリシーが有効な場所 (個々のリソース、リソース グループ、管理グループ) を決定します。
    • ポリシー パラメーター: ポリシーの動作 (仮想マシンの Stock Keeping Unit、場所など) をカスタマイズします。
  • ユース ケース:
    • 特定のルールを一貫して適用します。
    • 均一なタグ付けを保証します。
    • リソースの種類を制御します。

Azure セキュリティ イニシアティブ:

  • 定義: Azure イニシアティブはポリシー バンドルと考えてください。 特定の目的のために、関連する Azure ポリシー定義をグループ化します。
  • コンポーネント:
    • 定義 (ポリシー): 1 つの項目にバンドルされているポリシーのコレクション。
    • "譲渡":イニシアティブはスコープ (サブスクリプション、リソース グループなど) に適用されます。
    • パラメーター: イニシアチブの動作をカスタマイズします。
  • ユース ケース:
    • より広範なコンプライアンス目標 (ペイメント カード業界データ セキュリティ基準、医療保険の携行性と責任に関する法律など) を達成します。
    • 関連するポリシーを一元的に管理します。

いつどれを使用するか:

  • Azure Policy:
    • 特定のルールを適用する必要がある場合は、個々のポリシーに使用します。
    • 1 つのポリシーで十分な場合もあります。
  • Azure イニシアティブ:
    • 管理が簡素化されるため、1 つのポリシーでも推奨されます。
    • イニシアティブを使用すると、複数のポリシーを 1 つのまとまりとして管理できます。
    • 例: PCI-DSS コンプライアンスのために 20 個のポリシーを個別に処理する代わりに、それらすべてを同時に評価するイニシアティブを使用します。

Azure セキュリティ ポリシーはきめ細かい制御に重点を置き、一方 Azure セキュリティ イニシアティブでは統合されたアプローチが提供されます。 組織のニーズとコンプライアンスの複雑さに基づいて賢明に選択してください。 どちらも Azure セキュリティ ツールボックスの重要なツールです。

コンプライアンスを強制するポリシーの作成と管理

Azure でポリシーを作成および管理する方法を理解することは、企業の標準とサービス レベル アグリーメントへの準拠を維持するために重要です。 この例では、Azure Policy を使って、組織全体のポリシーの作成、割り当て、管理に関連する次のような一般的なタスクを実行する方法を学習します。

  • 今後作成するリソースに条件を強制するポリシーを割り当てる
  • 複数のリソースについてコンプライアンスを追跡するイニシアチブ定義を作成して割り当てる
  • 準拠していないリソースまたは拒否されたリソースを解決する
  • 組織全体で新しいポリシーを実施する

前提条件

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

ポリシーを割り当てる

Azure Policy でコンプライアンスを強制する最初の手順は、ポリシー定義の割り当てです。 ポリシー定義は、ポリシーを適用する条件とその効果を定義します。 この例では、"不足している場合はリソース グループからタグを継承する" という組み込みのポリシー定義を割り当て、指定されたタグとその値を親リソース グループから、タグのない新しいタグまたは更新されたリソースに追加します。

  1. Azure portal に移動して、ポリシーを割り当てます。 Policy を検索して選択します。

Azure portal 内を移動してポリシーを割り当てる方法を示すスクリーンショット。

  1. Azure Policy ページの左側にある [割り当て] を選択します。 割り当ては、特定のスコープ内で実行するように割り当てられたポリシーです。

ポリシーのページで割り当てを構成する方法を示すスクリーンショット。

  1. [ポリシー - 割り当て] ページの上部で [ポリシーの割り当て] を選択します。

割り当ての作成ページでポリシーを割り当てる方法を示すスクリーンショット。

  1. [ポリシーの割り当て] ページの [基本] タブで、省略記号を選択し、管理グループまたはサブスクリプションのどちらかを選択して、 [スコープ] を選択します。 任意でリソース グループを選択します。 スコープによって、ポリシー割り当てを強制するリソースまたはリソースのグループが決まります。 次に、[スコープ] ページの下部にある [選択] をクリックします。 この例では、Contoso サブスクリプションを使用しています。 お客様によってサブスクリプションは異なります。

  2. リソースはスコープに基づいて除外できます。 除外スコープのレベルよりも 1 つ下のレベルで開始されます。 除外は省略可能です。ここでは空のまま残してください。

  3. [ポリシー定義] の省略記号を選択して、使用可能な定義の一覧を開きます。 ポリシー定義の [種類] を [組み込み] にフィルター処理して、すべてを表示し、説明を読むことができます。

  4. [存在しない場合は、リソース グループからタグを継承する] を選択します。 すぐに見つからない場合は、検索ボックスに「タグを継承」と入力して Enter キーを押すか、検索ボックスの外側を選択します。 ポリシー定義を見つけて選んだら、[使用可能な定義] ページの最下部にある [選択] をクリックします。

使用可能な Azure ポリシー定義の種類を表示する方法を示すスクリーンショット。

  1. [割り当て名] には選択したポリシー名が自動的に入力されますが、この名前は変更できます。 この例では、 [存在しない場合は、リソース グループからタグを継承する] のままにします。 必要に応じて、説明を追加することもできます。 説明では、このポリシーの割り当ての詳細を示します。

  2. [ポリシーの適用] を "有効" のままにしておきます。 "無効" になっている場合、この設定によって、効果をトリガーせずにポリシーの結果をテストできます。 詳細については、「適用モード」を参照してください。

  3. [割り当て担当者] は、ログイン ユーザーに基づいて自動的に入力されます。 このフィールドは任意です。カスタム値を入力できます。

  4. ウィザードの上部にある [パラメーター] タブを選択します。

  5. [タグ名] に「Environment」と入力します。

  6. ウィザードの上部にある [修復] タブを選択します。

  7. [修復タスクを作成する] のチェックをオフのままにします。 このボックスを利用すると、新規または更新されたリソースだけでなく、既存のリソースを変更するタスクを作成できます。

  8. このポリシー定義では変更効果が使われているため、[マネージド ID を作成します] は自動的にオンにされます。 [アクセス許可] は、自動的にポリシー定義に基づく "共同作成者" に設定されます。 詳しくは、マネージド ID および修復のアクセス制御のしくみに関するページをご覧ください。

  9. ウィザードの上部にある [Non-compliance messages](コンプライアンス違反メッセージ) タブを選択します。

  10. [Non-compliance message](コンプライアンス違反メッセージ)[This resource doesn't have the required tag](このリソースには必要なタグがありません) に設定します。 このカスタム メッセージは、リソースが拒否されたときに表示されるほか、コンプライアンス違反のリソースについては、通常の評価時に表示されます。

  11. ウィザードの上部にある [Review + create](確認と作成) タブを選択します。

  12. 選択内容を確認してから、ページ下部にある [作成] を選択します。