リリースノート
1.0.0 (Minimum required CE version 6.0.0)
Added
- 初回リリース。
- ログの種類: アラート、イベント、Webtx。
- Format Type: JSON.
このドキュメントでは、 Netskope Cloud Exchange プラットフォームのLog ShipperモジュールでDatabricks v1.0.0プラグインを設定する方法を説明しています。 このプラグインは使う Netskope アラート(DLP、マルウェア、ポリシー、Compromised クレデンシャル、Malsite、Quarantine、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、コンテンツ)、イベント(ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、クライアントステータス)、WebTx データをAWS S3バケットに送信します。 このプラグインはJSON形式のデータ取り込みのみをサポートしています。Databricksでデータを閲覧するには、S3バケットがDatabricksの外部ロケーションとリンクされていることを確認してください。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- TenantプラグインとLog Shipperプラグインが既に設定されているNetskope Cloud Exchangeインスタンスです。
- すでにAWS Netskope LogStreaming Plugin または Azure Log Streaming Plugin をWebtxログ取得用に設定しています。
- AWSアカウントにリンクされ、Unityカタログが有効になっているDatabricks Workspaceインスタンス。
- 認証ロールに以下のIAM権限が付与されたAWS S3バケット: s3:ListBucket, s3:GetBucketLocation, s3:PutObject 。
- Databricksの外部ロケーションにリンクされたAWS S3バケット。
Databricksプラグインのサポート
このプラグインは、 Netskopeアラート (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、コンテンツ)、イベント (ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、クライアント ステータス)、および WebTx データを AWS S3 バケットに送信するために使用します。 このプラグインはJSON形式のデータ取り込みのみをサポートしています。Databricksでデータを表示するには、S3バケットがDatabricksの外部ロケーションにリンクされていることを確認してください。
| データ型 | サポート |
|---|---|
| イベント | はい(ページ、アプリケーション、監査、インフラストラクチャ、ネットワーク、インシデント、エンドポイント、クライアントステータス) |
| アラート | はい (DLP、マルウェア、ポリシー、侵害されたクレデンシャル、マルサイト、検疫、修復、セキュリティ評価、ウォッチリスト、UBA、CTEP、デバイス、コンテンツ) |
| ウェブテキサス | はい |
| Cloud Exchangeログ | いいえ |
権限
プラグインの設定には、以下の権限が必要です。
- s3:ListBucket ターゲット S3 バケット
- s3:GetBucketLocation 対象のS3バケットに対して
- s3:ターゲットS3バケットにPutObjectを実行する
APIの詳細
使うAPI一覧
| APIエンドポイント | 方法 | 使うケース |
|---|---|---|
| /sessions | 役職 | 一時的な AWS クレデンシャルを生成します (IAM ロール Anywhere のみ) |
Generate Temporary クレデンシャル
Endpoint: POST https://rolesanywhere.{region}.amazonaws.com/sessions
Request Headers:
| 鍵 | Value |
|---|---|
| Content-Type | アプリケーション/json |
| X-Amz-Date | {タイムスタンプ} |
| X-Amz-X509 | Base64エンコードされたDER証明書 |
| Authorization | AWS4-X509-RSA-SHA256 クレデンシャル=170190831808398918967185780480038694669/20260611/us-east-1/rolesanywhere/aws4_request, SignedHeaders=content-type;司会者;X-AMZ-デート;x-amz-x509、シグネチャ=.................... |
| ユーザーエージェント | APN/1.1 (ahq9d89xj9gspapczzdb59goq) |
Request Body:
{
"durationSeconds": 900,
"profileArn": "{profile_arn}",
"roleArn": "{role_arn}",
"sessionName": "Session",
"trustAnchorArn": "{trust_anchor_arn}"
}
Sample Response:
{
"credentialSet": [
{
"credentials": {
"accessKeyId": "ASIA...",
"secretAccessKey": "...",
"sessionToken": "...",
"expiration": "2024-01-01T00:15:00Z"
}
}
]
}
Library: AWS SDK for Python (Boto3)
1. Creating the S3 Client
s3_client = boto3.client(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
aws_session_token=self.aws_session_token,
region_name=self.configuration.get("region_name", "").strip(),
config=Config(
proxies=self.proxy,
user_agent=self.useragent,
),
)
2. Check Bucket Existence
s3_client.head_bucket(Bucket=bucket_name)
3. Get Bucket Region
location = s3_client.get_bucket_location(Bucket=bucket_name)
bucket_region = location.get("LocationConstraint") or "us-east-1"
4. Upload File to S3
s3_client.upload_file(
file_name, # local temp file path
bucket_name, # S3 bucket name
object_name, # S3 object key
)
パフォーマンスマトリックス
このパフォーマンス測定は、以下のVM仕様を持つCloud Exchangeの大規模スタック上で実施されました。これらの測定値は、約15,000件のNetskopeアラート/イベントを5秒間に宛先に送信することを考慮に入れて追加されています。
| デスクリプション | 仕様 |
|---|---|
| スタックの詳細 | サイズ:大、 RAM:32 GB、 CPU:16コア |
| SIEMに取り込まれたアラート/イベント | 毎分約18万件のアラート/イベント |
| WebtxがSIEMに取り込まれました | ~ 150K Webtx logs per minute |
ユーザーエージェント
APN/1.1 (ahq9d89xj9gspapczzdb59goq)
ワークフロー
- Databricks プラグインを構成するにはクレデンシャルを入手してください
- Databricksプラグインを設定します。
- ビジネスルールを設定します。
- ログ配信を設定します。
- プラグインを検証してください。
動画を見る
再生ボタンをクリックして動画をご覧ください。
AWS 上での設定
ポリシーを作成する
-
AWSアカウントにログインし、 IAM > Policiesに移動してからCreate Policyをクリックします。

