ある企業がAzureサブスクリプションのコストを部門別に把握するため、「Finance」「IT」「Marketing」という値を持つ「Department」タグをすべてのリソースに必須付与するルールを設定した。しかし一部の開発者がタグなしでリソースを作成していることが判明した。この状況を防ぐために最も適切なAzure Policyの効果はどれか。
- A. Audit(監査):ポリシー違反をレポートするが、リソースの作成は許可する
- B. Deny(拒否):タグが設定されていないリソースの作成・更新リクエストを拒否する
- C. DeployIfNotExists:指定条件を満たさないリソースにデプロイを実行する
- D. Append(追記):既存リソースにタグを追加するが、タグなし作成は許可する
解答と解説を見る
正解: B
Azure PolicyのDeny(拒否)効果は、ポリシー条件(この場合は「DepartmentタグがないリソースをDenyする」)を満たさないリソースの作成・更新リクエストをAzure Resource Managerがデプロイする前に拒否する。これにより「タグなしリソースは作成できない」という強制力を持つ。選択肢AのAuditは違反をコンプライアンスレポートに記録するが、リソースの作成は実際に許可されてしまうため、タグなしリソースが作成され続ける問題は解決しない(違反の可視化には有効)。選択肢DのAppendは既存リソースにプロパティを追加するが、開発者が値を設定せずにリソースを作ることを防げない。選択肢CのDeployIfNotExistsは条件を満たさないリソースに関連リソースをデプロイする効果(例:診断設定の自動デプロイ)であり、リソース作成の拒否には使用しない。