皆さん、こんにちは。エンジニアの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)を使って、操作履歴をより詳細に分析もできます。