Azure Monitor
KeeperPAMイベントとAzure Monitorの連携
Azure Monitor API統合は2025年2月初旬に稼働予定です。
概要
Azure Logs Ingestion APIを介して、イベントをAzure Log Analytics ワークスペーステーブルへ直接ストリーミングできます。
セットアップ手順
Azureで、[Log Analytics ワークスペース]へ移動し、[ワークスペース]を選択後、[Manage Angents] (エージェントの管理) を開きます。ここで、ワークスペースIDとキーを取得できます。これらの2つの情報をKeeperに入力することで、選択したワークスペースへのログストリーミングを開始します。
1. アプリケーションの登録のセットアップ
Azure App登録は、Logs Ingestion APIへのAPIリクエストを認証するために使用します。
設定手順
Azureポータルにアクセスします。
[アプリの登録]に移動し、[新規登録]を選択します。
フォームに以下を入力します。
名前:
KeeperLogging
サポートされているアカウントの種類: デフォルトの[シングルテナント]を選択
リダイレクト URI: ここでは空欄のままにします。
[登録]をクリックします。
登録後の手順
[API の公開]をクリックします。
[Set]をクリックし、アプリケーションID URI を設定します。
デフォルトで提案されるURI (例:
api://[client-id]
) をそのまま使用します。
2. クライアントシークレットの作成
Azureの[アプリの登録]から、[管理] > [証明書とシークレット]に移動し、[新しいクライアント シークレット]を作成します。
[説明]と[有効期限]を設定します。
生成された値をコピーし、Keeperボルトに保存します。
この値は最後の手順で必要になるため、必ず保管してください。
[概要]画面で、ディレクトリ (テナント) IDと表示名も控えておきます。
以下の情報を後で使用するために保存します。
アプリケーション (クライアント) ID
クライアントシークレットID
クライアントシークレットの値 (必ず安全に保管してください)
ディレクトリ (テナント) ID ([アプリの登録]ページに記載されています)
3. Log Analyticsワークスペースの作成
Log Analyticsワークスペースは、Azure Monitorがログデータを収集・保存するための中心的なリソースです。すでにワークスペースを作成済みの場合は、この手順をスキップできます。
Log Analyticsワークスペースの作成手順
Azureで[Log Analytics ワークスペース]に移動します。
[作成] をクリックし、以下の項目を設定します。
[サブスクリプション]: 使用するAzureサブスクリプションを選択
[リソース グループ]: 新規作成または既存のリソースグループを選択
[名前]: わかりやすい名前を設定 (例:
KeeperLogsWorkspace
)[地域]: 任意の地域を選択
[確認および作成]をクリックして内容を確認後、[作成]をクリックします。
4. 登録したアプリケーションにロールを割り当てる
KeeperLoggingアプリケーションに「Log Analytics Contributor」のロールを割り当てます。
[Log Analytics ワークスペース]に移動し、ワークスペース (例:
KeeperDemo1
) 選択します。[アクセス制御 (IAM)]または[Role assignments]を開きます。
[追加] > [ロール割り当ての追加]をクリックします。
「Log Analytics Contributor」と入力し、該当するロールを選択します。
[+メンバーを選択する]をクリックし、一覧からKeeperLoggingアプリケーションを選択します。
[レビューと割り当て]をクリックし、ロールを割り当てます。
5. データ収集エンドポイント (DCE) を作成
データ収集ルール (DCR) を作成する前に、データ収集エンドポイント (DCE) が必要です。
Azureで「データ収集エンドポイント」を検索し、開きます。
[作成]をクリックします。
以下の項目を設定します。
[サブスクリプション]: 使用するAzureサブスクリプションを選択
[リソース グループ]: DCRで使用するものと同じリソースグループを選択
[地域]: 任意のリージョンを選択
[名前]: わかりやすい名前を設定 (例:
KeeperLogsEndpoint)
[作成] をクリックし、作成を完了します。
「Logs Ingestion URL」をメモしておきます (後の手順で使用)。
例:
keeperlogsendpoint-mcag.eastus-1.ingest.monitor.azure.com
6. テーブルとデータ収集ルールを作成
Log Analytics ワークスペースでカスタムテーブルを作成する
[Log Analytics ワークスペース]に移動し、Keeperワークスペースを開きます。
[テーブル]を選択し、[作成]をクリックします。
[新しいカスタムログ (DCRベース)]を選択します。
テーブル名:
KeeperLogs
(例) を入力します。新しいデータ収集ルール (DCR) を作成します。
以下のJSONファイルをコンピューターに保存します。
プロンプトが表示されたら、このJSONファイルをData Sampleとしてアップロードします。
テーブルの作成を完了する
変更内容を確認し、問題がなければリクエストを送信してテーブルを作成します。
作成後、テーブルは
KeeperLogs_CL
として表示されます (Azureが_CL
を自動で付与します)。
7. データ収集ルールにアプリの許可を割り当てる
データ収集ルール (DCR) に KeeperLogging アプリケーションのロールを割り当てる
[データ収集ルール]に移動し、対象のDCR (例:
KeeperDCR
) を選択します。[アクセス制御 (IAM)]または[Role assignments]を開きます。
[追加] > [ロール割り当ての追加]をクリックします。
「Monitoring Metrics Publisher」と入力し、該当するロールを選択します。
[+メンバーを選択する]をクリックし、一覧からKeeperLoggingアプリケーションを選択します。
[レビューと割り当て]をクリックし、ロールを割り当てます。
同じ手順を繰り返し、以下のロールも追加します。
Monitoring Contributor
Monitoring Reader
8. データ収集エンドポイントにアプリの許可を割り当てる
データ収集エンドポイント (DCE) に KeeperLoggingアプリケーションのロールを割り当てる
[データ収集エンドポイント]に移動し、対象のDCE (例:
KeeperLogsEndpoint
) を選択します。[Role assignments]を選択します。
[追加] > [ロール割り当ての追加]をクリックします。
「Monitoring Metrics Publisher」と入力し、該当するロールを選択します。
[+メンバーを選択する]をクリックし、一覧からKeeperLoggingアプリケーションを選択します。
[レビューと割り当て]をクリックしてロールを割り当てます。
同じ手順を繰り返し、「Monitoring Contributor」ロールも追加します。
これでAzure側の設定は完了です。次に、管理コンソールの設定を行います。
9. 管理コンソールを更新
Keeper管理コンソールでの設定手順
Keeper管理コンソールにログインし、Keeper管理者として操作します。
[レポート&アラート]に移動し、[Azure Monitor Logs]を選択します。
以下の情報を入力します (「クライアントシークレットの作成」で取得したもの)。
AzureテナントID: Azureの[サブスクリプション]セクションで確認できます。
アプリケーション (クライアント) ID: アプリ登録 (KeeperLogging) の[概要]画面から取得します。
クライアントシークレットの値: アプリの登録のシークレットから取得したクライアントシークレットの値。
エンドポイントURL: 以下の形式で作成されたURLです。
https://<collection_url>/dataCollectionRules/<dcr_id>/streams/
?api-version=2023-01-01
エンドポイントURLの要素
<Collection URL>
: 手順5で得たURL<DCR_ID>
: データ収集ルール (DCR) から取得したImmutable Id (例:dcr-xxxxxxx
)<TABLE>
: Azureで作成したテーブル名 (例:Custom-KeeperLogs_CL
)
10. セットアップ完了
KeeperからAzure MonitorにSIEMログが送信されると、数分以内にCustom Logsテーブルにデータが表示され始めます。
トラブルシューティング
Bearerトークンを取得する手順
以下の情報を置き換えて、リクエストを送信します。
<Tenant_ID>
: 手順9で取得したテナントID<Application_ID>
: 手順9で取得したアプリケーション (クライアント) ID<Client_Secret_Value>
: 手順9で取得したクライアントシークレットの値
これらを使って、Bearerトークンを取得するためのリクエストを行います。
環境に応じたスコープの変更
Azure Public Cloud の場合: https://monitor.azure.com
Azure US Government Cloud の場合: https://monitor.azure.us
リクエストを行う際に、使用する環境に合わせて適切なスコープを設定してください。
Curlリクエストでトークンを取得する
実行すると、以下のようなトークンが返されます。
次の手順で、このトークン (access_token
) を使用してKeeperイベントログを取得するための Curlリクエストを送信します。
SIEMイベントを送信
以下のようにCurlリクエストを送信してください。
以下の各部分を置き換えてください。
<ENDPOINT_URL>
: 上記の手順9で作成したURL<TOKEN>
: 上記で取得したBearerトークン
備考
Bearerトークンは1時間後に失効します。
イベントは数分後にLog Analyticsワークスペースに表示されます。
Last updated