Azure認定資格 WEB問題集&徹底解説

AZ-104:Microsoft Azure Administrator

正解 B,E問題
分野3:Azure コンピューティングリソースのデプロイと管理 分野1:Azure ID とガバナンスの管理 タスクステートメント3.1:ARM テンプレートまたは Bicep ファイルによるリソースデプロイの自動化 タスクステートメント1.2:Azure リソースへのアクセスの管理
合格に向けて、もっと深く学習する
豊富な問題と詳細なAzureサービス解説を、1 時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
医療機器の保守サービスを手がける「阪奈メディカルサービス」では、部門ごとに分かれた 6 つのリソースグループへ、標準構成の仮想ネットワークと監視設定をデプロイするための ARM テンプレートを整備しました。
今後は各部門の運用担当者自身がこのテンプレートでデプロイできるようにしますが、次の要件をすべて満たす必要があります。
・運用担当者はテンプレートの内容を変更できず、デプロイだけを実行できる
・テンプレートのファイルをストレージアカウントで公開したり、SAS トークンを配布したりしない
・テンプレートを改訂した後も、各部門が過去の版を指定してデプロイできる
運用担当者は自部門のリソースグループに対する共同作成者ロールを既に割り当てられています。
実施すべき操作を 2 つ選んでください。
  • テンプレートの JSON ファイルを管理用ストレージアカウントの BLOB コンテナーへ配置し、有効期限付きの SAS トークンを各部門へ配布する
  • 管理用リソースグループでテンプレート スペックを作成し、改訂のたびに新しいバージョン名を付けて発行する
  • 各部門のリポジトリへテンプレートの JSON ファイルをコピーし、改訂のたびに管理者が最新版を配布して差し替えてもらう
  • テンプレート スペックを格納したリソースグループに対し、各部門の運用担当者グループへ共同作成者ロールを割り当てる
  • 作成したテンプレート スペックに対し、各部門の運用担当者グループへテンプレート スペック閲覧者ロールを割り当てる
解説 頻出度★★★★★
この問題は、「改変させない × ファイル配布も SAS も使わない × 過去の版を残す」という要件から、テンプレート スペックをバージョン付きで発行し、利用者には読み取り専用ロールだけを与えるという組み合わせを選べるかがポイントです。

A. テンプレートの JSON ファイルを管理用ストレージアカウントの BLOB コンテナーへ配置し、有効期限付きの SAS トークンを各部門へ配布する

要件に「テンプレートのファイルをストレージアカウントで公開したり、SAS トークンを配布したりしない」と明示されているため、この時点で除外されます。
加えて、SAS で JSON ファイルをダウンロードできるようにすると、担当者は手元でファイルを書き換えてからデプロイできてしまうため「内容を変更できない」という要件も満たせません。SAS の有効期限管理という運用負荷も増えます。

正解

B. 管理用リソースグループでテンプレート スペックを作成し、改訂のたびに新しいバージョン名を付けて発行する

テンプレート スペック (Template Specs) は、ARM テンプレートをAzure 上のリソースとして保存する仕組みです。ファイルとして配布する必要がなく、ストレージアカウントも SAS も不要になります。
改訂のたびに新しいバージョン名を付けて発行すれば旧バージョンは残るため、各部門は必要に応じて過去の版のリソース ID を指定してデプロイできます。正解の 1 つです。

C. 各部門のリポジトリへテンプレートの JSON ファイルをコピーし、改訂のたびに管理者が最新版を配布して差し替えてもらう

各部門のリポジトリへ JSON ファイルをコピーする方式は、担当者が自由に内容を書き換えられるため「テンプレートの内容を変更できない」という要件に反します。
改訂のたびに管理者が全部門へ配布し直す運用は手間が大きく、どの部門がどの版を使っているかも管理できません。標準構成の統制という本来の目的から外れます。

D. テンプレート スペックを格納したリソースグループに対し、各部門の運用担当者グループへ共同作成者ロールを割り当てる

デプロイに必要なのはテンプレート スペックへの読み取り権限だけで、共同作成者は過剰です。共同作成者を与えると、テンプレート スペック自体の編集・新バージョンの発行・削除ができてしまい、「運用担当者はテンプレートの内容を変更できない」という要件に真正面から反します。
デプロイ先である自部門のリソースグループの共同作成者は既に付与済みであり、これ以上の書き込み権限は不要です。

正解

