INTEGRITY Dokumentace

Povolení služby Amazon Kinesis

Logpush podporuje Amazon Kinesis ↗ jako cíl pro všechny datové sady. Každý záznam Kinesis, který Logpush odešle, obsahuje dávku dat komprimovaných pomocí GZIP ve formátu JSON odděleném novými řádky (výchozí nastavení), případně ve formátu určeném v output_options parametr při vytvoření úlohy.

  1. Vytvořte roli IAM, kterou bude moci Cloudflare Logpush převzít, s následujícím vztahem důvěry:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::391854517948:user/cloudflare-logpush"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
  1. Ujistěte se, že role IAM má oprávnění k provedení akce PutRecord akci na vašem streamu Kinesis. Nahraďte <AWS_REGION>, <YOUR_AWS_ACCOUNT_ID> a <STREAM_NAME> s vlastními hodnotami:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "kinesis:PutRecord",
            "Resource": "arn:aws:kinesis:<AWS_REGION>:<YOUR_AWS_ACCOUNT_ID>:stream/<STREAM_NAME>"
        }
    ]
}
  1. Vytvořte úlohu Logpush s použitím následujícího formátu pro destination_conf pole:
kinesis://<STREAM_NAME>?region=<AWS_REGION>&sts-assume-role-arn=arn:aws:iam::<YOUR_AWS_ACCOUNT_ID>:role/<IAM_ROLE_NAME>
  1. (volitelné) Při použití STS Assume Role můžete uvést sts-external-id jako destination_conf parametr tak, aby byl zahrnutý v požadavcích, které úloha Logpush odesílá do Kinesis. Viz Securely Using External ID for Accessing AWS Accounts Owned by Others ↗ s dalšími informacemi.
kinesis://<STREAM_NAME>?region=<AWS_REGION>&sts-assume-role-arn=arn:aws:iam::<YOUR_AWS_ACCOUNT_ID>:role/<IAM_ROLE_NAME>&sts-external-id=<EXTERNAL_ID>

Příklad STS Assume Role

$ curl https://api.cloudflare.com/client/v4/zones/$ZONE_TAG/logpush/jobs \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' -d '{
  "name": "kinesis",
  "destination_conf": "kinesis://<STREAM_NAME>?region=<AWS_REGION>&sts-assume-role-arn=arn:aws:iam::<YOUR_AWS_ACCOUNT_ID>:role/<IAM_ROLE_NAME>",
  "dataset": "http_requests",
  "enabled": true
}'

Nakonfigurujte Kinesis pomocí přístupových klíčů IAM

Při konfiguraci úlohy Logpush pomocí přístupových klíčů IAM se ujistěte, že uživatel IAM má oprávnění k provedení akce PutRecord akci na vašem streamu Kinesis:

kinesis://<STREAM_NAME>?region=<AWS_REGION>&access-key-id=<AWS_ACCESS_KEY_ID>&secret-access-key=<AWS_SECRET_ACCESS_KEY>

Příklad přístupového klíče IAM

$ curl https://api.cloudflare.com/client/v4/zones/$ZONE_TAG/logpush/jobs \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' -d '{
  "name": "kinesis",
  "destination_conf": "kinesis://<STREAM_NAME>?region=<AWS_REGION>&access-key-id=<AWS_ACCESS_KEY_ID>&secret-access-key=<AWS_SECRET_ACCESS_KEY>",
  "dataset": "http_requests",
  "enabled": true
}'