Amazon S3の有効化
Cloudflare Logpushは、CloudflareダッシュボードまたはAPIを介して、ログを直接Amazon S3にプッシュすることをサポートしています。AWS GovCloudロケーションを使用する顧客は、S3互換エンドポイントを使用し、Amazon S3エンドポイントは使用しないでください。
-
Log in to the Cloudflare dashboard ↗.
-
Select the Enterprise account or domain (also known as zone) you want to use with Logpush. Depending on your choice, you have access to account-scoped datasets and zone-scoped datasets, respectively.
-
Go to Analytics & Logs > Logpush.
-
Select Create a Logpush job.
-
宛先を選択で、Amazon S3を選択します。
-
次の宛先情報を入力または選択します:
- Bucket - S3バケット名
- Path - ストレージコンテナ内のバケットの場所
- ログを日次のサブフォルダーに整理する(推奨)
- バケットリージョン
- ポリシーがAWS SSE-S3 AES256サーバーサイド暗号化 ↗を要求する場合。
- Cloudflareがバケットにファイルをアップロードするためのアクセスを付与するには、バケットにポリシー ↗があることを確認してください(まだ追加していない場合):
- JSONポリシーをコピーし、Amazon S3コンソールのバケットに移動して、Permissions > Bucket Policyにポリシーを貼り付け、保存を選択します。
宛先の詳細を入力し終えたら、続行を選択します。
-
所有権を証明するために、Cloudflareは指定された宛先にファイルを送信します。トークンを見つけるには、所有権チャレンジファイルの概要タブで開くボタンを選択し、それをCloudflareダッシュボードに貼り付けてバケットへのアクセスを確認します。所有権トークンを入力し、続行を選択します。
-
ストレージサービスにプッシュするデータセットを選択します。
-
次のステップでは、logpushジョブを構成する必要があります:
- ジョブ名を入力します。
- ログが一致する場合の下で、ログに含めるイベントや除外するイベントを選択できます。詳細についてはフィルターを参照してください。すべてのデータセットにこのオプションが利用できるわけではありません。
- 次のフィールドを送信で、すべてのログをストレージ宛先にプッシュするか、プッシュしたいログを選択的に選ぶことができます。
-
詳細オプションでは、次のことができます:
- ログ内のタイムスタンプフィールドの形式を選択します(
RFC3339(デフォルト)、Unix、またはUnixNano)。 - ログのサンプリングレートを選択するか、ランダムにサンプリングされたログの割合をプッシュします。
CVE-2021-44228のための赤actionを有効にします。このオプションは、${のすべての出現をx{に置き換えます。
- ログ内のタイムスタンプフィールドの形式を選択します(
-
logpushジョブの構成が完了したら、送信を選択します。
Cloudflareは、Amazon Identity and Access Management (IAM)を使用してS3バケットへのアクセスを取得します。Cloudflare IAMユーザーは、バケットに対してPutObject権限が必要です。
ログは、S3アクセス制御リスト(ACL)Bucket-owner-full-control権限を使用して、gzippedオブジェクトとしてそのバケットに書き込まれます。
例として、burritobotというバケットにlogsディレクトリ内にログを保存したいと仮定します。この場合、S3 URLはs3://burritobot/logsになります。
Ensure Log Share permissions are enabled, before attempting to read or configure a Logpush job. For more information refer to the Roles section.
Amazon S3へのLogpushを有効にするには:
-
S3バケットを作成します。 Amazonの指示 ↗を参照してください。
-
以下のポリシーを編集し、S3 > バケット > Permissions > バケットポリシーに貼り付け、
Resourceの値を自分のバケットパスに置き換えます。AWSPrincipalはCloudflareが所有しており、変更しないでください。
{ "Id": "Policy1506627184792", "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1506627150918", "Action": ["s3:PutObject"], "Effect": "Allow", "Resource": "arn:aws:s3:::burritobot/logs/*", "Principal": { "AWS": ["arn:aws:iam::391854517948:user/cloudflare-logpush"] } } ]}