Azure Policyの設定手順、効果をAzure VMサイズ制限で確認
仮想マシン(Azure VM)のサイズ制限を例にポリシー(Azure Policy)設定や挙動について確認してみました。
-
- ポリシーの概要(効果)
- ビルトインポリシー(仮想マシン(Azure VM)のサイズ制限)定義をリソースグループに割り当て
- 割り当てたポリシーの確認
- 仮想マシン(Azure VM)のデプロイやサイズ変更してポリシーの効果、ログ確認
※今回はビルトインポリシーを利用しています。
ポリシー(Azure Policy)のデフォルト定義を割り当て
ポリシー(Azure Policy)とは
ポリシー(Azure Policy)はリソースに対して制限するサービスになります。
リソースのデプロイや設定を制限や修復する事でコンプライアンスとセキュリティを強化します。
1言で纏めてみるとルールを決めてそのルールに沿わないような作業を禁止する事が出来るサービスと言えます。
設定を強制する事が出来るので、セキュリティの緩いリソースの作成を防げます。
-
- デプロイを許可するリージョンを制限する
- 許可されたリソースの種類以外はデプロイさせない
- 仮想マシン(Azure VM)のネットワークセキュリティグループ(NSG)を強制する
ポリシー(Azure Policy)の適用範囲もサブスクリプションやリソースグループと言うように指定出来ます。
除外設定も可能です。
独自ルールのポリシー(Azure Policy)を作成する事も出来ます。
複数の関連するポリシー定義をグループ化してイニシアティブ定義とする事も出来ます。
ポリシー(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 VM)をデプロイ
新規に仮想マシン(Azure VM)をデプロイしてポリシー(Azure Policy)の効果を確認します。
ポリシーの効果確認 | |
ポリシー(Azure Policy)で許可されたサイズが選択できないようになっている事が確認出来ます。 |
既存の仮想マシン(Azure VM)をサイズ変更
height: 10px;
既存リソースへのポリシー(Azure Policy)の効果を確認します。
デプロイ済みの仮想マシン(Azure VM)のサイズを変更して確認します。
サイズ変更して確認 | |
サイズ変更がエラーになっている事が確認出来ます。 |
アクテビティログを確認
アクテビティログへの出力内容を確認します。
アクテビティログ | |
コンプライアンスの表示からポリシーに該当したアクテビティログを表示できます。 | |
仮想マシン(Azure VM)の変更に失敗したログとポリシーが適用されたログが確認出来ます。 |
準拠してない仮想マシン(Azure VM)を起動
今回のポリシー(Azure Policy)はサイズ変更に対する制限になります。
準拠していない仮想マシン(Azure VM)であったとしても起動する事は出来ます。
仮想マシン(Azure VM)の起動は設定変更を伴いません。
その為ポリシー(Azure Policy)が適用されません。
最後に
今回は仮想マシン(Azure VM)のサイズ制限を例にポリシー(Azure Policy)設定や挙動について確認してみました。
クラウドでの操作ミスや意図せぬ挙動を簡単な設定で防ぐことが出来るのはとても便利かと思います。
今後も引き続き試してみたいと思います。