Azure Storageのアクセス ログの有効化手順について

1 minute read

質問

ストレージ アカウントの診断設定を有効化することで、データの書き込みや読み取り操作のアクセス ログを取得したいです。どのように設定をすればよいですか。

回答

書き込みや読み取りといったデータ プレーンのアクセス ログについては、診断設定から採取設定が必要となります。Azure Portalでの診断設定の設定手順を以下に記載します。

(1) ブレード メニューの[監視]-> [診断設定]をクリックします。

image-dd2d9684-9cbf-4dc4-ac13-33d5814f0900.png

ストレージ アカウント名のほかに、ホストされている4つのストレージ サービス、blob, queue, table, fileが表示されます※1。ストレージ アカウントでは、個々のストレージ サービス単位で診断設定を構築し、アクセス ログの転送設定を行うことができます。
image-133ebc4f-4892-4a14-a086-73fb8e31f04b.png
(2) 本記事では例としてblobを選択し、Blob Storageの診断設定を構築します。その他 3つqueue, file, tableのストレージ サービスにおいても設定手順は同様となります。

image-fed9036f-3d82-4e68-9c1c-4a1583c69a84.png
(3) [+診断設定を追加する]を押下します。

image-6c67924b-8fb0-408d-b919-b3a2c76416f9.png

(4) Azure Monitor の診断設定のドキュメントに記載のある設定画面が表示されます。要件に沿うよう、ログのカテゴリと送付先のサービスを選択ください。カテゴリの詳細は診断設定のカテゴリ グループをご参照ください。

サポートより採取を依頼した際は、allLogsをご選択ください。

image-bb3f113e-f209-43d2-b75e-e08f1af090bc.png

(5) 送付先としてストレージ アカウントを設定した場合、insights-logsのprefixを持つコンテナーにそれぞれログが格納されます。
image-e3f0c53f-465d-437d-84f5-b7afd6c34446.png

ストレージ サービスの種類が異なるものや、別のストレージ アカウントのアクセス ログも同じコンテナーにフォルダ分けされて格納されます。対象のストレージ サービスとアカウント名の配下のアクセス ログをご参照ください。複数のファイルをGUIでダウンロードする場合は、当BLOGの複数の BLOB をまとめてダウンロードする方法 に方法を記載しておりますので、ご参照ください。

補足

ストレージ アカウント スコープで診断設定を構築しても、アクセス ログの取得とはなりません。 下記画面の通り、メトリクスの取得のみとなります。blobなど対象のサービス レベルで診断設定を構築する必要があります。

image-6ec19a2d-011b-4b06-b602-e27818f54cb0.png

また一部、記録されない操作もありますので、ご注意ください。詳細はAzure Blob Storage の監視でご確認いただけます。
たとえば、別のストレージ アカウントに送付したアクセス ログは手順(5)の通り、insights-logsのprefixのコンテナーに格納されますが、このコンテナ一に対するアクセス ログは診断設定で、記録することが叶いませんので、診断設定(クラシック)を用いてログを記録する必要があります。診断設定(クラシック)で、ログを有効化する手順については ログの有効化をご参照ください。

まとめ

本記事ではストレージ アカウントにホストされるストレージ サービスごとのアクセス ログの収集方法を記載しました。
ストレージ アカウント レベルではなく、blob, queue, table, fileの個別のサービスごとに設定を実施するものとなりますので、ご注意ください。

注釈

※1: Premium Storageなど、SKUによっては、サービスが4つホストされないことがあります。

タグ:

更新日時: