Controllo dell'accesso con Amazon Data Firehose - Amazon Data Firehose

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Controllo dell'accesso con Amazon Data Firehose

Le seguenti sezioni spiegano come controllare l'accesso da e verso le risorse Amazon Data Firehose. Le informazioni trattate includono come concedere l'accesso all'applicazione in modo che possa inviare dati allo stream Firehose. Descrivono inoltre come concedere ad Amazon Data Firehose l'accesso al tuo bucket Amazon Simple Storage Service (Amazon S3), al cluster Amazon Redshift OpenSearch o al cluster Amazon Service, nonché le autorizzazioni di accesso necessarie se utilizzi Datadog, LogicMonitor Dynatrace, MongoDB, New Relic, Splunk o Sumo Logic come destinazione. Infine, in questo argomento troverai indicazioni su come configurare Amazon Data Firehose in modo che possa fornire dati a una destinazione che appartiene a un account diverso AWS . La tecnologia per gestire tutte queste forme di accesso è AWS Identity and Access Management (IAM). Per ulteriori informazioni su IAM, consulta Che cos'è IAM?.

Concedi l'accesso alle tue risorse Firehose

Per consentire all'applicazione di accedere allo stream Firehose, utilizzate un criterio simile a questo esempio. È possibile modificare le singole API operazioni a cui si concede l'accesso modificando la Action sezione o concedere l'accesso a tutte le operazioni con. "firehose:*"

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "firehose:DeleteDeliveryStream", "firehose:PutRecord", "firehose:PutRecordBatch", "firehose:UpdateDestination" ], "Resource": [ "arn:aws:firehose:region:account-id:deliverystream/delivery-stream-name" ] } ] }

Concedi a Firehose l'accesso al tuo cluster Amazon privato MSK

Se l'origine del tuo stream Firehose è un MSK cluster Amazon privato, utilizza una policy simile a questo esempio.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "Service": [ "firehose.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "kafka:CreateVpcConnection" ], "Resource": "cluster-arn" } ] }

È necessario aggiungere una politica come questa alla politica basata sulle risorse del cluster per concedere al responsabile del servizio Firehose l'autorizzazione a richiamare l'operazione Amazon. MSK CreateVpcConnection API

Consenti a Firehose di assumere un ruolo IAM

Questa sezione descrive le autorizzazioni e le politiche che concedono ad Amazon Data Firehose l'accesso per l'acquisizione, l'elaborazione e la distribuzione dei dati dalla sorgente alla destinazione.

Nota

Se si utilizza la console per creare uno stream Firehose e si sceglie l'opzione per creare un nuovo ruolo, al ruolo AWS viene associata la policy di fiducia richiesta. Se desideri che Amazon Data Firehose utilizzi un IAM ruolo esistente o se ne crei uno personalizzato, allega le seguenti politiche di fiducia a quel ruolo in modo che Amazon Data Firehose possa assumerlo. Modifica le politiche per sostituirle account-id con l'ID del tuo AWS account. Per informazioni su come modificare la relazione di trust di un ruolo, consulta Modifica di un ruolo.

Amazon Data Firehose utilizza un IAM ruolo per tutte le autorizzazioni necessarie allo stream Firehose per elaborare e fornire dati. Assicurati che a quel ruolo siano associate le seguenti policy di fiducia in modo che Amazon Data Firehose possa assumerlo.

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "account-id" } } }] }

Questa policy utilizza la chiave di contesto delle sts:ExternalId condizioni per garantire che solo le attività di Amazon Data Firehose provenienti dal tuo AWS account possano assumere questo ruolo. IAM Per ulteriori informazioni sulla prevenzione dell'uso non autorizzato dei IAM ruoli, consulta La problematica del deputato confuso nella Guida per l'IAMutente.

Se scegli Amazon MSK come origine per il tuo stream Firehose, devi specificare un altro IAM ruolo che conceda ad Amazon Data Firehose le autorizzazioni per importare i dati di origine dal cluster Amazon specificato. MSK Assicurati che a quel ruolo siano associate le seguenti policy di fiducia in modo che Amazon Data Firehose possa assumerlo.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "Service": [ "firehose.amazonaws.com" ] }, "Effect": "Allow", "Action": "sts:AssumeRole" } ] }

Assicurati che questo ruolo che concede ad Amazon Data Firehose le autorizzazioni per importare dati di origine dal cluster MSK Amazon specificato conceda le seguenti autorizzazioni:

{ "Version": "2012-10-17", "Statement": [{ "Effect":"Allow", "Action": [ "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2", "kafka-cluster:Connect" ], "Resource": "CLUSTER-ARN" }, { "Effect":"Allow", "Action": [ "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:ReadData" ], "Resource": "TOPIC-ARN" }] }

Concedi a Firehose l'accesso a AWS Glue per la conversione del formato dei dati

Se lo stream Firehose esegue una conversione in formato dati, Amazon Data Firehose fa riferimento alle definizioni delle tabelle memorizzate in. AWS Glue Per fornire ad Amazon Data Firehose l'accesso necessario a AWS Glue, aggiungi la seguente dichiarazione alla tua politica. Per informazioni su come trovare l'elemento ARN della tabella, vedere Specifying AWS Glue Resource ARNs.

[{ "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTableVersion", "glue:GetTableVersions" ], "Resource": "table-arn" }, { "Sid": "GetSchemaVersion", "Effect": "Allow", "Action": [ "glue:GetSchemaVersion" ], "Resource": ["*"] }]

La politica consigliata per recuperare gli schemi dal registro degli schemi non prevede restrizioni in termini di risorse. Per ulteriori informazioni, consulta IAMgli esempi di deserializzatori nella Guida per gli sviluppatori. AWS Glue

Concedi a Firehose l'accesso a una destinazione Amazon S3

Quando utilizzi una destinazione Amazon S3, Amazon Data Firehose invia i dati al tuo bucket S3 e può opzionalmente utilizzare una AWS KMS chiave di tua proprietà per la crittografia dei dati. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. È necessario avere un IAM ruolo durante la creazione di uno stream Firehose. Amazon Data Firehose assume tale IAM ruolo e ottiene l'accesso al bucket, alla chiave, al gruppo di log e CloudWatch ai flussi specificati.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al tuo bucket e alla tua chiave S3. AWS KMS Se non sei proprietario del bucket S3, aggiungi s3:PutObjectAcl all'elenco delle operazioni Amazon S3. Ciò garantisce al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:log-stream-name" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] } ] }

La policy in alto ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione. Se utilizzi Amazon MSK come fonte, puoi sostituire tale dichiarazione con la seguente:

{ "Sid":"", "Effect":"Allow", "Action":[ "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2", "kafka-cluster:Connect" ], "Resource":"arn:aws:kafka:{{mskClusterRegion}}:{{mskClusterAccount}}:cluster/{{mskClusterName}}/{{clusterUUID}}" }, { "Sid":"", "Effect":"Allow", "Action":[ "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:ReadData" ], "Resource":"arn:aws:kafka:{{mskClusterRegion}}:{{mskClusterAccount}}:topic/{{mskClusterName}}/{{clusterUUID}}/{{mskTopicName}}" }, { "Sid":"", "Effect":"Allow", "Action":[ "kafka-cluster:DescribeGroup" ], "Resource":"arn:aws:kafka:{{mskClusterRegion}}:{{mskClusterAccount}}:group/{{mskClusterName}}/{{clusterUUID}}/*" }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'IAMutente.

Per informazioni su come concedere ad Amazon Data Firehose l'accesso a una destinazione Amazon S3 in un altro account, consulta. Consegna su più account a una destinazione Amazon S3

Concedi a Firehose l'accesso alle tabelle Amazon S3

È necessario avere un IAM ruolo prima di creare uno stream Firehose. Utilizzate i seguenti passaggi per creare una policy e un IAM ruolo. Firehose assume questo IAM ruolo ed esegue le azioni richieste.

Accedi a AWS Management Console e apri la IAM console all'indirizzo. https://console.aws.amazon.com/iam/

Crea una politica e scegli JSONnell'editor delle politiche. Aggiungi la seguente politica in linea che concede autorizzazioni Amazon S3 come autorizzazioni di lettura/scrittura, autorizzazioni per aggiornare la tabella nel catalogo dati e altre.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3TableAccessViaGlueFederation", "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetDatabase", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog/*", "arn:aws:glue:<region>:<account-id>:catalog/s3tablescatalog", "arn:aws:glue:<region>:<account-id>:catalog", "arn:aws:glue:<region>:<account-id>:database/*", "arn:aws:glue:<region>:<account-id>:table/*/*" ] }, { "Sid": "S3DeliveryErrorBucketPermission", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::<error delivery bucket>", "arn:aws:s3:::<error delivery bucket>/*" ] }, { "Sid": "RequiredWhenUsingKinesisDataStreamsAsSource", "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:<region>:<account-id>:stream/<stream-name>" }, { "Sid": "RequiredWhenDoingMetadataReadsANDDataAndMetadataWriteViaLakeformation", "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": "*" }, { "Sid": "RequiredWhenUsingKMSEncryptionForS3ErrorBucketDelivery", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:<region>:<account-id>:key/<KMS-key-id>" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.<region>.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::<error delivery bucket>/prefix*" } } }, { "Sid": "LoggingInCloudWatch", "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:<region>:<account-id>:log-group:<log-group-name>:log-stream:<log-stream-name>" ] }, { "Sid": "RequiredWhenAttachingLambdaToFirehose", "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:<region>:<account-id>:function:<function-name>:<function-version>" ] } ] }

La policy contiene istruzioni che consentono l'accesso ad Amazon Kinesis Data Streams, l'invocazione di funzioni Lambda e l'accesso alle chiavi. AWS KMS Se non utilizzi nessuna di queste risorse, puoi rimuovere le rispettive istruzioni. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. È necessario configurare i nomi dei gruppi di log e dei flussi di log per utilizzare questa opzione. Per i nomi dei gruppi di log e dei flussi di log, consulta (Monitorare Amazon Data Firehose utilizzando i CloudWatch log). (collegamento necessario).

Nelle politiche in linea, sostituiscilo <error delivery bucket> con il nome aws-account-id del bucket Amazon S3 e la regione con un numero e una regione Account AWS validi della risorsa.

Dopo aver creato la policy, apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/e crea un IAM Servizio AWSruolo con il tipo di entità affidabile.

Per assistenza o caso d'uso, scegli Kinesis. Per il caso d'uso, scegli Kinesis Firehose.

Nella pagina successiva, scegli la policy creata nel passaggio precedente da associare a questo ruolo. Nella pagina di revisione, troverai una politica di fiducia già allegata a questo ruolo che autorizza il servizio Firehose ad assumere questo ruolo. Quando crei il ruolo, Amazon Data Firehose può assumerlo per eseguire le operazioni richieste su bucket AWS Glue S3. Aggiungere il responsabile del servizio Firehose alla politica di attendibilità del ruolo creato. Per ulteriori informazioni, consulta Consentire a Firehose di assumere un IAM ruolo.

Concedi a Firehose l'accesso a una destinazione Apache Iceberg Tables

È necessario disporre di un IAM ruolo prima di creare uno stream Firehose e utilizzare Apache Iceberg Tables. AWS Glue Utilizzate i seguenti passaggi per creare una policy e un ruolo. IAM Firehose assume questo IAM ruolo ed esegue le azioni richieste.

  1. Accedi a AWS Management Console e apri la IAM console all'indirizzo. https://console.aws.amazon.com/iam/

  2. Crea una politica e scegli JSONnell'editor delle politiche.

  3. Aggiungi la seguente politica in linea che concede autorizzazioni Amazon S3 come le autorizzazioni di lettura/scrittura, le autorizzazioni per aggiornare la tabella nel catalogo dati ecc.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetDatabase", "glue:UpdateTable" ], "Resource": [ "arn:aws:glue:<region>:<aws-account-id>:catalog", "arn:aws:glue:<region>:<aws-account-id>:database/*", "arn:aws:glue:<region>:<aws-account-id>:table/*/*" ] }, { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:<region>:<aws-account-id>:stream/<stream-name>" }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:<region>:<aws-account-id>:key/<key-id>" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:<region>:<aws-account-id>:log-group:<log-group-name>:log-stream:<log-stream-name>" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:<region>:<aws-account-id>:function:<function-name>:<function-version>" ] } ] }

    Questa policy contiene una dichiarazione che consente l'accesso ad Amazon Kinesis Data Streams, l'invocazione di funzioni Lambda e l'accesso alle chiavi. KMS Se non utilizzi nessuna di queste risorse, puoi rimuovere le rispettive istruzioni.

    Se la registrazione degli errori è abilitata, Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. A tale scopo è necessario configurare i nomi dei gruppi di log e dei flussi di log. Per i nomi dei gruppi di log e dei flussi di log, vedereMonitora Amazon Data Firehose utilizzando i log CloudWatch .

  4. Nelle politiche in linea, sostituiscilo amzn-s3-demo-bucket con il nome aws-account-id del bucket Amazon S3 e la regione con un numero e una regione Account AWS validi delle risorse.

    Nota

    Questo ruolo concede l'autorizzazione a tutti i database e le tabelle del tuo catalogo dati. Se lo desideri, puoi concedere le autorizzazioni solo a tabelle e database specifici.

  5. Dopo aver creato la policy, apri la IAMconsole e crea un IAM Servizio AWSruolo con il tipo di entità affidabile.

  6. Per assistenza o caso d'uso, scegli Kinesis. Per il caso d'uso, scegli Kinesis Firehose.

  7. Nella pagina successiva, scegli la policy creata nel passaggio precedente da associare a questo ruolo. Nella pagina di revisione, troverai una politica di fiducia già allegata a questo ruolo che autorizza il servizio Firehose ad assumere questo ruolo. Quando crei il ruolo, Amazon Data Firehose può assumerlo per eseguire le operazioni richieste su bucket AWS Glue S3.

