このドキュメントでは、 Netskope Cloud Exchangeプラットフォームの Log Shipper モジュールを使用して AWS S3 WebTx プラグインを設定する方法について説明します。 このプラグインを使用すると、ウェブ トランザクション データを AWS S3 バケットにプッシュできます。
前提条件
この設定を完了するには、以下が必要です。
- Netskopeテナント(または、例えば本番環境と開発/テスト環境など、複数のテナント)。
- Netskope Cloud Exchangeテナントには、テナントプラグインとログシッパープラグインが既に設定済みです。
- AWS Netskope LogStreamingまたはAzure Netskope LogStreamingプラグインが既に設定されているNetskope Cloud Exchangeテナント。
- バケットの作成/読む/書き込み権限を持つ AWS S3 クレデンシャル。 先に進む前に、特定のバケットへの読み取り/書き込み権限、またはバケットの作成権限を持つAWS S3アクセスキーIDとシークレットアクセスキーを取得してください。
- IAMユーザーに対するAmazon S3バケットのアクセス許可。
- ListBucket
- CreateBucket
- ListAllMyBuckets
- GetBucketPolicy
- GetBucketPublicAccessBlock
- PutEncryptionConfiguration
- PutBucketPublicAccessBlock
- PutBucketPolicy
注記
バケットのアクセス権限が安全であり、一般公開されていないことを確認してください。クラウドストレージインスタンスへのアクセスは、 Cloud Exchangeホストおよびアクセスが必要なその他のアドレスからのみ許可してください。
AWS S3 WebTxプラグインのサポート
AWS S3 WebTxプラグインのサポート内容は以下のとおりです。
| データ型 | サポート |
|---|---|
| イベント | いいえ |
| アラート | いいえ |
| ウェブテキサス | はい(Netskope LogStreaming経由) |
注記
- Google Pub Sub Lite をベースにした CLS WebTX は非推奨となりました。Netskope製品のサポート終了/サポート終了に関するお知らせについては、Netskopeナレッジポータルをご覧ください。
- WebTXログをSIEM、SOAR、XDR、データレイクなどのログ配信先に取り込むには、 AWS Netskope LogStreamingまたはAzure Netskope LogStreamingプラグインを使用します。
権限
Amazon S3バケットにWebTx(Netskope LogStreaming経由)データを送信するためのIAMユーザーに対するAmazon S3バケットのアクセス許可。
APIの詳細
使うAPI一覧
このプラグイン AWS S3 にファイルオブジェクトを作成するための Python ライブラリ。
ライブラリ:AWS SDK for Python(Boto3)
使用方法:AWS SDK for Python(Boto3)を使用して、Amazon Elastic Compute Cloud(Amazon EC2)やAmazon Simple Storage Service(Amazon S3)などのAWSサービスを作成、構成、管理します。SDKは、オブジェクト指向APIと、AWSサービスへの低レベルアクセス機能を提供します。
Create the 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.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
Create a Bucket
bucket = s3_client.create_bucket(
Bucket=bucket_name,
CreateBucketConfiguration=location,
)
Upload a File into the Bucket
s3_client.upload_file(
file_name,
bucket_name,
object_name,
)
Get an AWS Resource
s3_resource = boto3.resource(
"s3",
aws_access_key_id=self.aws_public_key,
aws_secret_access_key=self.aws_private_key,
region_name=self.region_name,
config=Config(proxies=self.proxy, user_agent=self.useragent),
)
ユーザーエージェント
このプラグインで追加されるユーザーエージェントは次の形式です。
netskope-ce-<ce_version>-<module>-<plugin_name>-v<plugin_version>
例えば、
Netskope-ce-5.0.0-cls-aws_s3_webtx-v1.2.0
ワークフロー
- バケット、バケットポリシーを作成し、認証方法を設定します。
- AWS S3 WebTxプラグインを設定します。
- AWS S3 WebTx 用のログシッパービジネスルールを設定します。
- AWS S3 WebTx 用の Log Shipper ログ配信を設定します。
- AWS S3 WebTxプラグインを検証します。
再生ボタンをクリックして動画をご覧ください。
AWS S3バケットとバケットポリシーを作成する
AWS S3バケットを作成する
- バケットを作成し、必要なポリシーを設定するには、AWSコンソールにアクセスしてログインしてください。

- 「すべてのサービス」からS3を選択します。

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

- バケット名を入力し、一番下までスクロールして、 Create Bucketをクリックします。

- バケットを検索し、バケット名をクリックして開きます。

