状況
新人から「本番の Blob を読もうとすると権限エラーになるので、サブスクリプションの Owner を付けてください」と依頼が来た。必要なのは、本番リソースグループにある 1 つのストレージアカウントの Blob の読み取りだけである。
依頼への対応として最も適切なものは?
正答
- 依頼どおり、サブスクリプションのスコープで Owner ロールを割り当てる
- Owner は強すぎるので、サブスクリプションの Contributor を割り当てる
- 対象のストレージアカウントに Storage Blob Data Reader を割り当てる
- 共有の管理者アカウントでサインインしてもらい、その場で読んでもらう
解説
必要なのは 1 つのストレージアカウントの Blob を読むことだけなので、そのストレージアカウントのスコープで Storage Blob Data Reader を割り当てるのが最小権限になる。サブスクリプションの Owner は本番の全リソースの削除とロールの割り当てまでできてしまい、Contributor も全リソースを変更・削除できる。しかもどちらも管理操作のロールで、Blob のデータを Entra ID の認証で読むためのデータ操作の権限は含まない。共有アカウントは誰が操作したか追えず、監査の点でも避ける。
この問題を含む Azure のテストを制限時間つきで解く
Azureクイズへ