Azure4 択難易度 応用

状況

昨日、ストレージアカウントのネットワーク設定を「選択した仮想ネットワークと IP アドレスから有効」に変えた。以降、App Service(マネージド ID で接続)からの Blob 読み取りが 403 AuthorizationFailure になる。ロールの割り当ては数か月変えていない。

原因を調べる順番として、最も適切なものは?

  1. Aストレージのネットワーク規則で許可した VNet・IP
  2. Bマネージド ID のロール割り当て(Storage Blob Data Reader)
  3. Cコンテナーの匿名アクセスを有効にする
  4. DApp Service の VNet 統合とサブネットのサービスエンドポイント

正答

  1. B → A → D → C
  2. A → D → B → C
  3. C → B → A → D
  4. A → B → D → C

解説

403 はストレージ自身の応答なので、名前解決と経路は届いている。AuthorizationFailure はネットワーク規則で拒否されたときに返るエラーコードで、RBAC のデータ権限が足りない場合は通常 AuthorizationPermissionMismatch になる。しかも昨日変えたのはネットワーク設定なので、まず許可した VNet・IP(A)を確かめる。VNet の規則に一致するには、アプリの通信が VNet 統合したサブネットから Microsoft.Storage のサービスエンドポイント経由で出ている必要があるので、次に D。ロール(B)は長く変えておらずエラーコードも合わないので、D より後。匿名アクセスの有効化(C)は誰でも読める状態にする操作で、ネットワーク規則は匿名の要求にも効くので解決にもならない。

参考: learn.microsoft.com

storagehttp-403network-rulestroubleshootinvestigation-order

この問題を含む Azure のテストを制限時間つきで解く

Azureクイズへ