Autonomous Database監査ログを監視する方法 (2024/04/23)
https://blogs.oracle.com/observability/post/monitoring-atpautonomous-transaction-processing-database-audit-logs-using-logging-analytics
投稿者:Chaitanya Kulkarni | Senior Member of Technical Staff
Drupad Panchal | Consulting Member of Technical Staff
Zubair Ansari | Senior Director of Product Management
Autonomous Database監査ログを収集するためのOCI Marketplaceアプリケーション
トランザクション処理Autonomous Database(ATP)の監査ログ(アプリケーション)を監視するためのOCI Marketplaceアプリケーションは、OCI Logging Analyticsクラウド・サービス(Logging Analytics)で分析のためにATP監査ログの処理を開始するために必要な構成を自動化します。これには、OCI Marketplaceで利用可能な自動デプロイメントTerraformスクリプトのコレクションが含まれています。アプリケーションは、OCI Resource Managerを使用して、単一のボタンをクリックするだけで、アプリケーションで指定されたクラウド・インフラストラクチャとサービスを作成およびデプロイします。これにより、デプロイメントが大幅に簡素化され、ユーザーが迅速にオンボーディングできるようになります。
このアプリケーションは、Logging Analyticsの顧客のテナンシで実行されているATPインスタンスから統合DB監査ログを取り込むように構成された、新しいコンピュート・インスタンス上のOCI管理エージェントを構成するOCI Resource Managerスタックを作成します。このアプリケーションは、ATPを監視するためのResource Managerスタック構造を示し、本番デプロイメント用の複数のATPインスタンスの監視を可能にするように拡張できます。
Logging Analyticsを使用すると、その生データをすべて簡単にインサイトに変換できます。そのため、オペレータは、問題を調査するのではなく、問題の修正に時間を費やすことができます。データ自体だけでなく、ログ・データの意味を明らかにする即時利用可能なログ・エンリッチメントを提供します。また、事前にチューニングされた業務に最適化された機械学習とビジュアライゼーションを提供することで、何千万ものログ・エントリにわたって拡張できるので、質問を簡単に行うことができます。
ノート: Logging Analyticsは、このスタックが起動されるリージョンで、必要なポリシーとともにテナンシにオンボーディングする必要があります。関連項目: https://docs.oracle.com/en-us/iaas/logging-analytics/doc/quick-start.html
アプリケーションでは、次のリソースが順番に作成されます。
コンピュートおよび管理エージェントの動的グループ
Logging Analytics・ログのアップロード、OCI Vaultの読取り、資格証明ウォレットの作成のためのIAMポリシー
管理エージェントを実行するコンピュート・インスタンス
管理エージェント
Logging Analytics・エンティティ
アーキテクチャ
https://blogs.oracle.com/content/published/api/v1.1/assets/CONTDC49BA8E3C914F08A17E43025BA3BA58/Medium?cb=_cache_8cb2&channelToken=32b6159b1a584abfbf8cc69776aefcb0&format=jpg
図1: 管理エージェントを使用したATPログ収集
このアーキテクチャには次のコンポーネントがあります。
Computeインスタンス
Oracle Cloud Infrastructure Computeサービスを使用すると、クラウド内のホストをプロビジョニングおよび管理できます。CPU、メモリー、ネットワーク帯域幅およびストレージのリソース要件を満たすシェイプでコンピュート・インスタンスを起動できます。コンピュート・インスタンスの作成後は、セキュアにアクセスし、再起動し、ボリュームをアタッチおよびデタッチし、不要になったときに終了できます。
Autonomous Transaction Processing(ATP)
Oracle Autonomous Transaction Processingは、トランザクション処理のワークロード向けに最適化された、自動運転、自己保護、自己修復が可能なデータベース・サービスです。ハードウェアの構成や管理、ソフトウェアのインストールを行う必要はありません。Oracle Cloud Infrastructureは、データベースの作成、およびデータベースのバックアップ、パッチ適用、アップグレードおよびチューニングを処理します。
Resource Managerおよびスタック
OCI Resource Managerは、Terraformスクリプトのコレクション(スタックとも呼ばれる)を実行するための簡略化されたユーザー・インタフェースを提供します。Resource Managerには、問題のトラブルシューティングや、使用されなくなった後のリソースのクリーン・アップ(破棄)のオプションに役立つ予行演習(プラン)を実行する機能もあります。
Terraform
基盤となるテクノロジは、Resource Managerがクラウド・サービスやインフラストラクチャを開発およびデプロイするために使用されます。
Vault
Oracle Cloud Infrastructure Vaultを使用すると、データを保護する暗号化キーと、クラウド内のリソースへのアクセスを保護するために使用するシークレット資格証明を一元的に管理できます。
Logging Analytics
Oracle Cloud Logging Analyticsは、Oracle Cloud Infrastructureのクラウド・ソリューションで、アプリケーションとシステム・インフラストラクチャのすべてのログ・データの索引付け、エンリッチ、集約、探索、検索、分析、関連付け、可視化および監視が可能です。
Logging Analyticsダッシュボード
Oracle Cloud Logging Analyticsダッシュボードは、検索データを理解して分析するのに役立つフォームで表示するために使用されます。カスタマイズされたダッシュボードへのアクセス権を提供し、このアプリケーションで取得されたDB監査ログにアクセスします。
管理エージェント
管理エージェントは、Oracle Cloud Infrastructureとその他のデータ・ソースとの間の低レイテンシの対話型通信およびデータ収集を提供するサービスです。このアプリケーションでは、ATPインスタンスからログ・データを収集するために使用されます。
OCI動的グループおよびIdentity and Access Managementポリシー
動的グループを使用すると、Oracle Cloud Infrastructure Computeインスタンスまたは管理エージェントなどのその他のリソースを(ユーザー・グループと同様)プリンシパル・アクターとしてグループ化できます。ユーザーは、プリンシパル・アクターがOCIサービスに対してAPIコールを実行できるように、このグループのポリシーを作成します。動的グループを使用すると、ユーザーは一連の照合ルールを定義して、グループ メンバーを定義できます。これにより、グループにメンバーを明示的に追加する必要がなくなります。
統合DB監査ログ
データベース監査ログは、このアプリケーションのATPインスタンスから取得され、それらのログはLogging Analyticsダッシュボードに表示されます。
Resource Managerスタックを起動するための前提条件および必須ポリシー
ユーザーは、Administratorグループに属しているか、Resource Managerスタックを起動するために必要な権限を持っている必要があります。
Logging Analyticsによる完全なオンボーディング
テナンシには、コンピュート・インスタンスを作成するVCNとサブネットが必要です。
モニターするATPインスタンスへのアクセス
ATPインスタンス上のログへのアクセスに使用するATPユーザー・パスワードを持つVaultシークレットの作成
ポリシー
実行中のユーザーが管理グループに属していない場合、ユーザーはResource Managerスタックを起動するための次の権限を持っている必要があります。ユーザー・グループの作成と管理の詳細は、このドキュメントを参照してください。
# OCIResource Managerでスタックおよびジョブを管理するために必要なポリシー
ALLOW GROUP <User-Group> TO MANAGE orm-stacks IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE orm-jobs IN TENANCY
# IAMリソースの読取りおよび管理に必要なポリシー
ALLOW GROUP <User-Group> TO READ compartments IN TENANCY
ALLOW GROUP <User-Group> TO READ tenancies IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE dynamic-groups IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE policies IN TENANCY
# ATPおよびVaultシークレットの読取りに必要なポリシー
ALLOW GROUP <User-Group> TO INSPECT autonomous-databases IN TENANCY
ALLOW GROUP <User-Group> TO INSPECT secrets IN TENANCY
コンピュート・インスタンスの作成に必要なポリシー数
ALLOW GROUP <User-Group> TO READ vcns IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE subnets IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE instance-family IN TENANCY
# Oracle Cloud Agentプラグインの管理および管理エージェントの有効化に必要なポリシー
ALLOW GROUP <User-Group> TO MANAGE instance-agent-plugins IN TENANCY
ALLOW GROUP <User-Group> TO USE volume-family IN TENANCY
ALLOW GROUP <User-Group> TO USE virtual-network-family IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE management-agents IN TENANCY
ALLOW GROUP <User-Group> TO READ metrics IN TENANCY
#Logging Analytics・リソースへのアクセスおよび管理に必要なポリシー
ALLOW GROUP <User-Group> TO MANAGE loganalytics-features-family IN TENANCY
ALLOW GROUP <User-Group> TO MANAGE loganalytics-resources-family IN TENANCY
スタックを使用する前にVaultシークレットを設定
このスタックを使用する前に、ATPパスワードを含むVaultシークレットを作成する必要があります。パスワードはVaultに格納され、その使用がTerraform構成ファイルまたは状態ファイルのクリア・テキストで取得されないようにします。
シークレットを作成および管理するには、Vaultのドキュメントを参照してください。
Marketplaceアプリケーションからのスタックのデプロイ
1. Oracle Cloudへのログイン
2. ハンバーガーメニューから「マーケットプレイス」→「マーケットプレイス」(再度)を選択し、利用可能なすべてのアプリを表示します。
3. Autonomous Transaction Processing (ATP)データベース監査ログ・モニタリング・アプリケーションを検索するには、検索キーワード「Logging Analytics」を入力します。
4. スタック・バージョンおよびコンパートメントの選択
5. Oracleの標準条件および制限を確認し、「確認して同意しました」チェック・ボックスを選択します。
6. 青い「起動スタック」ボタンを押して開始します
7. Resource Managerを使用したスタックの適用を続行
Githubからのスタックのデプロイ
クイックデプロイ
1. https://github.com/oracle-quickstart/oci-management-agentを参照します。
2. ページのREADME.mdセクションの「Oracle Cloudにデプロイ」ボタンをクリックします。
3. 「Oracle使用条件を確認して同意しました」をチェックし、「次」を押します
4. Resource Managerを使用したスタックの適用に進む
ソース・コードを使用してデプロイ
1.gitリポジトリのクローニング
git clone https://github.com/oracle-quickstart/oci-management-agent
2.Terraformスクリプト・ディレクトリを参照します。
cd OciMarketplaceApps/ManagementAgent
3. ハンバーガー・メニューから、「開発者サービス」→「Resource Manager」にナビゲートします(スクリーンショット: Resource Managerにナビゲート)
4. 左側の「Resource Manager」メニューから「スタック」をクリックします。
5. 「スタックの作成」ボタンを押してスタックの作成を開始します(スクリーンショット: スタックの作成)
6. Terraform構成のオリジンとして「My Configuration」を選択します(スクリーンショット・スタック構成)
7. Terraform構成ソースとして「フォルダ」を選択します
8. 割り当てられた領域のフォルダ・コンテンツをドラッグ・ドロップします
9. Resource Managerを使用したスタックの適用を続行
図2: Resource Managerへのナビゲート
図3: スタックの作成
図4: スタック構成
Resource Managerを使用したスタックの適用
「スタック情報」セクション
1. スタック情報が正しく表示されていることを確認します(スクリーンショット: スタック構成)
2. スタックを一意に識別する「名前」フィールドに移入します。
3. オプションで、このスタック・デプロイメントを正確に説明する説明を追加します
4. 「コンパートメントに作成」ドロップダウンからコンパートメントを選択します(スクリーンショット: スタックのコンパートメント)
5. オプションで、ネームスペース・タグを指定して、リソースを編成およびトラッキングします。
6. 青い「次へ」ボタンを押して、「変数の構成」画面に進みます。
図5: スタック構成
図6: スタックのコンパートメント
「変数の構成」セクション
Autonomous Database for Transaction Processingの詳細
1. 「ATPコンパートメント」を選択します(スクリーンショット: 「ATP詳細」)。
2. モニターするATPデータベースの選択
3.ATPユーザー名の移入
4.'Vaultシークレット'が存在するVaultコンパートメントを選択します
5. ドロップダウン・リストから「Vaultシークレット」を選択します(「Vaultシークレットの設定」の項を参照)
6. ドロップダウン・リストからデータベース・サービス名を選択します。
7. ドロップダウン・リストからLogging Analytics・ログ・グループOCIDを移入します。
図7: ATPの詳細
コンピュート・インスタンスの詳細
1. コンピュート・インスタンスを一意に識別するためにインスタンス名を移入します(スクリーンショット: コンピュート・インスタンスの詳細)
2. ドロップダウン・リストから可用性ドメインを選択します
3.OL7と互換性のある目的のインスタンス・シェイプを選択します
4. ドロップダウン・リストから既存のVCNを選択します
5. ドロップダウン・リストから既存のサブネットを選択します
6. コンピュート・インスタンスにアクセスするためのSSH公開キーを指定します
図8: コンピュート・インスタンスの詳細
管理エージェントIAMポリシー
スタックは、常にデフォルトのポリシー(スクリーンショット: ポリシー)を作成するように構成されています。必要なポリシーがすでに存在する場合は、「デフォルト・ポリシーの設定」チェック・ボックスの選択を解除します。
青色の「Next」ボタンを押して「Review」画面に進みます。
図9: 管理エージェントIAMポリシー
レビュー・セクション
前の画面に入力したすべての情報を確認します。
現時点では、「適用の実行」チェック・ボックスの選択を解除したままにします。
青い「作成」ボタンを押してスタックの作成を終了します
スタックの詳細および実行
計画
プランニング・フェーズを検証ステップとして実行し、次のステップでステップを適用する際に問題がないことを確認します。適用を実行する前に、計画を実行し、ログを確認することをお薦めします。
1. 「計画」ボタンを押して計画ジョブの作成を開始します
2. プラン・ジョブを一意に識別する名前を指定します
3. 青い「計画」ボタンを押して計画済ジョブを実行します(スクリーンショット: 計画の実行)
4. 同じ画面のログ・セクションをレビューして、問題が特定されなかったことを確認します
5. ブレッドクラム・メニューから「スタック詳細」を選択します
6. 「ジョブ」セクションで、プランの状態が「成功」と表示されていることを確認します。
図10: 計画の実行
適用
スタックを適用してコンピュートの作成、管理エージェントの有効化、プラグインのインストール、エンティティ・アソシエーションの作成、ログの取得の開始を行います
1. 「適用」ボタンを押して適用ジョブの作成を開始します
2. 適用ジョブを一意に識別する名前を指定します
3. 適用ジョブ・プラン解決を自動承認に保持
4. 青色の「適用」ボタンを押して適用ジョブを実行します(スクリーンショット: 「適用の実行」)。
5. 同じ画面のログ・セクションをレビューして、問題が特定されなかったことを確認します
6. 「ジョブ情報」セクションで、適用ジョブの状態が「成功」と表示されていることを確認します。
7. 左側の「リソース」の下にある「出力」をクリックして、実行出力情報を表示します。
8. 「アプリケーション情報」タブを選択して、新しく作成したリソースへのリンクにアクセスします。
図11: 適用の実行
トラブルシューティング
スタックを適用するときに予期しない問題をトラブルシューティングするために、次に示す検証を使用できます。これらは、スタックが適用されたときに有効なSSH公開キーが指定され、管理エージェントを実行するためにコンピュート・インスタンスが作成されたことを前提としています。ユーザーは、SSHキーを使用してコンピュート・インスタンスにログインし、必要な検証を実行できます。
管理エージェント・ログのLogging Analytics・エンティティ名を確認してください
grep '<entity-name-in-use>' /var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/log/mgmt_agent_logan.log
Vaultシークレットが管理エージェントWalletに登録されていることを確認します
管理エージェントにある資格証明管理ツールを使用して、ボールト・シークレットがウォレットに追加され、使用するために正しく構成されていることを確認します。
/var/lib/oracle-cloud-agent/plugins/oci-managementagent/polaris/agent_inst/bin/credential_mgmt.sh -o listCredentials -s logan
Cloud-Initログの確認
grep 'Successfully added secrets to agent wallet' /var/log/cloud-init-output.log
grep 'Successfully deployed logan plugin' /var/log/cloud-init-output.log
grep 'Successfully enabled auto association' /var/log/cloud-init-output.log
参照情報
Marketplace Apps: ATP監査ログの監視は、ATPインスタンスからデータベース監査ログを取得し、Logging Analytics・ダッシュボードに表示するのに役立つOCI Marketplaceで使用できます。
GitHub: 管理エージェントのTerraformスクリプト- クイック・スタートは、特定の監視要件を満たすリソースをカスタマイズおよび作成したいユーザーのために、GitHubでも使用できます。
コメント
コメントを投稿