Concedi a Firehose l'accesso a una destinazione Amazon Redshift

Fai riferimento a quanto segue quando concedi l'accesso ad Amazon Data Firehose quando utilizzi una destinazione Amazon Redshift.

IAMruolo e politica di accesso

Quando utilizzi una destinazione Amazon Redshift, Amazon Data Firehose invia i dati al tuo bucket S3 come posizione intermedia. Facoltativamente, può utilizzare qualsiasi AWS KMS chiave di tua proprietà per la crittografia dei dati. Amazon Data Firehose carica quindi i dati dal bucket S3 al cluster con provisioning di Amazon Redshift o al gruppo di lavoro Serverless Amazon Redshift. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. Amazon Data Firehose utilizza il nome utente e la password Amazon Redshift specificati per accedere al cluster o al gruppo di lavoro Amazon Redshift Serverless fornito e utilizza IAM un ruolo per accedere al bucket, alla chiave, al gruppo di log e agli stream specificati. CloudWatch È necessario avere un IAM ruolo durante la creazione di uno stream Firehose.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al tuo bucket e alla tua chiave S3. AWS KMS Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni Amazon S3, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:log-stream-name" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] } ] }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creating a Role to Delegate Permissions to an Service nella Guida per l'utente. AWS IAM

VPCaccesso a un cluster con provisioning di Amazon Redshift o a un gruppo di lavoro Serverless Amazon Redshift

Se il cluster con provisioning di Amazon Redshift o il gruppo di lavoro Serverless Amazon Redshift si trova in un cloud privato virtuale (VPC), deve essere accessibile pubblicamente con un indirizzo IP pubblico. Inoltre, concedi ad Amazon Data Firehose l'accesso al tuo cluster fornito di Amazon Redshift o al gruppo di lavoro Amazon Redshift Serverless sbloccando gli indirizzi IP di Amazon Data Firehose. Amazon Data Firehose attualmente utilizza un CIDR blocco per ogni regione disponibile.

Regione CIDRblocchi
Stati Uniti orientali (Ohio)

13.58.135.96/27

Stati Uniti orientali (Virginia settentrionale) 52.70.63.192/27
Stati Uniti occidentali (California settentrionale) 13.57.135.192/27
US West (Oregon) 52.89.255.224/27
AWS GovCloud (Stati Uniti orientali) 18.253.138.96/27
AWS GovCloud (Stati Uniti occidentali) 52.61.204.160/27
Canada (Centrale) 35.183.92.128/27
Canada occidentale (Calgary) 40.176.98.192/27
Asia Pacifico (Hong Kong) 18.162.221.32/27
Asia Pacifico (Mumbai) 13.232.67.32/27
Asia Pacific (Hyderabad) 18.60.192.128/27
Asia Pacific (Seul) 13.209.1.64/27
Asia Pacifico (Singapore) 13.228.64.192/27
Asia Pacifico (Sydney) 13.210.67.224/27
Asia Pacifico (Giacarta) 108.136.221.64/27
Asia Pacifico (Tokyo) 13.113.196.224/27
Asia Pacifico (Osaka-Locale) 13.208.177.192/27
Cina (Pechino) 52.81.151.32/27
Cina (Ningxia) 161.189.23.64/27
Europa (Zurigo) 16.62.183.32/27
Europa (Francoforte) 35.158.127.160/27
Europa (Irlanda) 52.19.239.192/27
Europe (London) 18.130.1.96/27
Europe (Paris) 35.180.1.96/27
Europa (Stoccolma) 13.53.63.224/27
Medio Oriente (Bahrein) 15.185.91.0/27
Sud America (San Paolo) 18.228.1.128/27
Europa (Milano) 15.161.135.128/27
Africa (Città del Capo) 13.244.121.224/27
Medio Oriente () UAE 3.28.159.32/27
Israele (Tel Aviv) 51.16.102.0/27
Asia Pacifico (Melbourne) 16.50.161.128/27
Asia Pacifico (Malesia) 43.216.58.0/27

Per ulteriori informazioni su come sbloccare gli indirizzi IP, consulta la fase Autorizzare l'accesso al cluster nella guida Guida alle operazioni di base di Amazon Redshift.

Concedi a Firehose l'accesso a una destinazione di servizio pubblico OpenSearch

Quando utilizzi una destinazione di OpenSearch servizio, Amazon Data Firehose invia i dati al tuo cluster di OpenSearch servizi e contemporaneamente esegue il backup di tutti i documenti non riusciti o di tutti i documenti nel tuo bucket S3. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. Amazon Data Firehose utilizza un IAM ruolo per accedere al dominio di OpenSearch servizio, al bucket S3, alla AWS KMS chiave, al gruppo di CloudWatch log e ai flussi specificati. È necessario avere un IAM ruolo durante la creazione di uno stream Firehose.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al tuo bucket S3, al dominio di OpenSearch servizio e alla chiave. AWS KMS Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni Amazon S3, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "es:DescribeDomain", "es:DescribeDomains", "es:DescribeDomainConfig", "es:ESHttpPost", "es:ESHttpPut" ], "Resource": [ "arn:aws:es:region:account-id:domain/domain-name", "arn:aws:es:region:account-id:domain/domain-name/*" ] }, { "Effect": "Allow", "Action": [ "es:ESHttpGet" ], "Resource": [ "arn:aws:es:region:account-id:domain/domain-name/_all/_settings", "arn:aws:es:region:account-id:domain/domain-name/_cluster/stats", "arn:aws:es:region:account-id:domain/domain-name/index-name*/_mapping/type-name", "arn:aws:es:region:account-id:domain/domain-name/_nodes", "arn:aws:es:region:account-id:domain/domain-name/_nodes/stats", "arn:aws:es:region:account-id:domain/domain-name/_nodes/*/stats", "arn:aws:es:region:account-id:domain/domain-name/_stats", "arn:aws:es:region:account-id:domain/domain-name/index-name*/_stats", "arn:aws:es:region:account-id:domain/domain-name/" ] }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:log-stream-name" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] } ] }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creating a Role to Delegate Permissions to an Service nella Guida per l'utente. AWS IAM

Per informazioni su come concedere ad Amazon Data Firehose l'accesso a un cluster di OpenSearch servizi in un altro account, consulta. Consegna tra più account a una OpenSearch destinazione del Servizio

Concedi a Firehose l'accesso a una destinazione di OpenSearch servizio in un VPC

Se il tuo dominio di OpenSearch servizio si trova in unVPC, assicurati di concedere ad Amazon Data Firehose le autorizzazioni descritte nella sezione precedente. Inoltre, devi concedere ad Amazon Data Firehose le seguenti autorizzazioni per consentirgli di accedere al tuo dominio di OpenSearch servizio. VPC

  • ec2:DescribeVpcs

  • ec2:DescribeVpcAttribute

  • ec2:DescribeSubnets

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

  • ec2:CreateNetworkInterfacePermission

  • ec2:DeleteNetworkInterface

Importante

Non revocate queste autorizzazioni dopo aver creato lo stream Firehose. Se revochi queste autorizzazioni, il tuo stream Firehose subirà una degradazione o smetterà di fornire dati al tuo dominio di servizio ogni volta che il OpenSearch servizio tenta di eseguire una query o un aggiornamento. ENIs

Importante

Quando specificate delle sottoreti per la trasmissione dei dati alla destinazione in modalità privataVPC, assicuratevi di avere un numero sufficiente di indirizzi IP liberi nelle sottoreti scelte. Se non è disponibile un indirizzo IP gratuito in una sottorete specificata, Firehose non può creare o ENIs aggiungere dati per la consegna dei dati in VPC modalità privata e la consegna verrà compromessa o avrà esito negativo.

Quando crei o aggiorni il tuo stream Firehose, specifichi un gruppo di sicurezza che Firehose deve utilizzare per inviare dati al tuo dominio di servizio. OpenSearch È possibile utilizzare lo stesso gruppo di sicurezza utilizzato dal dominio del OpenSearch servizio o uno diverso. Se specifichi un gruppo di sicurezza diverso, assicurati che consenta il HTTPS traffico in uscita verso il gruppo di sicurezza del dominio del OpenSearch servizio. Assicuratevi inoltre che il gruppo di sicurezza del dominio di OpenSearch servizio consenta il HTTPS traffico proveniente dal gruppo di sicurezza specificato al momento della configurazione dello stream Firehose. Se utilizzi lo stesso gruppo di sicurezza sia per lo stream Firehose che per il dominio di OpenSearch servizio, assicurati che la regola in entrata del gruppo di sicurezza consenta il traffico. HTTPS Per ulteriori informazioni sulle regole dei gruppi di sicurezza, consulta Regole dei gruppi di sicurezza nella VPC documentazione di Amazon.

Concedere a Firehose l'accesso a una destinazione Serverless pubblica OpenSearch

Quando utilizzi una destinazione OpenSearch Serverless, Amazon Data Firehose invia i dati alla OpenSearch tua raccolta Serverless ed esegue contemporaneamente il backup di tutti i documenti non riusciti o di tutti i documenti nel tuo bucket S3. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia anche gli errori di consegna dei dati al gruppo di log e CloudWatch ai flussi. Amazon Data Firehose utilizza un IAM ruolo per accedere alla raccolta OpenSearch Serverless, al bucket S3, alla AWS KMS chiave, al gruppo di log e CloudWatch ai flussi specificati. È necessario avere un IAM ruolo durante la creazione di uno stream Firehose.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al tuo bucket S3, al dominio OpenSearch Serverless e alla chiave. AWS KMS Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni Amazon S3, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:log-stream-name" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] }, { "Effect": "Allow", "Action": "aoss:APIAccessAll", "Resource": "arn:aws:aoss:region:account-id:collection/collection-id" } ] }

Oltre alla politica di cui sopra, devi anche configurare Amazon Data Firehose in modo che in una policy di accesso ai dati vengano assegnate le seguenti autorizzazioni minime:

[ { "Rules":[ { "ResourceType":"index", "Resource":[ "index/target-collection/target-index" ], "Permission":[ "aoss:WriteDocument", "aoss:UpdateIndex", "aoss:CreateIndex" ] } ], "Principal":[ "arn:aws:sts::account-id:assumed-role/firehose-delivery-role-name/*" ] } ]

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente. IAM

Concedi a Firehose l'accesso a una destinazione OpenSearch Serverless in un VPC

Se la tua raccolta OpenSearch Serverless si trova in un fileVPC, assicurati di concedere ad Amazon Data Firehose le autorizzazioni descritte nella sezione precedente. Inoltre, devi concedere ad Amazon Data Firehose le seguenti autorizzazioni per consentirgli di accedere alla tua raccolta OpenSearch Serverless. VPC

  • ec2:DescribeVpcs

  • ec2:DescribeVpcAttribute

  • ec2:DescribeSubnets

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

  • ec2:CreateNetworkInterfacePermission

  • ec2:DeleteNetworkInterface

Importante

Non revocate queste autorizzazioni dopo aver creato lo stream Firehose. Se revochi queste autorizzazioni, il tuo stream Firehose subirà una degradazione o smetterà di fornire dati al tuo dominio di servizio ogni volta che il OpenSearch servizio tenta di eseguire una query o un aggiornamento. ENIs

Importante

