選択したサービスからの監査データのストリーミング

選択した IBM Cloud® サービスによって生成された監査データを、IBM Cloud Logs インスタンスから、IBM® Cloud Logs と Event Streams を統合することで、セキュリティ情報とイベント管理 (SIEM) ツールなどの他の企業ツールに接続できます。

前提条件

  • IBM® Event Streams for IBM Cloud®インスタンスは、データをストリームする予定のIBM Cloud Logsインスタンスと同じアカウントにプロビジョニングされます。

    サービス・プランの制限事項を確認します。 詳しくは、制限と割り当て量を参照してください。

  • IBM® Event Streams for IBM Cloud®インスタンスにトピックを作成する権限があります。

    Event Streams でトピックを作成するには、 Event Streams インスタンスのマネージャ・ ロールが必要です。 このロールには messagehub.topic.manage このロールには、アプリまたはユーザーがトピックを作成または削除できるようにする IAM アクション・ロールが含まれます。

  • ストリームしたい監査イベントをIBM® Cloud Logsインスタンスにルーティングします。

  • IBM® Cloud Logsインスタンスでストリーミングを設定する権限があります。

    manager サービス・ロールを持つ必要があります。

サービス名でフィルタリングしたい場合は、logSourceCRN からサービス名などの特定の値を抽出する解析ルールが必要になるかもしれません。

ストリーミング・ルールの定義

IBM® Event Streams for IBM Cloud®にストリームする監査イベントをフィルタリングするルールを定義できます。

次の表に、設定可能なルールをいくつか示します:

ルールの例
ルールの説明 ルール
すべての監査イベントをストリームする <v1> $l.applicationname =='ibm-audit-event'
1サービスからのストリーム監査イベント <v1> $l.applicationname =='ibm-audit-event' && $d.serviceName =='REPLACE_WITH_CRN_SERVICE_NAME'
2つのサービスからのストリーム監査イベント <v1> $l.applicationname =='ibm-audit-event' && ( $d.serviceName =='REPLACE_WITH_CRN_SERVICE_NAME_1' || $d.serviceName =='REPLACE_WITH_CRN_SERVICE_NAME_2' )
重要度の高いストリーム監査イベント <v1> $l.applicationname =='ibm-audit-event' && $d.severity =='REPLACE_WITH_SEVERITY_VALUE'

有効な深刻度の値は以下の通りです:normalwarningcritical です。

選択したサービスからの異なる重大度値を持つストリーム監査イベント <v1> ( ( $l.applicationname =='ibm-audit-event' && ( $d.serviceName =='REPLACE_WITH_CRN_SERVICE_NAME_1' || $d.serviceName =='REPLACE_WITH_CRN_SERVICE_NAME_2' ) && $d.severity =='REPLACE_WITH_SEVERITY_VALUE') ) || ( $l.applicationname =='ibm-audit-event' && $d.serviceName =='iam-identity' && $d.severity =='REPLACE_WITH_SEVERITY_VALUE')

有効な深刻度の値は以下の通りです:normalwarningcritical です。

requestData または responseData セクションのデータに基づくストリーム監査イベント $d.requestData.REPLACE_WITH_FIELD_NAME

例えば、フィールド requestId に対して、<v1> $d.requestData.requestId を設定することができます

詳細については、ストリーミング・データ・ルールの設定 を参照してください。

これらの例には <v1> 接頭辞が含まれていることに注意してください。 この接頭辞は、UIを使うときに自動的に含まれるので、指定する必要はない。 しかし、APIで使われるDPXL式は、<v1> という接頭辞で始まらなければなりません。

例えば、選択したサービスから異なる重大度値を持つ監査イベントをフィルターするには、次のようにクエリーを定義します:

<v1> ( ( $l.applicationname =='ibm-audit-event' && ( $d.serviceName =='iam-am' ||  $d.serviceName =='cloud-object-storage' ) && $d.severity =='critical') )
|| ( $l.applicationname =='ibm-audit-event' && $d.serviceName =='iam-identity' && $d.severity =='normal')

ストリーミング・ルールを検証する

ストリーミング・ルールを確認するには、左側のナビゲーションでログを検索をクリックします。 DataPrime クエリーを選択し、クエリーを以下のように変更する:

filter 'PASTE_YOUR_CONDITION'

クエリの出力は、ストリーミング設定を有効にすると、ストリーミ ングされるログレコードのリストを与えるはずである。

例えば、<v1> $l.applicationname =='ibm-audit-event' を次のように変更する:

filter $l.applicationname =='ibm-audit-event'

監査イベントのストリーミング設定

ストリーミングを設定するには、IBM Cloud LogsとEvent Streams の統合を参照してください。