操作履歴を記録するActionTrailを試してみた

皆さん、こんにちは。エンジニアのMiyaです。

AlibabaCloudのリソースを管理する際に、誰がどんな操作をしたかわからず、困ったことはないでしょうか。今回はユーザーの操作した内容を記録できるActionTrailの機能と操作方法をご紹介したいと思います。

ActionTrailとは

ActionTrail とは、AlibabaCloudアカウント(RAMユーザーを含む)によリ、コンソールまたは API から実行されたイベントを自動的に記録するサービスです。

機能紹介

・リソースの操作履歴の検索

ActionTrailでは、リソースの作成、変更、削除に関連する操作のAPI 呼び出し履歴を確認できます。

また、ユーザー名、イベント名、リソースタイプ、リソース名と期間を組み合わせて、指定する操作履歴を検索することもできます。

・操作履歴を OSS バケットへ保存

ActionTrailのコンソールでは、過去 7 日間に行われた操作しか表示できません。長期保存する場合は、OSSに移行して管理することも可能です。

ActionTrailは通常、ユーザーの操作から10分以内にイベント処理を終了して、OSSに送ります。送られたログは圧縮ファイル(サイズ<=2KB)で保存されるので、OSSの使用容量を最大限に減らします。また、OSSの管理機能 (権限付与、ライフサイクル管理、アーカイブ管理など) を使用して操作履歴ファイルを管理することもできます。

コスト

ActionTrailは現在無料のサービスですが、OSSを併用した場合はOSSの利用料金がかかります。

基本操作

コンソールで操作履歴を検索

「ActionTrail コンソール」に入って、リソースの作成、変更、削除に関連する操作記録を確認できます。OpenAPIからイベントを集めているため、APIを経由しない操作は記録されません。

また、何らかの操作ができなかった場合に、エラーの内容を確認することもできます。以下の図は、操作できない原因は権限がないと表示されています。このように、トラブルシューティングにも利用できます。

もし自分のECSインスタンスが削除された時に、誰が操作したのか確認したい場合、イベント名「DeleteInstance」で検索すると、操作したユーザー名を表示させることができます。

そして、確認したい項目→「イベントの表示」をクリックすると、以下のコードの通り、履歴の詳細がjsonフォーマットで表示されます。

10行目はインスタンスIDで、該当のインスタンスかを確認することができます。17行目は操作元のグローバルIPアドレスで、不正アクセスなどセキュリティー問題を発見できます。26行目はユーザー名で、誰が操作したか確認することができます。(詳しいコードについての説明は以下のリンクを参照してください。現在は英語のサイトしかありません。https://www.alibabacloud.com/help/doc-detail/28819.htm

トレイルを作成してOSSに保存する

トレイルを作成して、自動的にOSS バケットにファイルとして保存することができます。操作手順をご紹介します。

1.「トレイルリスト」ページに入って、リージョンを選択して、「トレイルの作成」をクイックします。

・はじめてトレイルを作成する場合、OSSへのアクセスを許可する必要があります。「権限付与に同意」をクリックします。

2.「トレイル名」「バケット名」などを入力して、「送信」をクリックすると、トレイルを作成できます。バケットやログファイルプレフィックスは後でも変更可能です。

また、一つのアカウントで一つのトレイルのみが作成できます(このトレイルで全リージョンの記録を保存します)。

OSSで履歴ファイルを参照する

OSSバケットに入って、日ごとの、操作ログファイルを確認できます。(以下の図は2018/02/21、2018/02/22、2018/02/23三日間の操作履歴です。)

まとめ

ActionTrail はリソース操作ログを記録するサービスで、操作ログは OSS バケットへの保存が可能です。管理者は、ログデータを検索したり、 アカウントの操作履歴を取得したり、セキュリティおよび運用上の問題を発見したり、トラブルシューティングしたりできます。また、ログ分析プロダクト(E-MapReduce)を使って、操作履歴をより詳細に分析もできます。

 

 

この記事をシェアする