AZ-305:Designing Microsoft Azure Infrastructure Solutions ID・ガバナンス・監視ソリューションの設計 問12
ID・ガバナンス・監視ソリューションの設計/ガバナンスの設計プラットフォームチームは、新規サブスクリプションに共通のネットワーク リソースと監視リソースを Bicep で払い出します。要件は、これらを 1 つのまとまりとして更新でき、テンプレートから削除したリソースは Azure 上からも自動的に削除されることです。また、サブスクリプションの所有者であっても、プラットフォームチームのグループ以外はこれらのリソースを変更・削除できないようにします。デプロイとガードレールの設計として最適なものはどれですか。
当サイトのオリジナル問題(AZ-305:Designing Microsoft Azure Infrastructure Solutionsの出題範囲「ID・ガバナンス・監視ソリューションの設計」に対応。実際の試験問題ではありません)
- ABicep をデプロイ スタックとしてサブスクリプション スコープに作成し、管理外になったリソースは削除する設定にして、拒否設定は変更と削除を拒否にしてプラットフォームチームのグループを除外する
- BBicep をテンプレート スペックとして発行し、各サブスクリプションの所有者に実行させ、テンプレート内で各リソースに削除禁止ロックを付与する
- CAzure Policy のイニシアティブで共通リソースを DeployIfNotExists 効果により自動展開し、変更や削除を拒否する Deny 効果のポリシーを併せて割り当てる
- Dパイプラインから Bicep を完全デプロイ モードで実行し、パイプライン用のサービスプリンシパルだけに共同作成者ロールを割り当て、所有者の変更はアクセスレビューで事後に確認する
正解:A
解説
デプロイ スタックは、複数のリソースを 1 つのまとまりとして管理するデプロイ リソースです。スタックを更新してテンプレートから外れたリソースは、管理外リソースのアクションの設定により、デタッチ(切り離し)または削除を選べます。さらに、拒否設定により、スタックが管理するリソースへの変更・削除を、指定した利用者・グループを除いて拒否する拒否割り当てが作られ、所有者であっても対象になります。サブスクリプション スコープでも作成できるため、この要件に合います。リソース ロックは権限を持つ利用者が外せ、リソースのまとまりの管理や削除の追従もできません。
選択肢ごとの解説
- A正しい。デプロイ スタックでまとまりとして更新でき、管理外リソースの削除設定でテンプレートの変更に追従し、拒否設定で所有者も含め特定グループ以外の変更・削除を防げます。
- B誤り。テンプレート スペックは再利用のためのテンプレートの共有・バージョン管理で、デプロイ後のまとまりの管理はできません。ロックは所有者が外せ、テンプレートから外したリソースの自動削除もできません。
- C誤り。DeployIfNotExists はリソースを展開できても、テンプレートから外したリソースの削除には追従しません。Deny 効果は作成・更新を対象とし、リソースの削除を防ぐ用途には向きません。
- D誤り。共同作成者の割り当てだけでは、より広い権限を持つ所有者による変更を防げません。アクセスレビューは事後の確認で、変更や削除そのものを防ぐガードレールではありません。