Quando specificate delle sottoreti per la trasmissione dei dati alla destinazione in modalità privataVPC, assicuratevi di avere un numero sufficiente di indirizzi IP liberi nelle sottoreti scelte. Se non è disponibile un indirizzo IP gratuito in una sottorete specificata, Firehose non può creare o ENIs aggiungere dati per la consegna dei dati in VPC modalità privata e la consegna verrà compromessa o avrà esito negativo.

Quando crei o aggiorni il tuo stream Firehose, specifichi un gruppo di sicurezza da utilizzare per l'invio di dati alla tua raccolta Serverless. OpenSearch È possibile utilizzare lo stesso gruppo di sicurezza utilizzato dalla raccolta OpenSearch Serverless o uno diverso. Se specificate un gruppo di sicurezza diverso, assicuratevi che consenta il HTTPS traffico in uscita verso il gruppo di sicurezza della raccolta OpenSearch Serverless. Assicuratevi inoltre che il gruppo di sicurezza della collezione OpenSearch Serverless consenta il HTTPS traffico proveniente dal gruppo di sicurezza specificato al momento della configurazione dello stream Firehose. Se utilizzi lo stesso gruppo di sicurezza sia per lo stream Firehose che per la raccolta OpenSearch Serverless, assicurati che la regola in entrata del gruppo di sicurezza consenta il traffico. HTTPS Per ulteriori informazioni sulle regole dei gruppi di sicurezza, consulta Regole dei gruppi di sicurezza nella VPC documentazione di Amazon.

Concedi a Firehose l'accesso a una destinazione Splunk

Quando utilizzi una destinazione Splunk, Amazon Data Firehose fornisce dati all'endpoint HTTP Splunk Event HEC Collector (). Inoltre, esegue il backup di tali dati nel bucket Amazon S3 da te specificato e, facoltativamente, puoi utilizzare una AWS KMS chiave di tua proprietà per la crittografia lato server di Amazon S3. Se la registrazione degli errori è abilitata, Firehose invia gli errori di consegna dei CloudWatch dati ai flussi di log. È possibile utilizzarlo anche AWS Lambda per la trasformazione dei dati.

Se utilizzi un AWS load balancer, assicurati che sia un Classic Load Balancer o un Application Load Balancer. Inoltre, abilita sessioni permanenti basate sulla durata con la scadenza dei cookie disabilitata per Classic Load Balancer e la scadenza è impostata al massimo (7 giorni) per Application Load Balancer. Per informazioni su come eseguire questa operazione, consulta Duration-Based Session Stickiness for Classic Load Balancer o un Application Load Balancer.

È necessario avere un IAM ruolo quando si crea uno stream Firehose. Firehose assume tale IAM ruolo e ottiene l'accesso al bucket, alla chiave, al gruppo di log e CloudWatch ai flussi specificati.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al tuo bucket S3. Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni Amazon S3, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa policy concede inoltre ad Amazon Data Firehose l'accesso CloudWatch alla registrazione degli errori e AWS Lambda alla trasformazione dei dati. La policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione. Amazon Data Firehose non viene utilizzato IAM per accedere a Splunk. Per accedere a Splunk, utilizza il tuo token. HEC

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] } ] }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'IAMutente.

Accedere a Splunk in VPC

Se la tua piattaforma Splunk si trova in unVPC, deve essere accessibile pubblicamente con un indirizzo IP pubblico. Inoltre, concedi ad Amazon Data Firehose l'accesso alla tua piattaforma Splunk sbloccando gli indirizzi IP di Amazon Data Firehose. Amazon Data Firehose attualmente utilizza i seguenti CIDR blocchi.

Regione CIDRblocchi
Stati Uniti orientali (Ohio)

18.216.68.160/27, 18.216.170.64/27, 18.216.170.96/27\

Stati Uniti orientali (Virginia settentrionale) 34.238.188.128/26, 34.238.188.192/26, 34.238.195.0/26
Stati Uniti occidentali (California settentrionale) 13.57.180.0/26
US West (Oregon) 34.216.24.32/27, 34.216.24.192/27, 34.216.24.224/27
AWS GovCloud (Stati Uniti orientali) 18.253.138.192/26
AWS GovCloud (Stati Uniti occidentali) 52.61.204.192/26
Asia Pacifico (Hong Kong) 18.162.221.64/26
Asia Pacifico (Mumbai) 13.232.67.64/26
Asia Pacifico (Seoul) 13.209.71.0/26
Asia Pacifico (Singapore) 13.229.187.128/26
Asia Pacifico (Sydney) 13.211.12.0/26
Asia Pacifico (Tokyo) 13.230.21.0/27, 13.230.21.32/27
Canada (Centrale) 35.183.92.64/26
Canada occidentale (Calgary) 40.176.98.128/26
Europa (Francoforte) 18.194.95.192/27, 18.194.95.224/27, 18.195.48.0/27
Europa (Irlanda) 34.241.197.32/27, 34.241.197.64/27, 34.241.197.96/27
Europe (London) 18.130.91.0/26
Europa (Parigi) 35.180.112.0/26
Europa (Spagna) 18.100.194.0/26
Europa (Stoccolma) 13.53.191.0/26
Medio Oriente (Bahrein) 15.185.91.64/26
Sud America (San Paolo) 18.228.1.192/26
Europa (Milano) 15.161.135.192/26
Africa (Città del Capo) 13.244.165.128/26
Asia Pacifico (Osaka-Locale) 13.208.217.0/26
Cina (Pechino) 52.81.151.64/26
Cina (Ningxia) 161.189.23.128/26
Asia Pacifico (Giacarta) 108.136.221.128/26
Medio Oriente () UAE 3.28.159.64/26
Israele (Tel Aviv) 51.16.102.64/26
Europa (Zurigo) 16.62.183.64/26
Asia Pacific (Hyderabad) 18.60.192.192/26
Asia Pacifico (Melbourne) 16.50.161.192/26
Asia Pacifico (Malesia) 43.216.44.192/26

Inserisci i log VPC del flusso in Splunk utilizzando Amazon Data Firehose

Per ulteriori informazioni su come creare un abbonamento ai log di VPC flusso, pubblicare su Firehose e inviare i log di VPC flusso a una destinazione supportata, consulta Inserire i log di VPCflusso in Splunk utilizzando Amazon Data Firehose.

Accesso HTTP a Snowflake o all'endpoint

