ノート:

クロステナンシ・コネクタ・ハブとOCIストリームを使用したSIEM統合のためのテナンシ間のログの統合

イントロダクション

Oracle Cloud Infrastructure(OCI)は、大規模企業が信頼するInfrastructure-as-a-Service(IaaS)、Platform-as-a-Service(PaaS)およびSoftware-as-a-Service(SaaS)です。ホスティング、ストレージ、ネットワーキング、データベースなどを含む包括的なマネージド・サービスを提供します。

セキュリティ関連のイベントのログを適切なリソースにトリアージするためにプロアクティブに提示することは、サイバーセキュリティ・インシデントを検出して防止するために重要です。多くの組織は、セキュリティ情報およびイベント管理(SIEM)プラットフォームを使用して、関連するアセットからのログとアラートを関連付け、分析しています。適切な期間にキー・ログの取得と保持を適切に構成するとともに、ほぼリアルタイムの監視とアラートにより、Security Operationsチームは問題を特定し、システムのチューニングに基づいて重要な情報に焦点を当て、適切なアクションを実行できます。

OCIログを取り込むベストプラクティスのパターンは、OCIストリームにログを送信することです。OCIストリームは、Apache kafka互換であるため、サード・パーティのSIEMプラットフォームがKafkaコンシューマとしてログを消費しやすくなり、遅延が減少し、SIEM側でデータ消費の一時的な問題が発生した場合に備えて回復力と保持力が提供されます。

アーキテクチャの図

複数のテナンシを管理する場合、すべてのテナンシの各リージョンをSIEMプラットフォームと個別に統合するのではなく、特定のリージョン内の複数のソース・テナンシ(SourceTenant))のログを単一のテナンシ(TargetTenant)OCIストリームに統合するには、クロステナンシ・コネクタ・ハブを作成します。SIEMプラットフォームでは、TargetTenantストリームを介して、そのリージョン内のすべてのテナンシのログを取り込むことができます。

ノート: OCI Connector Hubサービスは、現在、リージョン間コネクタ・ハブをサポートしていません。

次のイメージに、ソリューション・アーキテクチャの高レベル表現を示します。

ソリューション・アーキテクチャの図

承認、許可および定義ステートメント

リソースにアクセスして共有するには、両方のテナンシの管理者(SourceTenantおよびTargetTenant)は、アクセスと共有が可能なリソースを明示的に示す特別なクロステナンシ・ポリシー・ステートメントを作成する必要があります。これらの特別なステートメントは、Endorse、AdmitおよびDefineという動詞を使用します。

クロステナンシ・ステートメントで使用される特別な動詞の概要:

「承認」ステートメントと「承認」ステートメントは連携して機能します。アクセス権を指定する対応ステートメントがない場合、特定の承認または許可ステートメントはアクセス権を与えません。両方のテナントがアクセスに同意する必要があります。

ノート:

目的

前提条件

タスク1: TargetTenantでのストリームの作成

OCIストリーミング・サービスは、開発者およびデータ・サイエンティスト向けの、リアルタイムでサーバーレスなApache Kafka互換イベント・ストリーミング・プラットフォームです。大量のデータ・ストリームをログなどのリアルタイムで収集および消費するための、スケーラブルで耐久性の高いフルマネージド・ソリューションを提供します。OCI Streamingは、パブリッシュ/サブスクライブ・メッセージング・モデルでデータが連続して処理されます。

  1. OCIコンソールに移動し、「アナリティクスとAI」「メッセージング」および「ストリーミング」に移動します。

  2. ストリームの作成」をクリックしてストリームを作成します。

  3. 次の情報を入力して、「作成」をクリックします。

    • 名前:ストリーム名を入力します。このチュートリアルでは、TargetTenant-Streamを使用しています。
    • ストリーム・プール:既存のストリーム・プールを選択するか、パブリック・エンドポイントを含む新しいストリーム・プールを作成します。
    • 保持(時間):このストリームでメッセージを保持する時間を入力します。
    • パーティション数:ストリームのパーティション数を入力します。
    • 「合計書込み率」および「合計読取り率」:処理する必要があるデータの量に基づいて入力します。

    テスト用のデフォルト値から始めることができます。詳細は、「ストリームのパーティション化」を参照してください。

タスク2: SourceTenantへのポリシーの書込み

