

# Drupal Core のソース設定
<a name="drupal-core-source-setup"></a>

## Drupal Core との統合
<a name="drupal-core-integration"></a>

Drupal Core は、PHP を基盤としたオープンソースのウェブアプリケーションフレームワークであり、ウェブサイト、アプリケーション、デジタルエクスペリエンスを構築するための基盤プラットフォームを提供します。CloudWatch Pipeline は、カスタムビューベースの REST API を使用して、Drupal Core サイトからコンテンツの変更、ユーザー認証イベント、管理アクションなどの監査ログデータを取得します。API を使用すると、REST エンドポイントを介して時間でフィルタリングされたログデータにアクセスでき、設定可能な時間範囲のアクティビティレコードを取得できます。

## Drupal Core での認証
<a name="drupal-core-authentication"></a>

ログを読み込むには、パイプラインが Drupal Core サイトで認証される必要があります。プラグインは、基本認証 (ユーザー名とパスワードを使用した HTTP 基本認証) をサポートしています。

**Drupal Core の基本認証を設定する**
+ Drupal Core 管理者インターフェイスにログインし、[管理] → [拡張] (`/admin/modules`) に移動します。
+ RESTful Web Services、シリアル化、HTTP 基本認証、ビューのモジュールを有効にします。[インストール] を選択します。
+ Composer (`composer require drupal/admin_audit_trail`) 経由で Admin Audit Trail モジュールをインストールして有効にし、`drush en admin_audit_trail -y && drush cr` を実行してアクティブ化します。
+ [構造] → [ビュー] に移動し、`Audit Logs API` という名前の新しいビューを作成します。表示を `Log entries` に設定し、REST エクスポートの提供を有効にして、REST エクスポートパスを `/api/v1/audit-logs` に設定します。
+ ビューエディタで、公開ウォッチドッグ: タイムスタンプフィルターを2 つ追加します。1 つは演算子 `is greater than or equal to` とフィルター識別子 `starttime`、もう 1 つは演算子 `is less than` とフィルター識別子 `endtime` です。
+ ビューの [REST エクスポート設定] セクションで、[認証] を選択し、`basic_auth` を有効にします。
+ [People] → [Permissions] に移動し、API を必要とするロールに「管理者監査証跡へのアクセス」および「REST リソース設定の管理」のアクセス許可を付与します。ビューを保存します。
+ AWS Secrets Manager でシークレットを作成し、キー `username` に Drupal Core ユーザー名を、キー `password` にアカウントパスワードを保存します。

## CloudWatch パイプラインの設定
<a name="drupal-core-pipeline-config"></a>

ログを読み込むようにパイプラインを設定するには、データソースとして Drupal Core を選択します。以下の必要な情報を入力します。
+ **ドメイン** — Drupal Core サイトのベース URL (例: `https://your-drupal-site.example.com`)。
+ **API エンドポイント** — ビューの REST エクスポートエンドポイントへのパス (例: `/api/v1/audit-logs`)。`/` で始まる必要があります。
+ **範囲** — ISO 8601 形式でルックバック期間を指定します (例: 過去 21 時間の場合は `PT21H`、過去 7 日間の場合は `P7D`)。デフォルトは 0 日で、最大値は 90 日間です。

パイプラインを作成すると、選択した CloudWatch Logs ロググループでデータを使用できます。

## サポートされているオープンサイバーセキュリティスキーマフレームワークイベントクラス
<a name="drupal-core-ocsf-events"></a>

この統合では、OCSF スキーマのバージョン v1.5.0 に対応しており、認証 (3002)、エンティティ管理 (3004)、HTTP アクティビティ (4002) およびアプリケーションライフスタイル (6002) にマッピングされるイベントを変換します。リストにないイベントは OCSF にマッピングされず、生ログとしてシンクに転送されます。

**認証**には次のイベントタイプが含まれます。
+ ユーザー — ログインおよび認証関連のイベント

**エンティティ管理**には、次のイベントタイプが含まれます。
+ user — ユーザーの作成と削除
+ content
+ コメント

**HTTP アクティビティ**には、次のイベントタイプが含まれます。
+ アクセス拒否
+ ページが見つかりません
+ php
+ 新しいカスタムタイプ

**アプリケーションライフサイクル**には、次のイベントタイプが含まれます。
+ system
+ cron