Non esiste un sottoinsieme di intervalli di indirizzi AWS IP specifici per Amazon Data Firehose quando la destinazione HTTP è un endpoint o un cluster pubblico Snowflake.

Per aggiungere Firehose a un elenco di indirizzi consentiti per i cluster Snowflake pubblici o ai tuoi HTTPS endpoint pubbliciHTTP, aggiungi tutti gli intervalli di indirizzi AWS IP correnti alle tue regole di ingresso.

Nota

Le notifiche non provengono sempre da indirizzi IP nella stessa regione dell'argomento associato. AWS È necessario includere l'intervallo di indirizzi AWS IP per tutte le regioni.

Concedi a Firehose l'accesso a una destinazione Snowflake

Quando utilizzi Snowflake come destinazione, Firehose invia i dati a un account Snowflake utilizzando il tuo account Snowflake. URL Inoltre, esegue il backup dei dati di errore nel bucket Amazon Simple Storage Service da te specificato e, facoltativamente, puoi utilizzare una AWS Key Management Service chiave di tua proprietà per la crittografia lato server di Amazon S3. Se la registrazione degli errori è abilitata, Firehose invia gli errori di consegna dei CloudWatch dati ai flussi di log.

È necessario avere un IAM ruolo prima di creare uno stream Firehose. Firehose assume tale IAM ruolo e ottiene l'accesso al bucket, alla chiave, al gruppo e CloudWatch agli stream Logs specificati. Utilizza la seguente politica di accesso per consentire a Firehose di accedere al tuo bucket S3. Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni di Amazon Simple Storage Service, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Firehose. Questa politica concede inoltre a Firehose l'accesso CloudWatch per la registrazione degli errori. La policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione. Firehose non utilizza per accedere IAM a Snowflake. Per accedere a Snowflake, utilizza l'URL dell'account Snowflake e l'ID PrivateLink Vpce nel caso di un cluster privato.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" ] } ] }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta Creazione di un ruolo per delegare le autorizzazioni a un servizio nella Guida per l'utente. AWS IAM

Accesso a Snowflake in VPC

Se il cluster Snowflake è abilitato al collegamento privato, Firehose utilizzerà uno dei seguenti VPC endpoint al momento della creazione del collegamento privato per fornire dati al cluster privato senza passare attraverso la rete Internet pubblica. A tal fine, crea regole di rete Snowflake per consentire l'accesso da parte dei seguenti elementi AwsVpceIds al cluster in cui si trova. Regione AWS Per ulteriori informazioni, consulta Creazione di regole di rete nella Guida per l'utente di Snowflake.

VPCID degli endpoint da utilizzare in base alle regioni in cui si trova il cluster
Regione AWS VPCE IDs
Stati Uniti orientali (Ohio)

vpce-0d96cafcd96a50aeb

vpce-0cec34343d48f537b

Stati Uniti orientali (Virginia settentrionale)

vpce-0b4d7e8478e141ba8

vpce-0b75cd681fb507352

vpce-01c03e63820ec00d8

vpce-0c2cfc51dc2882422

vpce-06ca862f019e4e056

vpce-020cda0cfa63f8d1c

vpce-0b80504a1a783cd70

vpce-0289b9ff0b5259a96

vpce-0d7add8628bd69a12

vpce-02bfb5966cc59b2af

vpce-09e707674af878bf2

vpce-049b52e96cc1a2165

vpce-0bb6c7b7a8a86cdbb

vpce-03b22d599f51e80f3

vpce-01d60dc60fc106fe1

vpce-0186d20a4b24ecbef

vpce-0533906401a36e416

vpce-05111fb13d396710e

vpce-0694613f4fbd6f514

vpce-09b21cb25fe4cc4f4

vpce-06029c3550e4d2399

vpce-00961862a21b033da

vpce-01620b9ae33273587

vpce-078cf4ec226880ac9

vpce-0d711bf076ce56381

vpce-066b7e13cbfca6f6e

vpce-0674541252d9ccc26

vpce-03540b88dedb4b000

vpce-0b1828e79ad394b95

vpce-0dc0e6f001fb1a60d

vpce-0d8f82e71a244098a

vpce-00e374d9e3f1af5ce

vpce-0c1e3d6631ddb442f

US West (Oregon)

vpce-0f60f72da4cd1e4e7

vpce-0c60d21eb8b1669fd

vpce-01c4e3e29afdafbef

vpce-0cc6bf2a88da139de

vpce-0797e08e169e50662

vpce-033cbe480381b5c0e

vpce-00debbdd8f9eb10a5

vpce-08ec2f386c809e889

vpce-0856d14310857b545

Europa (Francoforte)

vpce-068dbb7d71c9460fb

vpce-0a7a7f095942d4ec9

Europa (Irlanda)

vpce-06857e59c005a6276

vpce-04390f4f8778b75f2

VPCE-011fd2b1f0aa172fd

Asia Pacifico (Tokyo)

vpce-06369e5258144e68a

vpce-0f2363cdb8926fbe8

Asia Pacifico (Singapore)

vpce-049cd46cce7a12d52

vpce-0e8965a1a4bdb8941

Asia Pacifico (Seoul)

vpce-0aa444d9001e1faa1

vpce-04a49d4dcfd02b884

Asia Pacifico (Sydney)

vpce-048a60a182c52be63

vpce-03c19949787fd1859

Asia Pacifico (Mumbai)

vpce-0d68cb822f6f0db68

vpce-0517d32692ffcbde2

Europa (Londra)

vpce-0fd1874a0ba3b9374

vpce-08091b1a85e206029

Sud America (San Paolo)

vpce-065169b8144e4f12e

vpce-0493699f0e5762d63

Canada (Centrale)

vpce-07e6ed81689d5271f

vpce-0f53239730541394c

Europa (Parigi)

vpce-09419680077e6488a

vpce-0ea81ba2c08140c14

Asia Pacifico (Osaka-Locale)

vpce-0a9f003e6a7e38c05

vpce-02886510b897b1c5a

Europa (Stoccolma)

vpce-0d96410833219025a

vpce-060a32f9a75ba969f

Asia Pacifico (Giacarta)

vpce-00add4b9a25e5c649

vpce-004ae2de34338a856

Concedere a Firehose l'accesso a una destinazione endpoint HTTP

