Azure Policyの設定手順、効果をAzure VMサイズ制限で確認
Azure Policy(ポリシー)の設定手順や、ポリシー適用時の挙動について簡単にまとめました。
今回は、仮想マシン(Azure VM)のサイズ制限を例に確認しています。
-
- ポリシーの概要や効果
- ビルトインポリシー(仮想マシンのサイズ制限)の適用手順
- ポリシー割り当て後の動作確認
- ポリシーが適用された際のログ確認
※本記事では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事では、Azure Policyをポリシーと記載している場合があります。
※Azureのビルトインポリシーを利用して確認しています。
Azure Policyのデフォルト定義を割り当て
Azure Policyとは
Azure Policyは、Azure上のリソースに対して様々な制限やコンプライアンスルールを適用するサービスです。
リソースのデプロイや設定を制限したり、自動で修復したりすることで、組織のコンプライアンスとセキュリティを強化します。
一言でまとめると、”あらかじめ定めたルールに違反する操作を制限・禁止し、必要に応じて設定の強制や自動修復も可能なサービス”です。
セキュリティ要件を満たさないリソースの作成を防止することができます。
Azure Policyの代表的な活用例として、次のようなものがあります。
-
- リソースのデプロイを許可するリージョンを限定(他のリージョンでのリソースデプロイを禁止)
- 許可されたリソースの種類以外はデプロイできないよう制限
- 仮想マシンにNSG(ネットワークセキュリティグループ)のアタッチを強制
Azure Policyの適用範囲は、管理グループ、サブスクリプション、リソースグループなど柔軟に指定できます。
特定のリソースやリソースグループを除外する設定も可能です。
独自のルール(カスタムポリシー)を作成して組織の方針に合わせた運用も行えます。
複数のポリシー定義をまとめて、イニシアティブ定義としてグループ化できます。
これにより複数のコンプライアンス要件を一括して割り当てることも可能です。
Azure Policyの効果
Azure Policyには効果の種類があります。
Azure Policyの効果には評価の順番があります。
各効果ごとに評価の優先順位(順番)があります。
効果(評価順) | 概要 |
①Disabled |
ポリシーを無効化します。 |
②Append | 既存のリソースに新しい設定を追加します。 既存のリソースに診断設定を追加してログ収集を有効化する、といった場合に利用します。 Appendはタグ以外のプロパティ(設定項目)に対して値を追加または強制することを目的としています。 |
②Modify | 既存のリソース設定に新しい設定を追加します。 既存のリソースグループにタグを追加しするような場合などに利用します。 Modifyはタグのプロパティで使用することを目的としています。 |
③Deny | ポリシー定義に一致した場合、リソースのデプロイメントを拒否またはブロックします。 ポリシー定義に合致しないリソースの作成を拒否したい場合に利用します。 |
④Audit | ポリシー定義に一致しない場合にアクティビティログに出力されます。 デプロイメントなどの操作自体は許可されます。 |
⑤Manual | リソースまたはスコープのコンプライアンスを自己証明します。 評価をアクティブにスキャンさせず、手動で変更した内容をコンプライアンス状態とみなします。 |
⑥AuditIfNotExists |
ポリシー定義に一致しないリソースの存在を監査し、ログに出力します。 |
⑥DeployIfNotExists |
ポリシー定義に一致しないリソースが存在した場合、一致するリソースを新規にデプロイします。 |
⑦denyAction | リソースに対する操作をブロックするために使用されます。 現時点ではDELETE操作のみがサポートされており、リソースの削除を防ぐことができます。 |
※denyActionは現在プレビュー段階です。
※同じ評価順の効果は同時に評価されます。
ビルトインのAzure Policyを適用
ビルトインのポリシー定義は、サブスクリプションやリソースグループに割り当てることができます。
リソースグループ(test-rg)に割り当てます。
許可されている仮想マシンサイズ SKU のビルトインポリシー定義を適用します。
※許可されている仮想マシンサイズ SKU のポリシー定義は、Deny効果を持っています。
Azure Policyの割り当て状況を確認
Azure Policy の割り当て状況を確認します。
—広告—
適用されたAzure Policyの効果を確認
新規に仮想マシンをデプロイしてAzure Policyの効果を確認
新規に仮想マシンをデプロイし、Azure Policyの効果を確認します。
Azure Policyの効果確認 | |
Azure Policyによって、許可されていないサイズが選択できないことが確認できます。 | ![]() |
既存の仮想マシンをサイズ変更してAzure Policyの効果を確認
既存リソースに対するAzure Policyの効果を確認します。
デプロイ済みの仮想マシンのサイズを変更し、適用状況を確認します。
仮想マシンのサイズ変更して確認 | |
仮想マシンのサイズ変更がエラーになっていることが確認できます。 | ![]() |
Azure Policyの効果をアクティビティログで確認
アクティビティログへの出力内容を確認します。
アクティビティログ | |
コンプライアンスの表示から、ポリシーに該当するアクティビティログを表示できます。 | ![]() |
仮想マシンの変更に失敗したログと、ポリシーが適用されたログを確認できます。 | ![]() |
Azure Policyに準拠してない仮想マシンを起動
今回のAzure Policyは、サイズ変更に対する制限となります。
準拠していない仮想マシンであっても、起動することはできます。
仮想マシンの起動は設定変更を伴わないため、Azure Policyは適用されません。
—広告—
最後に
今回は、仮想マシンのサイズ制限を例に、Azure Policyの設定や挙動について確認してみました。
クラウドでの操作ミスや意図しない挙動を、簡単な設定で防ぐことができるのはとても便利だと思います。
引き続き、いろいろ試してみたいと思います。