-
jsonSelectして、このポリシーを貼り付けてください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:PutObject", "s3:ListBucket" ], "Resource": "*" } ] }
-
名前を入力してデスクリプションを入力。

-
Create Policyをクリックしてください。

AWS認証にデプロイ済み
役割を作成する
-
AWSコンソールでIAM Servicesに移動してください。
-
Go to the Roles page under Access management and click Create Role.

-
AWSサービスをSelect。
-
Under Use case, select EC2.
-
Nextをクリックしてください。

-
「ポリシーの作成」で作成した権限ポリシーSelect 。

-
Nextをクリックしてください。
-
ロール名とデスクリプションを入力します.

-
Create Roleをクリックしてください。

EC2インスタンスにロールを割り当てる
-
EC2インスタンスのコンソールを開きます。
-
インスタンスページに移動し、Cloud Exchangeがデプロイされている必要なインスタンスを選択します。

-
Action > Security > Modify IAM Roleへ移動してください。

-
上記で作成した役割を「役割の作成」でSelect 。
-
Add IAM Role / Update IAM Roleをクリックしてください。EC2インスタンスとS3バケットは、同じリージョンに配置する必要があることに注意してください。
EC2インスタンスのIAMロールを更新した後でも、権限関連のエラーが発生する場合は、EC2インスタンスを再起動してください。
IAMロール認証(どこでも認証可能)
前提条件
プラグインを認証するには、AWS Certificate Manager サービスを有効にする必要があります。 AWS IAM Roles Anywhere認証方式。
プライベート認証局、トラストアンカー、およびプロファイルは、AWS S3バケットが存在するリージョンと同じリージョンに作成してください。
ポリシーを作成する
この には、プライベート CA 証明書を作成するために必要な権限 (トラスト アンカーとプロファイルを作成するための権限を含む) と IAM ロール Anywhere が含まれています。
-
ポリシー ジェネレーターに移動し、ポリシー タイプとして IAM ポリシーを選択し、ポリシーを生成します。
-
ポリシーの種類Select : IAM ポリシー
-
効果:許可する
-
AWSサービス: AWSプライベート認証局
-
アクション:
- 証明書認証局を作成する
- 認証局について説明します
- 証明書を取得する
- 認証局証明書を取得する
- GetCertificateAuthorityCsr
- 輸入証明書認証局証明書
- 証明書の発行
- 認証局一覧
-
ARN: *
-
Add Statementをクリックしてください。

-
ポリシーの種類Select : IAM ポリシー
-
効果:許可する
-
AWSサービス:AWS Identity and Access Management(IAM)
-
アクション:
- 役割ポリシーを添付する
- CreateAccessKey
- ロールの作成
- 役割を削除
- パスロール
-
ARN: *
-
Add Statementをクリックしてください。

-
ポリシーの種類Select : IAM ポリシー
-
効果:許可する
-
AWSサービス: AWS証明書マネージャー
-
アクション:
- 証明書の説明
- 輸出証明書
- 証明書を取得する
- 証明書一覧
- 証明書のタグ一覧
- 証明書のリクエスト
-
ARN: *
-
Add Statementをクリックしてください。

