🎼

Azure Container Registory で接続元 IP を記録する

2022/11/11に公開

Azure Container Registory (ACR) にて、接続元 IP を記録しておくニーズが出てきたので調べてみました。

取得方法

ACR における push, pull 等の操作は、その件数であれば既定のメトリクスで取得されており、簡単に確認することができます。

が、接続元 IP 等の詳細な情報は、診断ログを取得する必要があります。

やってみた

診断ログの取得

ACR の診断ログを Log Analytics に取得するよう設定しておきます。

わたしの環境では、こんな感じ。

ACR へのイメージのプッシュ

手前味噌ですが、下記の記事を参考に ACR にイメージをプッシュします。

診断ログの確認

しばらく後、診断ログを確認してみます。

ContainerRegistryLoginEventsContainerRegistryRepositoryEvents というテーブルがあり、前者には ACR へのログインのログ、後者には操作のログが格納されています。

Kusto クエリにて下記のように指定して実行すれば、操作の種類と IP を取得することができます。

table('ContainerRegistryRepositoryEvents')
 | project TimeGenerated, OperationName, CallerIpAddress

なお、ACR へのログインを行った IP についても取得したい場合は、ContainerRegistryLoginEvents から取得が可能です。

まとめ

ということで、ACR の診断ログにて接続元 IP を取得する方法でした。
このあたりの情報を保管しておけば、IP 的な監査はできますね!

Discussion