E. 作成したテンプレート スペックに対し、各部門の運用担当者グループへテンプレート スペック閲覧者ロールを割り当てる

テンプレート スペック閲覧者 (Template Spec Reader) ロールは、テンプレート スペックとそのバージョンの参照だけを許可します。
デプロイ操作は「テンプレート スペックを読み取り、その内容を自部門のリソースグループへ展開する」流れなので、スペックへの読み取り+デプロイ先リソースグループの共同作成者という組み合わせで最小権限を満たせます。内容の書き換えはできないため要件どおりです。正解の 1 つです。

これだけ覚える(記憶フック)
テンプレートを配らず「Azure のリソース」として置く=テンプレート スペック。利用者には閲覧者ロールだけ。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
運用担当者はテンプレートを変更できず、デプロイだけ実行できる 与えるのは読み取り専用ロール。書き込み権限を与えた時点で要件違反
→選択肢(E)が正解/選択肢(D)を消す
ストレージアカウントでの公開や SAS トークンの配布をしない テンプレートをファイルとして配らない方式が必要
→選択肢(A・C)を消す
改訂後も各部門が過去の版を指定してデプロイできる テンプレート スペックのバージョン管理で満たせる。手動配布では版の管理ができない
→選択肢(B)が正解/選択肢(C)を消す
運用担当者は自部門のリソースグループの共同作成者を保持済み デプロイ先への書き込み権限は充足済み。不足しているのはテンプレート スペック側の読み取りだけ
→選択肢(E)が正解
ひっかけポイント
  • 選択肢 D の「共同作成者」はデプロイに必要そうに見えるのが罠。デプロイに必要な書き込み権限はデプロイ先のリソースグループ側で、テンプレート スペック側は読み取りで足ります
  • SAS トークンはテンプレート配布の定番手段ですが、本問では要件で明示的に禁止されています。要件の否定条件を読み飛ばすと選択肢 A を選んでしまいます
  • テンプレート スペックは「ファイル置き場」ではなく Azure のリソースです。したがってアクセス制御は SAS ではなく Azure RBAC で行います
  • 改訂時は新しいバージョン名を付けて発行します。同じバージョンを上書きすると過去の版を指定できなくなり、3 つ目の要件を満たせません
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「運用担当者にもテンプレートの更新を許可したい」 テンプレート スペック共同作成者ロールが正解軸に変わる。
「テンプレートを Bicep で管理している」 Bicep ファイルのままテンプレート スペックとして発行できる(内部で ARM JSON に変換されて保存される)。
「別サブスクリプションの担当者にも同じ標準構成を使わせたい」 テンプレート スペックのリソース ID を指定してデプロイでき、そのスペックへの読み取り権限を付与すればよい。
「デプロイされる構成が標準から逸脱しないよう強制したい」 テンプレートの共有ではなく Azure Policy(deny / deployIfNotExists)が正解軸に。
関連サービスの解説 Azure Resource Manager
Azure RBAC
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 25%
No.18 解説
医療機器の保守サービスを手がける「阪奈メディカルサービス」では、部門ごとに分かれた 6 つのリソースグループへ、標準構成の仮想ネットワークと監視設定をデプロイするための ARM テンプレートを整備しました。
今後は各部門の運用担当者自身がこのテンプレートでデプロイできるようにしますが、次の要件をすべて満たす必要があります。
・運用担当者はテンプレートの内容を変更できず、デプロイだけを実行できる
・テンプレートのファイルをストレージアカウントで公開したり、SAS トークンを配布したりしない
・テンプレートを改訂した後も、各部門が過去の版を指定してデプロイできる
運用担当者は自部門のリソースグループに対する共同作成者ロールを既に割り当てられています。
実施すべき操作を 2 つ選んでください。
  • テンプレートの JSON ファイルを管理用ストレージアカウントの BLOB コンテナーへ配置し、有効期限付きの SAS トークンを各部門へ配布する
  • 管理用リソースグループでテンプレート スペックを作成し、改訂のたびに新しいバージョン名を付けて発行する
  • 各部門のリポジトリへテンプレートの JSON ファイルをコピーし、改訂のたびに管理者が最新版を配布して差し替えてもらう
  • テンプレート スペックを格納したリソースグループに対し、各部門の運用担当者グループへ共同作成者ロールを割り当てる
  • 作成したテンプレート スペックに対し、各部門の運用担当者グループへテンプレート スペック閲覧者ロールを割り当てる

(会員限定)当問題の評価をお願いします。改善に活用します。