-
ポリシーの種類Select : IAM ポリシー
-
効果:許可する
-
AWS サービス: AWS Identity and Access Management ロールをどこでも
-
アクション:
- プロフィールの作成
- CreateTrustAnchor
- プロフィールを取得する
- GetTrustAnchor
- プロフィール一覧
- リストトラストアンカー
-
ARN: *
-
Add Statementをクリックしてください。

-
Click Generate Policy.

-
ポリシーは、プライベート CA 証明書の作成に必要なポリシーを作成する次の手順で使用するため、コピーします。
-
-
AWS コンソールにアクセスし、 「すべてのサービス」からIAMを選択します。左側のパネルのPoliciesをクリックし、次にCreate Policyをクリックします。

-
前のセクションで生成されたポリシーをJSONタブに貼り付けます。Next: TagsとNext: Review.をクリックしてください。

-
名前を入力してSave Changesをクリックしてください。

プライベート認証局を作成する
-
AWSコンソールにログインしてください。
-
Search for Certificate Manager.

-
AWS Private CAをクリックしてください。
-
Create a private CAをクリックしてください。

-
For Mode Options, select General-purpose, and for CA type options, select Root.

-
組織名(O)を入力してください。

-
For Key algorithm options, select RSA 2048.


-
Add tags if any (optional).
-
Enable the checkbox in the CA permissions options section.
-
Enable the checkbox in the Pricing section.
-
CA証明書を作成するには、 Createをクリックしてください。


-
For Actions, select Install.

-
Confirm and Installをクリックしてください。


信頼の基盤を築く
-
Search for IAM Service and go to Roles under Access management. Scroll down to Roles Anywhere and select Manage.

-
Create a trust anchorをクリックしてください。

-
トラストアンカー名を入力してください。

-
認証局(CA)ソースとして、AWS Certificate ManagerプライベートCA(前の手順で作成済み) Select 。
-
SelectAWS Certificate Manager Private CAで作成した証明書です。
-
必要に応じてタグを追加してください。
-
Create a trust anchorをクリックしてください。


-
作成されたトラストアンカーをクリックし、トラストアンカーのARNをコピーします。これは、AWS IAM Roles Anywhere認証方式のプラグインのTrust Anchor ARN設定パラメータで必要になります。

IAMロールを作成する
-
AWSコンソールでIAM Servicesに移動してください。
-
Click Role in the Access management submenu.
-
Create Roleをクリックしてください。

-
For the Trusted entity type, select Custom Trust Policy.

-
カスタム信託ポリシーをこの信託ポリシーに置き換えてください。このポリシーには使う Roles Anywhere サービスの許可が含まれています:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rolesanywhere.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ] } ] }
-
Nextをクリックしてください。
-
[アクセス許可ポリシー] で、以前に[ポリシーの作成]セクションから作成したポリシーを選択します。

-
Nextをクリックしてください。
-
ロール名とデスクリプションを入力してください。

-
Create roleをクリックしてください。
-
作成した役割を検索し、役割名をクリックします。

-
ロールARNをメモしておいてください。これは、AWS IAM Roles Anywhere認証方法のプラグインのロールARN設定パラメータで必要になります。

プロフィールを作成する
-
AWSコンソールでIAM Servicesに移動してください。
-
Select Roles present under Access management.
-
「Roles Anywhere」までスクロールダウンして、 Manageをクリックします。

-
セットアップ手順を展開してください。
-
Step 2: Configure rolesをクリックしてください。
-
Configure a profileをクリックしてください。

-
プロフィール名を入力してください。
-
Select the role created in the Create IAM Role step.

-
インラインポリシーを削除してください。

-
Create profileをクリックしてください。


-
作成されたプロファイルをクリックし、プロファイルARNをコピーします。

プライベート証明書をリクエストする
-
AWS Certificate Manager > Request certificateへ移動してください。
-
Request a private certificate Select 。

-
Nextをクリックしてください。
-
前の手順で作成した認証局Select 。

-
完全修飾ドメイン名欄にドメイン名を入力してください。例えば、 Netskope -ce.com のように入力します。
-
For Key algorithm, select RSA 2048.

-
必要に応じてタグを追加してください。
-
証明書の更新権限を承認してください。
-
Requestをクリックしてください。

-
AWS Certificate Manager のナビゲーション ペインからList certificates に移動します。
-
以前に作成した証明書Select 。