Puoi utilizzare Amazon Data Firehose per distribuire dati a qualsiasi destinazione HTTP endpoint. Amazon Data Firehose esegue inoltre il backup di tali dati nel bucket Amazon S3 da te specificato e, facoltativamente, puoi utilizzare AWS KMS una chiave di tua proprietà per la crittografia lato server di Amazon S3. Se la registrazione degli errori è abilitata, Amazon Data Firehose invia gli errori di consegna dei dati ai CloudWatch tuoi flussi di log. Puoi utilizzarlo anche AWS Lambda per la trasformazione dei dati.

È necessario avere un IAM ruolo durante la creazione di uno stream Firehose. Amazon Data Firehose assume tale IAM ruolo e ottiene l'accesso al bucket, alla chiave, al gruppo di log e CloudWatch ai flussi specificati.

Utilizza la seguente politica di accesso per consentire ad Amazon Data Firehose di accedere al bucket S3 che hai specificato per il backup dei dati. Se non possiedi il bucket S3, aggiungilo s3:PutObjectAcl all'elenco delle azioni Amazon S3, che garantiscono al proprietario del bucket l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa policy concede inoltre ad Amazon Data Firehose l'accesso CloudWatch alla registrazione degli errori e AWS Lambda alla trasformazione dei dati. La policy ha anche un'istruzione che permette l'accesso a flusso di dati Amazon Kinesis. Se non utilizzi Kinesis Data Firehose come origine dati, puoi rimuovere questa istruzione.

Importante

Amazon Data Firehose non viene utilizzato IAM per accedere a destinazioni HTTP endpoint di proprietà di fornitori di servizi terzi supportati, tra cui Datadog, Dynatrace, LogicMonitor MongoDB, New Relic, Splunk o Sumo Logic. Per accedere a una destinazione HTTP endpoint specificata di proprietà di un fornitore di servizi terzo supportato, contatta tale fornitore di servizi per ottenere la API chiave o la chiave di accesso necessaria per abilitare la consegna dei dati a quel servizio da Amazon Data Firehose.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:region:account-id:key/key-id" ], "Condition": { "StringEquals": { "kms:ViaService": "s3.region.amazonaws.com" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3:::amzn-s3-demo-bucket/prefix*" } } }, { "Effect": "Allow", "Action": [ "kinesis:DescribeStream", "kinesis:GetShardIterator", "kinesis:GetRecords", "kinesis:ListShards" ], "Resource": "arn:aws:kinesis:region:account-id:stream/stream-name" }, { "Effect": "Allow", "Action": [ "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:*" ] }, { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunctionConfiguration" ], "Resource": [ "arn:aws:lambda:region:account-id:function:function-name:function-version" ] } ] }

Per ulteriori informazioni su come consentire ad altri AWS servizi di accedere alle tue AWS risorse, consulta la sezione Creazione di un ruolo per delegare le autorizzazioni a un AWS servizio nella Guida per l'utente. IAM

Importante

Attualmente Amazon Data Firehose NOT supporta la consegna di dati agli HTTP endpoint in a. VPC

Consegna su più account da Amazon MSK

Quando crei uno stream Firehose dal tuo account Firehose (ad esempio, Account B) e la tua origine è un MSK cluster in un altro AWS account (Account A), devi avere le seguenti configurazioni.

Account A:

  1. Nella MSK console Amazon, scegli il cluster fornito, quindi scegli Proprietà.

  2. In Impostazioni di rete, scegli Modifica e attiva la connettività multipla. VPC

  3. In Impostazioni di sicurezza scegli Modifica policy del cluster.

    1. Se il cluster non ha già configurato una policy, seleziona Includi il principale del servizio Firehose e Abilita la distribuzione S3 multi-account Firehose. AWS Management Console Genererà automaticamente una politica con le autorizzazioni appropriate.

    2. Se il cluster ha già una policy configurata, aggiungi le seguenti autorizzazioni alla policy esistente:

      { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::arn:role/mskaasTestDeliveryRole" }, "Action": [ "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2", "kafka-cluster:Connect" ], "Resource": "arn:aws:kafka:us-east-1:arn:cluster/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20" // ARN of the cluster }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::arn:role/mskaasTestDeliveryRole" }, "Action": [ "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:ReadData" ], "Resource": "arn:aws:kafka:us-east-1:arn:topic/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20/*"//topic of the cluster }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::233450236687:role/mskaasTestDeliveryRole" }, "Action": "kafka-cluster:DescribeGroup", "Resource": "arn:aws:kafka:us-east-1:arn:group/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20/*" //topic of the cluster }, }
  4. In Principale AWS , inserisci l'ID principale dell'Account B.

  5. In Argomento, specificate l'argomento di Apache Kafka da cui desiderate che lo stream Firehose acquisisca i dati. Una volta creato lo stream Firehose, non è possibile aggiornare questo argomento.

  6. Scegli Salva modifiche.

Account B:

  1. Nella console Firehose, scegliete Crea stream Firehose utilizzando l'account B.

  2. In Origine, scegli Amazon Managed Streaming for Apache Kafka.

  3. In Impostazioni di origine, per il cluster Amazon Managed Streaming for Apache Kafka, inserisci ARN il nome del cluster Amazon nell'Account A. MSK

  4. In Argomento, specificate l'argomento di Apache Kafka da cui desiderate che lo stream Firehose acquisisca i dati. Una volta creato lo stream Firehose, non è possibile aggiornare questo argomento.

  5. In Delivery stream name, specificate il nome del vostro stream Firehose.

Nell'Account B, quando crei lo stream Firehose, devi avere un IAM ruolo (creato di default quando usi il AWS Management Console) che conceda allo stream Firehose l'accesso in «lettura» al cluster Amazon MSK multiaccount per l'argomento configurato.

Di seguito è riportato ciò che viene configurato dalla AWS Management Console:

{ "Sid": "", "Effect": "Allow", "Action": [ "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2", "kafka-cluster:Connect" ], "Resource": "arn:aws:kafka:us-east-1:arn:cluster/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20/*" //topic of the cluster }, { "Sid": "", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeTopic", "kafka-cluster:DescribeTopicDynamicConfiguration", "kafka-cluster:ReadData" ], "Resource": "arn:aws:kafka:us-east-1:arn:topic/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20/mskaas_test_topic" //topic of the cluster }, { "Sid": "", "Effect": "Allow", "Action": [ "kafka-cluster:DescribeGroup" ], "Resource": "arn:aws:kafka:us-east-1:arn:group/DO-NOT-TOUCH-mskaas-provisioned-privateLink/xxxxxxxxx-2f3a-462a-ba09-xxxxxxxxxx-20/*" //topic of the cluster }, }

Successivamente, puoi completare la fase facoltativa di configurazione della trasformazione del record e della conversione del formato del record. Per ulteriori informazioni, consulta (Facoltativo) Configurare la trasformazione dei record e la conversione del formato.

Consegna su più account a una destinazione Amazon S3

Puoi utilizzare AWS CLI o Amazon Data Firehose APIs per creare uno stream Firehose in un AWS account con una destinazione Amazon S3 in un account diverso. La procedura seguente mostra un esempio di configurazione di uno stream Firehose di proprietà dell'account A per fornire dati a un bucket Amazon S3 di proprietà dell'account B.

  1. Crea un IAM ruolo nell'account A utilizzando i passaggi descritti in Concedere l'accesso a Firehose a una destinazione Amazon S3.

    Nota

    In questo caso il bucket Amazon S3 specificato nella policy di accesso è di proprietà dell'account B. Assicurati di aggiungere s3:PutObjectAcl all'elenco delle azioni di Amazon S3 nella policy di accesso, che garantisce all'account B l'accesso completo agli oggetti forniti da Amazon Data Firehose. Questa autorizzazione è necessaria per la distribuzione multi-account. Amazon Data Firehose imposta l'intestazione x-amz-acl "" della richiesta su "». bucket-owner-full-control

  2. Per consentire l'accesso dal ruolo IAM ruolo in precedenza, creare una policy del bucket S3 nell'account B. Il codice seguente è un esempio di policy del bucket. Per ulteriori informazioni, consulta Utilizzo delle policy di bucket e delle policy utente.

    { "Version": "2012-10-17", "Id": "PolicyID", "Statement": [ { "Sid": "StmtID", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::accountA-id:role/iam-role-name" }, "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] } ] }
  3. Crea uno stream Firehose con l'account A utilizzando il IAM ruolo creato nel passaggio 1.

Consegna tra più account a una OpenSearch destinazione del Servizio

Puoi utilizzare AWS CLI o Amazon Data Firehose APIs per creare uno stream Firehose in un AWS account con una destinazione di OpenSearch servizio in un account diverso. La procedura seguente mostra un esempio di come è possibile creare uno stream Firehose con l'account A e configurarlo per fornire dati a una destinazione del OpenSearch servizio di proprietà dell'account B.

  1. Creare un ruolo IAM nell'account A utilizzando le fasi descritte in Concedi a Firehose l'accesso a una destinazione di servizio pubblico OpenSearch .

  2. Per consentire l'accesso dal IAM ruolo creato nel passaggio precedente, create una policy di OpenSearch servizio nell'account B. Di seguito JSON è riportato un esempio.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::Account-A-ID:role/firehose_delivery_role " }, "Action": "es:ESHttpGet", "Resource": [ "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_all/_settings", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_cluster/stats", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/roletest*/_mapping/roletest", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_nodes", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_nodes/stats", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_nodes/*/stats", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/_stats", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/roletest*/_stats", "arn:aws:es:us-east-1:Account-B-ID:domain/cross-account-cluster/" ] } ] }
  3. Crea uno stream Firehose con l'account A utilizzando il IAM ruolo creato nel passaggio 1. Quando crei lo stream Firehose, usa AWS CLI o Amazon Data Firehose APIs e specifica il ClusterEndpoint campo anziché Service. DomainARN OpenSearch

