翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
インタラクションと緩和策のログ記録
署名付き URL には署名が含まれており、有効期限前であれば、署名された特定の API オペレーションを実行するために使用できます。一時的なアクセス認証情報として扱う必要があります。署名は、知る必要がある当事者のみに非公開にする必要があります。ほとんどの環境では、これはリクエストを送信するクライアントとそれを受信するサーバーです。直接 HTTPS セッションの一部として署名を送信すると、HTTPS セッションの参加者のみが署名を送信する URI を可視化できるため、そのプライベートな性質が維持されます。
署名付き URLs の場合、署名はX-Amz-Signature
クエリ文字列パラメータとして送信されます。クエリ文字列パラメータは URI のコンポーネントです。リスクは、クライアントが URI とその署名を記録できることです。クライアントは HTTP リクエスト全体にアクセスし、リクエスト、データ、ヘッダー (認証ヘッダーを含む) の任意の部分をログに記録することができます。ただし、これは一般的ではない規則によるものです。URI ログ記録はより一般的であり、アクセスログ記録などの場合に必要です。クライアントは、URIs をログに記録する前に、リダクションまたはマスキングを使用して署名を削除する必要があります。
一部の環境では、ユーザーは仲介者 (プロキシ) が HTTPS セッションを可視化できるようにします。プロキシを有効にするには、設定と信頼できる証明書が必要なため、クライアントシステムへの高レベルの特権アクセスが必要です。プロキシ設定と信頼された証明書をクライアント中間環境のローカルコンテキスト内にインストールすると、非常に高いレベルの権限が許可されます。このため、このような仲介者へのアクセスは厳重に制御する必要があります。
仲介の目的は、通常、不要なエグレスをブロックし、他のエグレスを追跡することです。そのため、このような仲介者がリクエストをログに記録するのは一般的です。仲介者は、クライアントと同様に、コンテンツ、ヘッダー、データ (すべて非常に機密性が高い) をログに記録することができますが、X-Amz-Signature
クエリ文字列パラメータを含むような URIs をログに記録する方が一般的です。
緩和策
URI ログ記録は、中間サーバーへの直接アクセスと同様に、X-Amz-Signature
クエリ文字列パラメータの編集、クエリ文字列全体の編集、または情報の機密性の高い処理を行うことをお勧めします。これらの保護は強く推奨されますが、署名付き URLsが期限切れになるという事実は、ログの公開が署名の有効期限が切れるのに十分な時間遅延している限り、ログの公開のリスクを軽減します。
Amazon S3 は署名も確認し、適切に処理する必要があります。Amazon S3 サーバーアクセスログにはリクエスト URI が含まれていますがX-Amz-Signature
、推奨に従って を編集します。Amazon S3 の CloudTrail データイベントがログに記録される場合も同様です。カスタムデータ識別子を使用してデータをマスクするように Amazon CloudWatch Logs を設定できます。 Amazon S3
次の正規表現は、URI に表示される X-Amz-Signature
と一致します。
X-Amz-Signature=[a-f0-9]{64}
次の正規表現は、より具体的に置き換えるテキストを識別するためのグループ化パターンを追加します。
(?:X-Amz-Signature=)([a-f0-9]{64})
次のようなアクセスログエントリがある場合:
X-Amz-Signature=733255ef022bec3f2a8701cd61d4b371f3f28c9f193a1f02279211d48d5193d7
最初の正規表現は、アクセスログエントリを次のように変換します。
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2 番目の正規表現は、キャプチャしないグループをサポートするシステムで、アクセスログエントリを次のように変換します。
X-Amz-Signature=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX