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?.
Indice
- Concedi l'accesso alle tue risorse Firehose
- Concedi a Firehose l'accesso al tuo cluster Amazon privato MSK
- Consenti a Firehose di assumere un ruolo IAM
- Concedi a Firehose l'accesso a AWS Glue per la conversione del formato dei dati
- Concedi a Firehose l'accesso a una destinazione Amazon S3
- Concedi a Firehose l'accesso alle tabelle Amazon S3
- Concedi a Firehose l'accesso a una destinazione Apache Iceberg Tables
- Concedi a Firehose l'accesso a una destinazione Amazon Redshift
- Concedi a Firehose l'accesso a una destinazione di servizio pubblico OpenSearch
- Concedi a Firehose l'accesso a una destinazione di OpenSearch servizio in un VPC
- Concedere a Firehose l'accesso a una destinazione Serverless pubblica OpenSearch
- Concedi a Firehose l'accesso a una destinazione OpenSearch Serverless in un VPC
- Concedi a Firehose l'accesso a una destinazione Splunk
- Accedere a Splunk in VPC
- Inserisci i log VPC del flusso in Splunk utilizzando Amazon Data Firehose
- Accesso HTTP a Snowflake o all'endpoint
- Concedi a Firehose l'accesso a una destinazione Snowflake
- Accesso a Snowflake in VPC
- Concedere a Firehose l'accesso a una destinazione endpoint HTTP
- Consegna su più account da Amazon MSK
- Consegna su più account a una destinazione Amazon S3
- Consegna tra più account a una OpenSearch destinazione del Servizio
- Utilizzo dei tag per controllare l'accesso
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/
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.
-
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 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 .
-
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.
-
Dopo aver creato la policy, apri la IAMconsole
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.
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.
Argomenti
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) |
|
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) |
|
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
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:
Nella MSK console Amazon, scegli il cluster fornito, quindi scegli Proprietà.
In Impostazioni di rete, scegli Modifica e attiva la connettività multipla. VPC
In Impostazioni di sicurezza scegli Modifica policy del cluster.
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.
-
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 }, }
In Principale AWS , inserisci l'ID principale dell'Account B.
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.
Scegli Salva modifiche.
Account B:
Nella console Firehose, scegliete Crea stream Firehose utilizzando l'account B.
In Origine, scegli Amazon Managed Streaming for Apache Kafka.
In Impostazioni di origine, per il cluster Amazon Managed Streaming for Apache Kafka, inserisci ARN il nome del cluster Amazon nell'Account A. MSK
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.
-
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.
-
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 -
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
/*" ] } ] } -
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.
-
Creare un ruolo IAM nell'account A utilizzando le fasi descritte in Concedi a Firehose l'accesso a una destinazione di servizio pubblico OpenSearch .
-
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/" ] } ] } -
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'Condition
elemento (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'Condition
elemento 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 UntagDeliveryStream
ListDeliveryStreams
, 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" } } } ] }