- 権限タブを開いてポリシーを設定するには、 Permissionをクリックしてください。

- Editをクリックしてください。「パブリックアクセスをブロックする(バケット設定)」で、すべてのチェックボックスをオフにして、 Save Changesをクリックします。確認を求められたら、確認してからConfirmをクリックしてください。

- Permissionsタブの下にある「バケットポリシー」セクションでEditをクリックします。

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

- ステップ1ではタイプとしてS3 Bucket Policy選択し、ステップ2では詳細としてAdd Statement Selectから、 Generate Policyをクリックします。
- ポリシーの種類Select : S3 バケット ポリシー
- 効果:許可する
- 主要:
<user-arn> - アクション:
GetBucketAclGetBucketPolicy
- ARN:
arn:aws:s3:::<bucket-name>

- Add Statementをクリックしてください。
- ポリシーの種類Select : S3 バケット ポリシー
- 効果:許可する
- 主要:
<user-arn> - アクション:
PutObjectPutObjectAcl
- ARN:
arn:aws:s3:::<bucket-name>/*。2番目のバケット名の後に必ず/*を追加してください。
- Click Add Statement


- Generate Policyをクリックしてください。必ず このステップで生成されたものをコピーしてください。 次のステップでソースバケットに添付するために使用します。

- このポリシーをこのテキストボックスに追加してください。
{ "Id": "<policy ID>", "Version": "<version>", "Statement": [ { "Sid": "<statement ID>", "Action": [ "s3:GetBucketAcl", "s3:GetBucketPolicy" ], "Effect": "Allow", "Resource": "arn:aws:s3:::<bucket-name>", "Principal": { "AWS": [ "<user-arn>" ] } }, { "Sid": "<statement ID>", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Effect": "Allow", "Resource": "arn:aws:s3:::<bucket-name>/*", "Principal": { "AWS": [ "<user-arn>" ] } } ] } - 一番下までスクロールしてSave Changesをクリックしてください。

バケットポリシーを作成する
プラグインがソースバケットにアクセスするには、ポリシーが必要です。
- Go to Policy Generator.
Replace the <bucket-name> with the AWS S3 Source Bucket created previously. (netskope-ce-source-bucket).- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス:Amazon S3
- アクション: ListAllMyBuckets
- ARN: *
- Add Statementをクリックしてください。

- 上にスクロールして、別の文を追加してください。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス:Amazon S3
- アクション:
- GetBucketAcl
- GetBucketPolicy
- GetBucketLocation
- ARN: arn:aws:s3:::<bucket-name>
- Add Statementをクリックしてください。

- 上にスクロールして、別の文を追加してください。
- ポリシーの種類Select : IAM ポリシー
- 効果:許可する
- AWSサービス:Amazon S3
- アクション:
- PutObject
- PutObjectAcl
- ARN: arn:aws:s3:::<bucket-name>
- Add Statementをクリックしてください。

- Generate Policyをクリックしてください。必ずこのステップで生成された をコピーしてください。これは 次のステップで ソースバケットにアクセスするためのユーザーに添付される を作成するために使用されます。

- AWSコンソールに移動し、 All ServicesからIAM を選択します。

- 左側のパネルでPoliciesをクリックし、次にCreate Policyをクリックします。

- 前の手順で作成したポリシーを JSON タブに貼り付け、 Next:TagsとNext:Reviewをクリックします。

- Enter a name (like netskope-ce-s3-policy).

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

- 以下の手順に従って、このポリシーをユーザーに適用してください。
プラグイン認証方法
IAMロールAnywhereの設定
前提条件
プラグインを認証するには、 AWS Certificate Managerサービスを有効にする必要があります。 AWS IAM Roles Anywhere認証方法。
注:プライベート認証局、トラストアンカー、およびプロファイルは、AWS S3ソースバケットが存在するリージョンと同じリージョンに作成してください。
IAM ポリシーを作成する
これは プライベート CA 証明書を作成するために必要な権限 (トラスト アンカーとプロファイルを作成するための権限を含む) と IAM ロール Anywhere が含まれています。
- ポリシージェネレーターにアクセスし、Add Statementをクリックしてポリシーを生成してください。
- ポリシーの種類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をクリックしてください。

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

- ポリシーをそのままコピーし、プライベート CA 証明書の作成に必要なポリシーを作成する次の手順で使用します。
- AWS コンソールに移動し、 All ServicesからIAM 選択します。左側のパネルからPoliciesをクリックし、 Create Policyをクリックします。

- ポリシーをJSONタブにコピーし、 Next: Tags とNext: Review.をクリックしてください。
- 名前を入力して、 Netskope-ce-rolesAnywhere-policyのようなものをクリックし Save Changes。

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

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

- Mode OptionsにはGeneral-purpose Select 。
- Select Root CA type options。

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

- Select RSA 2048 Key algorithm options。

- Add tags if any (optional).
- CA permissions optionsセクションのチェックボックスを有効にしてください。
- Pricingセクションのチェックボックスを有効にしてください。
- CA証明書を作成するには、 Createをクリックしてください。


- ActionsからInstallを選択します。

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


信頼の基盤を築く
- IAM サービスを検索し、アクセス管理の下にあるRolesに移動します。「Roles Anywhere」までスクロールダウンして、 Manageを選択します。

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

- Enter the Trust anchor name, like netskope-ce-trust-anchor.

- AWS Certificate Manager Private CA (前の手順で作成したもの)を Certificate authority (CA) sourceとしてSelect 。
- 必要に応じてタグを追加してください。
- Create a trust anchorをクリックしてください。


- 作成されたTrust Anchor をクリックして Trust Anchor ARNをコピーします。

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

- 信頼できるエンティティタイプには、 Custom Trust Policyを選択してください。

- ポリシー生成ツールへ移動してください。
- カスタム信頼ポリシーを以下の信頼ポリシーに置き換えます。このポリシーには、ロールどこでもサービスを使用するためのアクセス許可が含まれています。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "rolesanywhere.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession", "sts:SetSourceIdentity" ] } ] } - Nextをクリックしてください。
- [アクセス許可ポリシー] で、以前に作成したバケット ポリシーを選択します。

- Nextをクリックしてください。
- Netskope -ce-roleAnywhereのようなロール名を指定し、そのロールのデスクリプションを追加します。
- Create roleをクリックしてください。

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

プロフィールを作成する
- Select Roles under Access management.
- 下にスクロールして Roles Anywhere まで行き、 Manageをクリックしてください。

- Setup stepsを展開します。
- Step 2: Configure rolesをクリックしてください。
- Configure a profileをクリックしてください。

- Netskope -ce-profile のように、プロファイル名を入力してください。
- Create IAM Role セクションで作成されたロールSelect : Netskope -ce-roleAnywhere。

- Inline Policyを削除します。
- Create profileをクリックしてください。



- 作成された Profile をクリックして Profile ARNをコピーします。

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

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

- 完全修飾ドメイン名フィールドに、 Netskope -ce.comのようにドメイン名を入力してください。
- Key algorithmにはRSA 2048 Select 。

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

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

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

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

- Certificates はすべてダウンロードしてください。二度と表示されなくなります。新しい証明書の場合は再度エクスポートする必要があります。
詳細については、 AWS IAM Role Anywhereを参照してください。
AWSにデプロイされた構成
役割を作成する
- AWSコンソールでIAMサービスに移動します。
- Create roleをクリックしてください。

- AWS ServiceをSelect 。
- 使うケースには、 EC2を選択します。
- Nextをクリックしてください。

- バケット ポリシーで作成された権限ポリシーSelect 。
- Nextをクリックしてください。

- Netskope -ce-instance-role のようなロール名を入力し、デスクリプションを追加します。
- Create Roleをクリックしてください。

Note: この構成では、NetskopeインスタンスとS3バケットの両方が同じ領域にあるべきです。
EC2インスタンスにロールを割り当てる
- EC2インスタンスのコンソールを開きます。
- Click Instances under Instances.

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

- 以前に作成したロールSelect (例: Netskope -ce-instance-role)。
- Update IAM Roleをクリックしてください。

ファーゲットインスタンスにロールを割り当てる
- CFNスクリプトを開きます。
- ExistingECSTaskRoleパラメータの値が存在する場合は取得します。

- IAM > Rolesへ移動してください。
- Search for the ExistingECSTaskRole parameter value. Otherwise, search for NetskopeCloudExchangeTaskRole-<CFN name> and select the role.

- 以前作成したバケット作成ポリシーをこのロールに添付します。
- Add permission > Attach policiesをクリックしてください。

- 以前に作成したバケット ポリシー ( Netskope -ce-s3-ポリシー) を検索して選択します。
- Add permissionsをクリックしてください。

K8sインスタンスにロールを割り当てる
- K8sインスタンスを作成する際に、ServiceAccount用に作成されたロールを開きます。
- 以前作成したバケットポリシーを添付します。
AWS S3 WebTXプラグインを設定する
- Cloud Exchangeで Settings > Plugin Storeに行ってください。
- AWS S3 WebTx v1.2.0 (CLS)プラグインを検索して選択してください。

- Configuration Nameを入力してください。
- Next .
をクリックしてください
- 以下の設定パラメータを入力してください。
- Authentication Method: 認証に使用する方法Select (AWS/AWS IAM Roles Anywhereにデプロイ済み)
- Private Key: AWSプライベートCA証明書を復号するための秘密鍵。「AWS IAM Roles Anywhere」認証タイプに必須です。
- Certificate Body: AWSパブリック/プライベートCA証明書の証明書本体。「AWS IAM Roles Anywhere」認証タイプに必須です。
- Password Phrase: CA証明書を復号するためのパスワードフレーズ。「AWS IAM Roles Anywhere」認証タイプに必須です。
- Profile ARN: AWSクライアント認証用のAWSプロファイルARN。「AWS IAM Roles Anywhere」認証タイプに必須.
- Role ARN: AWSクライアント認証用のAWSロールARN。「AWS IAM Roles Anywhere」認証タイプに必須です。
- Trust Anchor ARN: AWSクライアント認証用のAWSトラストアンカーARN。「AWS IAM Roles Anywhere」認証タイプに必須です。
- AWS S3 Bucket Region Name: AWS S3バケットを取得するリージョン名。リージョン名が、プロファイルARNおよびトラストアンカーARNのリージョン名と一致していることを確認してください。
- AWS S3 Bucket Name: データオブジェクトが保存されるAWS S3バケット名。
- Maximum File Size (in MBs): バケットに保存されるWebTxデータオブジェクトの最大サイズ。 (値は1から100の間である必要があります。)
- Maximum Duration (in Seconds): WebTxデータオブジェクトをバケットに保存する最大期間。
- Saveをクリックしてください。新しいプラグインはCloud Log Shipper > Pluginsページで利用可能になります。
AWS S3 WebTx 用の Log Shipper ログ配信の設定
- Log ShipperでLog Deliveryに移動し、 Add Log Delivery Configurationをクリックします。
- ソースプラグイン(AWS Netskope LogStreaming または Azure Netskope LogStreaming)、宛先プラグイン(AWS S3 WebTx) Select 、 Saveをクリックします。
- ログ配信設定が追加されると、データはNetskopeテナントから取得され、変換され、AWS S3バケットに取り込まれます。
AWS S3 WebTxプラグインを検証する
Cloud Exchange におけるプラグインのワークフローを検証する。
- ログ記録に移動し、「メッセージに「取り込み済み」が含まれる」というフィルターを使用して、取り込まれたイベントを検索します。
- 取り込まれたログはフィルタリングされます。
AWS S3 プラットフォームからのプッシュを検証するには、次の手順に従います。
- AWS S3にアクセスしてください。検索バーでBucketsを検索してクリックします。
- プラグインを作成する際に、バケットを検索します。
- バケット名をクリックしてください。
Note: フォルダ構造は、webtx/feedversion/year/month/day/hour/filename.gz のようになります。
Example: Webtxdemobucket/webtx/feedname=2.0.0/year=2023/month=11/day=30/hour=9/1701336881_139977276685128.gz

S3 WebTxプラグインのトラブルシューティング
プラグインのアップデート後、既存のプラグイン設定で問題が発生しています。
最近AWS S3プラグインをアップデートした場合、既存のプラグイン設定を編集するとCEインターフェースが空白になるという問題が発生する可能性があります。この問題は、CE バージョン 4.2.0 および 5.0.0 において、ユーザーがアップデート後にプラグインの設定を変更しようとして [設定パラメータ] ページに移動した場合に発生する可能性があります。
CE版でできることは以下のとおりです。
What to do:
バージョン 4.2.0、5.0.0 の場合:唯一の解決策は、現在のプラグイン設定を削除し、最初から新しい設定を行うことです。
新しいプラグインの設定中に問題が発生しています
AWS IAM Roles Anywhere を使用して新しいプラグインを作成しているときに、エラー 400 が発生した場合。
プラグインを保存できない根本原因は、ログを展開した際のログセクションで確認できます。


What to do:
ロガーを展開すると、「トラストアンカー ARN、ロール ARN、プロファイル ARN の少なくとも 1 つが異なるアカウント ID を持っています」というメッセージが表示されるので、提供されたパラメーターが同じアカウントから生成され、同じリージョンを持っていることを確認する必要があります。




