この記事は Microsoft Azure Tech Advent Calendar 2021 の 22 日目の記事になります。
こんにちは、Azure テクニカル サポート チームの木下です。
今回は Azure Files の診断設定機能を紹介いたします。
Azure Files へのアクセスについて、「いつ、誰が、どのオブジェクトに、どのような操作を行ったか」という情報を取得したいというお問い合わせをいただくことがございます。
Azure Files へアクセスした際のログは、Azure Files の診断設定機能を使用することで、アクセス要求元や操作内容を大まかに把握することができます。
この記事では Azure Files 診断設定機能の設定方法とどのようなログを取得することができるのかを紹介していきます。
概要
- Azure Files 診断設定の設定手順
- 診断ログ内容を確認
1. Azure Files 診断設定の設定手順
1-1. Azure Portal > 対象のストレージ アカウントに移動します。
1-2. [監視] > [診断設定] をクリックします。
1-3. 診断設定を有効にする種類として [file] を選択します。
1-4. [診断設定を追加する]をクリックします。
1-5. [診断設定]ページにて、「診断設定の名前」、取得するログ操作の「カテゴリ」と「宛先の詳細」を選択します。
- 診断設定の名前:任意の名前
- ログ:取得するログ操作のカテゴリ (StorageRead(読み取り)、StorageWrite(書き込み)、削除(StorageDelete))
- 宛先の詳細:ログの送信先 ※ここではログの送信先としてストレージ アカウントを選択しています。
これで Azure Files の診断設定が完了です。
2. 診断ログ内容を確認
1 の手順にて診断ログの送信先をストレージ アカウントへ設定した場合、以下の画像のように送信先ストレージ アカウント内の各コンテナーにログが格納されることとなります。
※ログは定期的に収集されますので、タイムラグが発生する可能性がございます。
カテゴリ | 説明 | 送信先ストレージ アカウント内コンテナー名 |
---|---|---|
StorageRead | オブジェクトに対する読み取り操作。 | insights-logs-storageread |
StorageWrite | オブジェクトに対する書き込み操作。 | insights-logs-storagewrite |
StorageDelete | オブジェクトに対する削除操作。 | insights-logs-storagedelete |
Azure Files 内のオブジェクトに対して、「いつ、誰が、どのオブジェクトに、どのような操作を行ったか」を把握するために、Azure Files の診断設定にて取得したログを確認してみましょう。
プロパティ | 説明 | 把握したい情報 |
---|---|---|
time | ストレージで要求が受信された協定世界時 (UTC) での時刻。 (例: 2018/11/08 21:09:36.6900118)。日本時間の場合は UTC +9 時間。 | いつ |
category | 要求された操作のカテゴリ。 例: StorageRead、StorageWrite、またはStorageDelete。 | 操作内容 |
operationName | 実行された REST 操作の種類。 | 操作内容 |
callerIpAddress | ポート番号を含む要求元の IP アドレス (例: 192.XXX.X.XXX:4362)。 | 誰が |
smbPrimarySID | 要求元の SID | 誰が |
uri | 要求された Uniform Resource Identifier | 対象オブジェクト |
properties | 要求された操作の詳細 | 対象オブジェクト |
上記のように、各プロパティを確認することで、「いつ、誰が、どのオブジェクトに、どのような操作を行ったか」の情報を得ることができます。
ただし、Azure Files へアクセスいただく際に使用されるプロトコルや認証方法により取得できるリソース ログのプロパティは異なります。
Azure Files にて使用可能なプロトコルや認証方法については以下をご参照ください。
<参考>
- Azure Files とは
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-files-introduction - SMB アクセスの Azure Files ID ベース認証オプションの概要
https://docs.microsoft.com/ja-jp/azure/storage/files/storage-files-active-directory-overview - ストレージ アカウント アクセス キーを管理する
https://docs.microsoft.com/ja-jp/azure/storage/common/storage-account-keys-manage?tabs=azure-portal
それでは、プロトコル、認証方法別にリソース ログのサンプルを見ていきます。
以下は取得されたログの一例であり、すべてのログが網羅されているものではございませんのでご了承ください。
2-1.SMB プロトコル・ストレージ アカウントキー認証の場合
SMB プロトコルを使用し Azure Files をストレージ アカウントキー認証でマウント後、Azure Files 配下のオブジェクトを操作した際のログとなります。
操作の要求元に関ましてアクセス元の IP アドレスの取得は可能ですが、詳細なユーザー情報の特定までは叶いません。
category: StorageRead
1 | 例 |
category:StorageWrite
1 | 例 |
category: StorageDelete
1 | 例 |
2-2.SMB プロトコル・ID ベース認証の場合
SMB プロトコルを使用し Azure Files を ID ベース認証でマウント後、Azure Files 配下のオブジェクトを操作した際のログとなります。
ID ベース認証を使用したアクセスの場合、リソース ログに SID が出力されるため、SID よりユーザーを特定することができます。
例として使用した 2 つのユーザーの SID は以下となります。
1 | User Name SID |
category: StorageRead
1 | 例 |
category: StorageWrite
1 | 例 |
category: StorageDelete
1 | { |
2-3.NFS プロトコルの場合
NFS プロトコルを使用し Azure Files をマウント後、Azure Files 配下のオブジェクトを操作した際のログとなります。
なお、NFS プロトコルでの操作の場合、操作日時、操作内容までの確認はできますが、要求元の IP アドレスや対象オブジェクトの特定は叶いません。
category: StorageRead
1 | 例 |
category:StorageWrite
1 | 例 |
2-4.HTTPS プロトコルの場合
Azure Portal より Azure Files 配下のオブジェクトを操作した際のログとなります。
操作の要求元に関しましてアクセス元の IP アドレスの取得は可能ですが、詳細なユーザー情報の特定までは叶いません。
category: StorageRead
1 | 例 |
category:StorageWrite
1 | { |
category: StorageDelete
1 | { |
Note
より詳細なプロパティと説明に関しては、下記公開情報におまとめしておりますので併せてご参照ください。
-参考:
リソース ログ
StorageFileLogs
https://docs.microsoft.com/ja-jp/azure/azure-monitor/reference/tables/storagefilelogs
本稿は以上となりますが、いかがでしたでしょうか。 本稿が皆様のお役に立てれば幸いです。
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。