SourceTenantの指定されたコンパートメントのコネクタ・ハブを承認して、TargetTenantのストリームにアクセスします。

コマンド・フォーマット:

Define tenancy TargetTenant as <TargetTenant_OCID>

Endorse any-user to use stream-push in tenancy TargetTenant
    where all 
    { 
        request.principal.type='serviceconnector',
        request.principal.compartment.id= <connectorHub-Compartment_OCID> 
    }

Sampleコマンド:

Define tenancy TargetTenant as ocid1.tenancy.oc1..aaaaaaaanneylhk3ibxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Endorse any-user to use stream-push in tenancy TargetTenant where all { request.principal.type='serviceconnector', request.principal.compartment.id = 'ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' }

タスク3: TargetTenantへのポリシーの書込み

TargetTenantのストリームにアクセスするために、SourceTenantのコネクタ・ハブを許可します。

コマンド・フォーマット:

Define tenancy SourceTenantA as <SourceTenant-A_OCID>

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy
   Where all
   {
   
   request.principal.type='serviceconnector'
   
   }

Sampleコマンド:

Define tenancy SourceTenantA as ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Admit any-user of tenancy SourceTenantA to use stream-push in tenancy Where all { request.principal.type = 'serviceconnector' }

タスク4: SourceTenantでのCLIを使用したOCIコネクタ・ハブの作成

SourceTenantおよびTargetTenantで必要なポリシーが作成されたら、SourceTenantのCLIを使用してOCIコネクタ・ハブを作成します。次のCLIコマンドの例では、ソースとしてOCIロギングを指定し、クロステナンシ・コネクタ・ハブを作成するためのターゲットとしてOCIストリーミングを指定します。

OCI監査ログをSourceTenantからTargetTenantストリームにプッシュするためのクロステナンシ・コネクタ・ハブ。

コマンド・フォーマット:

oci sch service-connector create

--display-name <XTenancyConnectorHub-name>

--compartment-id <ConnectorHub-Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA_OCID>",
"logGroupId": "_Audit_Include_Subcompartment" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

Sampleコマンド:

oci sch service-connector create --display-name XTenancyConnectorHub --compartment-id ocid1.compartment.oc1..aaaaaaaau7xlnyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --source '{ "kind": "logging", "logSources": [ { "compartmentId": "ocid1.tenancy.oc1..aaaaaaaakxcj24xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","logGroupId": "_Audit_Include_Subcompartment" } ] }' --target '{ "kind": "streaming", "streamId": "ocid1.stream.oc1.iad.amaaaaaas4n35vixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }'

SourceTenant(S)からTargetTenantストリームにサービス/カスタム・ログをプッシュするためのクロステナンシ・コネクタ・ハブ。次のコマンドを実行する前に、ログ・グループを作成し、必要なログを有効化します。

コマンド・フォーマット:

oci sch service-connector create

--display-name <XTenancyConnectorHub-Name>

--compartment-id <ConnectorHub_Compartment_OCID>

--source '{ "kind": "logging", "logSources":

[ { "compartmentId": "<SourceTenantA-LogGroup-Compartment_OCID>",
"logGroupId": "<SourceTenantA-LogGroup_OCID>" } ] }'

--target '{ "kind": "streaming", "streamId": "<TargetTenant-Stream_OCID>" }'

ノート:タスク4のタスク2およびタスク3およびCLIコマンドのポリシー・ステートメントは、読みやすくするためにフォーマットされています。これらの文のコピーを使用する前に、新しい行、タブおよびスペースを削除します。

次のステップ

このチュートリアルでは、クロステナンシ・コネクタ・ハブとOCIストリームを使用して、複数のテナンシからのログを統合する方法を示します。これらのログをKafkaコンシューマとして使用するようにサード・パーティのSIEMプラットフォームを構成する必要があります。SIEMプラットフォームでダッシュボードを設定して、重要なメトリックを取得し、事前定義済のしきい値を超えた場合にトリガーするアラートを構成することが不可欠です。また、特定の問合せを定義することは、悪意のあるアクティビティを検出し、OCIテナンシ内のパターンを識別するために重要です。これらのアクションにより、セキュリティ体制が強化され、クラウド環境をプロアクティブな監視が可能になります。

承認

その他の学習リソース

docs.oracle.com/learnの他のラボを確認するか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントは、Oracle Help Centerを参照してください。