10.4. HTTP ヘッダー
Event-Driven Ansible およびイベントストリームでは、サードパーティーソース (GitHub、監視ツール、独自の Webhook など) から受信するイベントに必要なコンテキスト情報とセキュリティー情報を伝送するため、HTTP ヘッダーが不可欠です。これらには次の機能が含まれます。
- 認証と否認防止
-
これは最も重要な用途です。ヘッダーには、多くの場合、トークン、API キー、またはセキュリティー署名 (
X-Hub-Signatureヘッダーの HMAC など) が含まれており、Event-Driven Ansible はこれらを使用して 送信者のアイデンティティーを検証 し、イベントペイロードが改ざんされていないことを確認します。これにより、否認防止がサポートされます。つまりイベントが正当なソースから発生したことが証明されます。 - デバッグとログ
-
ヘッダーは、イベントのパスを追跡するための重要なデータポイント (
Date、User-Agent、X-Request-ID) を提供し、システム管理者と SRE がイベント処理の遅延または失敗に関連する問題を デバッグする のに役立ちます。
ヘッダーはすべての HTTP 通信に不可欠であり、複数の役割を果たします。
-
コンテキストとメタデータ: 送信されるデータに関する情報を記述します (例:
Content-Type: application/json, Content-Length: 1024)。 -
クライアント/サーバー機能: 送信者の機能または設定を受信側に通知します (例:
Accept-Language: en-US)。 -
認証/認可: セキュリティー認証情報を持ちます (例:
Authorization: Bearer <token>)。 -
キャッシュ: クライアントとプロキシーがコンテンツをキャッシュする方法を制御します (例:
Cache-Control: max-age=3600)。 -
ルーティングと追跡: 多くの場合、カスタムヘッダー (例:
X-Request-ID) を介して、ネットワークルーティングとトランザクション追跡を容易にします。
10.4.1. イベントストリームの HTTP ヘッダーをセキュアに設定する リンクのコピーリンクがクリップボードにコピーされました!
イベントストリームのセキュリティーを強化するには、渡される HTTP ヘッダーを明示的に定義する必要があります。これらのヘッダーには、処理に必要な重要なコンテキストと認証データが含まれます。
手順
すべての HTTP ヘッダーを含めるには、Headers フィールドにアスタリスク (*) を入力します。これにより、いくつかのヘッダーを除くすべての HTTP ヘッダーが許可されます。
-
Excluded:
X-Envoy、X-Trusted-Proxy、X-Forwarded-For、X-Real-Idで始まるヘッダー Redacted: 認証ヘッダー (例:
Authorization: Redacted)重要Headers フィールドが空の場合、実稼働モードとテストモードでは、イベントペイロードに HTTP ヘッダーは追加されません。
-
Excluded:
-
特定の HTTP ヘッダーセットを含めるには、必要なヘッダーの名前をコンマ区切りの文字列として入力します (例:
Host,Authorization,X-Request-ID)。