-
Exportをクリックしてください。

-
パスフレーズ. を入力してください。AWS S3 プラグインの設定に必要となるため、パスフレーズをメモしておいてください。 AWS IAM Roles Anywhere認証方法。
-
Generate PEM Encodingをクリックしてください。

-
証明書はすべてダウンロードしておいてください。一度ダウンロードすると、二度と表示されなくなります。新しい証明書の場合は、再度エクスポートする必要があります。

-
AWS S3プラグインの設定に必要となるため、証明書の本文と証明書の秘密鍵をコピーしてください。 AWS IAM Roles Anywhere認証方法。 詳細については、 AWS IAM Role Anywhereを参照してください。
AWS S3バケットをDatabricksの外部ロケーションにリンクする
-
DatabricksにログインしてWorkspaceに移動してください。

-
上部の検索バーにExternal Locationsと入力し、検索結果から選択してください。

-
Create external locationをクリックしてください。

-
Select AWS Quickstart して Nextをクリックします。

-
Provide the bucket name in this format s3://<bucket-name>, and click Generate new token.

-
生成されたトークンをコピーし、 Launch in Quickstartをクリックしてください。

-
これにより、AWSコンソールにリダイレクトされます。Databricksパーソナルアクセストークン欄に、パーソナルアクセストークンを入力してください。

-
確認事項を確認してから、 Create stackをクリックしてください。

-
処理が完了すると、10分から15分後にDatabricks上で外部ロケーションを確認できるようになります。

注記
- S3バケットを外部ロケーションにリンクする方法の詳細については、 Databricksのドキュメントを参照してください。
- Databricksプラグイン用に使う別のS3バケットを使いたくない場合は、 Netskope ログストリーミング用のS3バケット使うをDatabricksの外部ロケーションに直接リンクできます。
Databricksプラグインの設定
-
Cloud Exchange で、 Settings > Plugin Storeに移動します。Databricks v1.0.0 (CLS)プラグインを検索して選択してください。

-
基本情報を入力してください:
- Configuration Name: プラグインの設定名を指定してください。
- Mapping: 使うのマッピング構成を選択します。 設定から新しいものを追加 >Log Shipperでできます。
- Format: 変換したいデータの形式を選択してください。JSONを選択すると、生のJSONログが送信されます。ログ配信設定が生ログ形式に対応していない場合、データ取り込みに影響が出る可能性があります。

-
認証方法に応じて、 Nextをクリックして設定パラメータを入力してください。
-
Deployed on AWS authentication:
- Authentication Method: Select AWSクライアント認証のための使う方法。 「AWSにデプロイされた」使う、AWS環境に付随するIAMインスタンスプロファイルまたは役割。 「AWS IAM Roles Anywhere」使う X.509 証明書と秘密鍵を使い、AWS クレデンシャルを一時的に取得できます — これはCEがAWS外で動作しているときに使う。
- AWS S3 Bucket Region Name: 対象のS3バケットが存在するAWSリージョン。IAM Roles Anywhere を使用する際は、リージョンがプロファイル ARN およびトラスト アンカー ARN のリージョンと一致していることを確認してください。 IAM Roles Anywhere。
- AWS S3 Bucket Name: Netskopeのアラートとイベントが保存されるAWS S3バケットの名前。このバケットはDatabricks外部ロケーションにリンクする必要があります。
例: Netskope -alerts-bucket。

-
IAM Roles Anywhere authentication:
- Authentication Method: Select AWSクライアント認証のための使う方法。 「AWSにデプロイされた」使う、AWS環境に付随するIAMインスタンスプロファイルまたは役割。 「AWS IAM Roles Anywhere」使う X.509 証明書と秘密鍵を使い、一時的なAWS クレデンシャルを取得します。 CEがAWSの外で動作しているときに使う。
- Private Key: PEMエンコードされた秘密鍵 AWSプライベートCA証明書を復号化します。 AWS IAM Roles Anywhere認証に必要です。
- Certificate Body: AWSプライベートCAまたはパブリックCAによって発行された、PEMエンコードされたX.509証明書の本文。AWS IAM Roles Anywhere認証に必要です。
- Password Phrase: 暗号化されている場合、CA証明書を復号するために使うパスフレーズを使います。 AWS IAM Roles Anywhere認証に必要です。
- Profile ARN: IAM Roles AnywhereプロファイルのARN。形式: arn:aws:rolesanywhere:{region}:{account-id}:profile/{profile-id}。AWS IAM Roles Anywhere認証に必要です。
- Role ARN: 引き受けるIAMロールのARN。形式: arn:aws:iam::{account-id}:role/{role-name} 。AWS IAM Roles Anywhere認証に必要です。
- Trust Anchor ARN: IAM Roles AnywhereトラストアンカーのARN。形式:arn:aws:rolesanywhere:{region}:{account-id}:trust-anchor/{anchor-id}。AWS IAM Roles Anywhere認証に必要です。
- AWS S3 Bucket Region Name: 対象のS3バケットが存在するAWSリージョン。IAM Roles Anywhere を使用する際は、リージョンがプロファイル ARN およびトラスト アンカー ARN のリージョンと一致していることを確認してください。 IAM Roles Anywhere。
- AWS S3 Bucket Name: Netskopeのアラートとイベントが保存されるAWS S3バケットの名前。このバケットは、Databricksの外部ロケーションにリンクする必要があります。例: Netskope -alerts-bucket 。