Nota

Per creare uno stream Firehose in un AWS account con una destinazione di OpenSearch servizio in un account diverso, devi utilizzare AWS CLI o Amazon Data Firehose. APIs Non è possibile utilizzare il AWS Management Console per creare questo tipo di configurazione tra account.

Utilizzo dei tag per controllare l'accesso

Puoi utilizzare l'Conditionelemento (o Condition blocco) opzionale in una IAM policy per ottimizzare l'accesso alle operazioni di Amazon Data Firehose in base a chiavi e valori dei tag. Le seguenti sottosezioni descrivono come eseguire questa operazione per le diverse operazioni di Amazon Data Firehose. Per ulteriori informazioni sull'uso dell'Conditionelemento e sugli operatori che è possibile utilizzare al suo interno, consulta IAMJSONPolicy Elements: Condition.

CreateDeliveryStream

Per l'operazione CreateDeliveryStream, utilizza la chiave di condizione aws:RequestTag. Nel seguente esempio, MyKey e MyValue rappresentano la chiave e il valore corrispondente del tag. Per ulteriori informazioni, consulta Comprendi le nozioni di base sui tag

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "firehose:CreateDeliveryStream", "firehose:TagDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/MyKey": "MyValue" } } }] }

TagDeliveryStream

Per l'operazione TagDeliveryStream, utilizza la chiave di condizione aws:TagKeys. Nel seguente esempio, MyKey è un esempio di chiave di tag.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:TagDeliveryStream", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "MyKey" } } } ] }

UntagDeliveryStream

Per l'operazione UntagDeliveryStream, utilizza la chiave di condizione aws:TagKeys. Nel seguente esempio, MyKey è un esempio di chiave di tag.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:UntagDeliveryStream", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "MyKey" } } } ] }

ListDeliveryStreams

Non puoi utilizzare il controllo degli accessi basato su tag con ListDeliveryStreams.

Altre operazioni

Per tutte le operazioni di Firehose diverse daCreateDeliveryStream,TagDeliveryStream, e UntagDeliveryStreamListDeliveryStreams, utilizzare il tasto aws:RequestTag condition. Nel seguente esempio, MyKey e MyValue rappresentano la chiave e il valore corrispondente del tag.

ListDeliveryStreams, utilizzate il tasto firehose:ResourceTag condition per controllare l'accesso in base ai tag di quel flusso Firehose.

Nel seguente esempio, MyKey e MyValue rappresentano la chiave e il valore corrispondente del tag. La policy si applicherebbe solo ai flussi Data Firehose con un tag denominato MyKey con un valore di. MyValue Per ulteriori informazioni sul controllo dell'accesso in base ai tag delle risorse, consulta Controllare l'accesso alle AWS risorse utilizzando i tag nella Guida per l'IAMutente.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "firehose:DescribeDeliveryStream", "Resource": "*", "Condition": { "StringEquals": { "firehose:ResourceTag/MyKey": "MyValue" } } } ] }