-
-
Saveをクリックしてください。

Databricks の Log Shipper ビジネスルールを設定する
-
Log ShipperでBusiness Rulesに移動し、 Add Business Ruleをクリックします。
-
デフォルトでは、すべてのアラートとイベントをフィルタリングするビジネスルールが設定されています。特定の種類のアラートやイベントを除外したい場合は、 Create New Ruleをクリックして、ルール名とフィルターを追加して新しいビジネスルールを設定します。

-
Saveをクリックしてください。
DatabricksプラグインのLog Shipperログ配信を設定する
-
Log ShipperでLog Deliveryに移動し、 Add Log Delivery Configurationをクリックします。
-
ソース構成、宛先構成、およびビジネスルールSelect 。

-
Saveをクリックしてください。

Databricksプラグインを検証する
プルを検証する
Cloud ExchangeでLoggingに移動し、取得したログを検索します。





プッシュ通知を検証する
Cloud Exchangeでプラグインのワークフローを検証するには、Loggingにアクセスし、フィルターで取り込まれたイベントやアラートを検索してください:message contains "ingested" または message contains "<destination plugin configuration name>"










Databricks 上でプッシュを検証する
Databricksインスタンスにログインし、データ取り込みページに移動してください。

Databricksコネクタの下にあるAmazon S3をクリックしてください。プラグインの設定時に外部の場所をSelectCloud Exchange使う。

Sample ingested alerts:














Sample ingested events:








Sample ingested Webtx logs:

Databricksプラグインのトラブルシューティング
プラグインを設定できません
原因としては、以下のいずれかの理由が考えられます。
- Cloud Exchangeがホストされている EC2 インスタンスにロールが割り当てられていません (AWS 認証でデプロイされた場合)。
- IAM ロールどこでも認証のケースのクレデンシャルが正しくありません。
What to do:
- ケース あなたは使う Deployed on AWS 認証を担当し、 Deployed on AWS 認証 のセクションを参照してください
- ケースでは使う IAM Roles Anywhere 認証を行ったら、 IAM Role Anywhere 認証 のセクションを参照してください。
AWS S3バケットのリージョン不一致
「AWS S3 バケットは存在しますが、構成済みのリージョン'{configured}' ではなく、リージョン '{actual} }' にあります」というエラーが表示される場合、プラグイン構成のAWS S3 Bucket Region Nameがバケットの実際のリージョンと一致していないことが原因である可能性があります。
What to do:
- AWS S3コンソールで、対象のバケットに移動し、バケットプロパティでそのリージョンを確認します。
- プラグイン設定内のAWS S3 Bucket Region Nameを実際のバケットリージョンに合わせて更新し、設定を保存します。
既知の動作
- 使う AWS IAM Roles Anywhere 認証方法の場合、 Cloud Exchange で設定されたプロキシ設定は IAM Roles Anywhere クレデンシャルのリクエストに転送されません。 このプラグインはrolesanywhere.{region}.amazonaws.comへの直接接続を試みます。使う IAM Roles Anywhere プロキシの背後にある場合、このエンドポイントへの直接接続が可能であることを確認しましょう。
- Cloud Exchange SSL Validationの設定はDatabricksのAPI呼び出しにのみ適用されます。IAM ロール Anywhere クレデンシャル リクエストと AWS S3 (boto3) 呼び出しは常にライブラリのデフォルト SSL 検証を使用し、 Cloud Exchange SSL 検証設定の影響を受けません。

