Steuern des Zugriffs mit Amazon Kinesis Data Firehose - Amazon Kinesis Data Firehose

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Steuern des Zugriffs mit Amazon Kinesis Data Firehose

In den folgenden abschnitten erfahren Sie, wie Sie den Zugriff auf und von Ihren Kinesis Data Firehose Firehose-Ressourcen kontrollieren. Sie enthalten Informationen darüber, wie Sie Anwendungszugriff erhalten und Daten an Ihren Kinesis Data Firehose Delivery-Stream schicken können. Sie beschreiben auch, wie Sie Kinesis Data Firehose Zugriff auf Ihren Amazon Simple Storage Service (Amazon S3) -Bucket, Amazon Redshift -Cluster oder Amazon gewähren können OpenSearch Service-Cluster sowie die Zugriffsberechtigungen, die Sie benötigen, wenn Sie Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, Splunk oder Sumo Logic als Ziel verwenden. Abschließend bietet dieses Thema Unterstützung bei der Konfiguration von Kinesis Data Firehose, so dass sie Daten an ein Ziel liefern kann, das zu einem anderen gehörtAWSKonto. Die Technologie zur Verwaltung dieser Zugangsformen istAWS Identity and Access Management(ICH). Weitere Informationen zu IAM finden Sie unterWas ist IAM?aus.

Ihrer Anwendung Zugriff auf Ihre Kinesis Data Firehose -Ressourcen gewähren

Um Ihrer Anwendung Zugriff auf Ihren Kinesis Data Firehose Delivery-Stream zu geben, können Sie eine Richtlinie ähnlich diesem Beispiel verwenden. Sie können die einzelnen API-Operationen, für die Sie Zugriff gewähren, anpassen, indem Sie den Abschnitt Action ändern oder Zugriff auf alle Operationen mit "firehose:*" gewähren.

{ "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" ] } ] }

Kinesis Data Firehose erlauben, eine IAM-Rolle anzunehmen

Wenn Sie die Konsole zum Erstellen eines -Bereitstellungs-Streams verwenden und die Option zum Erstellen einer neuen -Rolle auswählen,AWSFügt der Rolle die erforderliche Vertrauensrichtlinie an. Oder wenn Kinesis Data Firehose eine vorhandene IAM-Rolle verwendet, oder wenn Sie selbst eine Rolle erstellen, fügen Sie dieser Rolle die folgende Vertrauensrichtlinie an, damit Kinesis Data Firehose sie annehmen kann.

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

Weitere Informationen zum Ändern der Vertrauensstellung einer Rolle finden Sie unter Ändern einer Rolle.

Gewähren Sie Kinesis Data Firehose Zugriff aufAWS Gluefür Datenformatkonvertierung

Wenn Ihr Bereitstellungsstream eine Datenformatkonvertierung durchführt, verweist Kinesis Data Firehose auf Tabellendefinitionen, die in gespeichert sindAWS Glueaus. Um Kinesis Data Firehose den nötigen Zugriff aufAWS GlueFügen Sie Ihrer Richtlinie die folgende Anweisung hinzu. Weitere Informationen zur Identifizierung des ARN der Tabelle finden Sie unterAngebenAWS-Glue-Ressourcen-ARNaus.

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

Kinesis Data Firehose Zugriff auf ein Amazon S3 S3-Ziel gewähren

Wenn Sie ein Amazon S3 S3-Ziel verwenden, stellt Kinesis Data Firehose Daten für Ihren S3-Bucket bereit und kann optional einAWS KMS-Schlüssel, den Sie für die Verschlüsselung von Daten besitzen. Wenn die Fehlerprotokollierung aktiviert ist, sendet Kinesis Data Firehose außerdem Datenbereitstellungsfehler an Ihre CloudWatch Log-Gruppe und Streams. Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungs-Stream erstellen. Kinesis Data Firehose übernimmt diese IAM-Rolle und erhält Zugriff auf das angegebene Bucket, den Schlüssel und CloudWatch Log-Gruppe und Streams.

Verwenden Sie die folgende Zugriffsrichtlinie Kinesis Data Firehose S3-Bucket zugreifen kann undAWS KMSkey Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie hinzus3:PutObjectAclzur Liste der Amazon S3 S3-Aktionen. So erhält der Bucket-Eigentümer Vollzugriff auf die Objekte von Kinesis Data Firehose. Diese Richtlinie verfügt zudem über eine Anweisung, die den Zugriff auf Amazon Kinesis Data Streams erlaubt. Wenn Sie keine Kinesis Data Streams als Datenquelle verwenden, können Sie diese Erklärung entfernen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-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": [ "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:::bucket-name/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" ] } ] }

Weitere Informationen zum Zulassen andererAWSDienste für den Zugriff auf IhreAWSRessourcen finden Sie unterErstellen einer Rolle zum Delegieren von Berechtigungen an eineAWS-ServiceimIAM User Guideaus.

Informationen zum Gewähren des -Zugriffs auf ein Amazon S3 S3-Ziel in einem anderen Konto finden Sie unterKontenübergreifende Lieferung an ein Amazon S3 S3-Zielaus.

Kinesis Data Firehose Zugriff auf ein Amazon Redshift Redshift-Ziel gewähren

Informationen zum Gewähren von Zugriff auf Kinesis Data Firehose bei Verwendung eines Amazon Redshift Redshift-Ziels finden Sie im Folgenden:

IAM-Rolle und Zugriffsrichtlinie

Wenn Sie ein Amazon Redshift Redshift-Ziel verwenden, stellt Kinesis Data Firehose Daten für Ihren S3-Bucket als Zwischenspeicherort bereit. Optional kann ein AWS KMS-Schlüssel zur Verschlüsselung von Daten verwendet werden, den Sie besitzen. Anschließend lädt Kinesis Data Firehose die Daten aus dem S3-Bucket in Ihren Amazon Redshift Redshift--Cluster. Wenn die Fehlerprotokollierung aktiviert ist, sendet Kinesis Data Firehose außerdem Datenbereitstellungsfehler an Ihre CloudWatch Log-Gruppe und Streams. Kinesis Data Firehose verwendet den angegebenen Amazon Redshift Redshift-Benutzernamen und das Passwort für den Zugriff auf Ihren Cluster und verwendet eine IAM-Rolle für den Zugriff auf den angegebenen Bucket, Schlüssel, CloudWatch Log-Gruppe und Streams. Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungs-Stream erstellen.

Verwenden Sie die folgende Zugriffsrichtlinie Kinesis Data Firehose S3-Bucket zugreifen kann undAWS KMSkey Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie hinzus3:PutObjectAclzur Liste der Amazon S3 S3-Aktionen, die dem Bucket-Eigentümer vollen Zugriff auf die durch Kinesis Data Firehose bereitgestellten Objekte gewährt. Diese Richtlinie verfügt zudem über eine Anweisung, die den Zugriff auf Amazon Kinesis Data Streams erlaubt. Wenn Sie keine Kinesis Data Streams als Datenquelle verwenden, können Sie diese Erklärung entfernen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-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:::bucket-name/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" ] } ] }

Weitere Informationen zum Zulassen andererAWSDienste für den Zugriff auf IhreAWSRessourcen finden Sie unterErstellen einer Rolle zum Delegieren von Berechtigungen an eineAWS-ServiceimIAM User Guideaus.

VPC-Zugriff auf einen Amazon Redshift Redshift-Cluster

Wenn Ihr Amazon Redshift Redshift--Cluster sich in einer Virtual Private Cloud (VPC) befindet, muss er mit einer öffentlichen IP-Adresse öffentlich zugänglich sein. Gewähren Sie Kinesis Data Firehose außerdem Zugriff auf Ihren Amazon Redshift Redshift-Cluster, indem Sie die IP-Adressen von Kinesis Data Firehose entsperren. Kinesis Data Firehose verwendet derzeit einen CIDR-Block für jede verfügbare Region:

  • 13.58.135.96/27für USA Ost (Ohio)

  • 52.70.63.192/27für USA Ost (Nord-Virginia)

  • 13.57.135.192/27für USA West (Nordkalifornien)

  • 52.89.255.224/27für USA West (Oregon)

  • 18.253.138.96/27zumAWS GovCloud (USA Ost)

  • 52.61.204.160/27zumAWS GovCloud (USA West)

  • 35.183.92.128/27für Kanada (Zentral)

  • 18.162.221.32/27für Asien-Pazifik (Hongkong)

  • 13.232.67.32/27für Asien-Pazifik (Mumbai)

  • 13.209.1.64/27für Asien-Pazifik (Seoul)

  • 13.228.64.192/27für Asien-Pazifik (Singapur)

  • 13.210.67.224/27für Asien-Pazifik (Sydney)

  • 13.113.196.224/27für Asien Pazifik (Tokio)

  • 52.81.151.32/27für China (Peking)

  • 161.189.23.64/27für China (Ningxia)

  • 35.158.127.160/27für Europa (Frankfurt)

  • 52.19.239.192/27für Europa (Irland)

  • 18.130.1.96/27für Europa (London)

  • 35.180.1.96/27für Europa (Paris)

  • 13.53.63.224/27für Europa (Stockholm)

  • 15.185.91.0/27für Naher Osten (Bahrain)

  • 18.228.1.128/27für Südamerika (São Paulo)

  • 15.161.135.128/27für Europa (Mailand)

  • 13.244.121.224/27für Afrika (Kapstadt)

  • 13.208.177.192/27für Asien-Pazifik (Osaka)

  • 108.136.221.64/27für Asien-Pazifik (Jakarta)

Weitere Informationen zum Entsperren von IP-Adressen finden Sie unter dem SchrittAutorisieren des Zugriffs auf den ClusterimAmazon Redshift Redshift-Handbuch „Erste Schritte“-Leitfaden

Gewähren Sie Kinesis Data Firehose Zugang zu einer Öffentlichkeit OpenSearch -Service-Ziel

Verwendetes Gerät OpenSearch Serviceziel liefert Kinesis Data Firehose Daten an Ihre OpenSearch Sicherung von Service--Cluster und sichert gleichzeitig fehlgeschlagene oder alle Dokumente in Ihrem S3-Bucket. Wenn die Fehlerprotokollierung aktiviert ist, sendet Kinesis Data Firehose außerdem Datenbereitstellungsfehler an Ihre CloudWatch Log-Gruppe und Streams. Kinesis Data Firehose verwendet eine IAM-Rolle, um auf die angegebene OpenSearch Dienstdomäne, S3-Bucket,AWS KMSkey und CloudWatch Log-Gruppe und Streams. Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungs-Stream erstellen.

Verwenden Sie die folgende Zugriffsrichtlinie Kinesis Data Firehose S3-Bucket zugreifen kann. OpenSearch Servicedomäne undAWS KMSkey Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie hinzus3:PutObjectAclzur Liste der Amazon S3 S3-Aktionen, die dem Bucket-Eigentümer vollen Zugriff auf die durch Kinesis Data Firehose bereitgestellten Objekte gewährt. Diese Richtlinie verfügt zudem über eine Anweisung, die den Zugriff auf Amazon Kinesis Data Streams erlaubt. Wenn Sie keine Kinesis Data Streams als Datenquelle verwenden, können Sie diese Erklärung entfernen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-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:::bucket-name/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" ] }, { "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" ] } ] }

Weitere Informationen zum Zulassen andererAWSDienste für den Zugriff auf IhreAWSRessourcen finden Sie unterErstellen einer Rolle zum Delegieren von Berechtigungen an eineAWS-ServiceimIAM User Guideaus.

Um zu erfahren, wie man Kinesis Data Firehose Zugriff auf eine OpenSearch Service-Cluster in einem anderen Konto, sieheKontoübergreifende Bereitstellung an eine OpenSearch -Service-Zielaus.

Gewähren Sie Kinesis Data Firehose Zugriff auf eine OpenSearch Dienstziel in einer VPC

Wenn Ihre OpenSearch Die Service--Domäne befindet sich in einer VPC. Stellen Sie sicher, dass Sie Kinesis Data Firehose die im vorherigen Abschnitt beschriebenen Berechtigungen erteilen. Darüber hinaus müssen Sie Kinesis Data Firehose die folgenden Berechtigungen erteilen, damit es auf Ihre OpenSearch Die VPC der Dienstdomäne.

  • ec2:DescribeVpcs

  • ec2:DescribeVpcAttribute

  • ec2:DescribeSubnets

  • ec2:DescribeSecurityGroups

  • ec2:DescribeNetworkInterfaces

  • ec2:CreateNetworkInterface

  • ec2:CreateNetworkInterfacePermission

  • ec2:DeleteNetworkInterface

Wenn Sie diese Berechtigungen widerrufen, nachdem Sie den Bereitstellungsdatenstrom erstellt haben, kann Kinesis Data Firehose bei Bedarf nicht dadurch skalieren, indem weitere ENIs erstellt werden. Daher kann es zu einer Leistungsverschlechterung kommen.

Wenn Sie den Bereitstellungs-Stream erstellen oder aktualisieren, geben Sie eine Sicherheitsgruppe für für Kinesis Data Firehose an, die beim Senden von Daten an Ihre OpenSearch -Service-Domäne. Sie können dieselbe Sicherheitsgruppe verwenden, die OpenSearch Die Service-Domäne verwendet oder eine andere. Wenn Sie eine andere Sicherheitsgruppe angeben, stellen Sie sicher, dass sie ausgehenden HTTPS-Datenverkehr zum OpenSearch Die Sicherheitsgruppe der Dienstdomäne. Stellen Sie außerdem sicher, dass die OpenSearch Die Sicherheitsgruppe der Servicedomäne lässt HTTPS-Datenverkehr von der Sicherheitsgruppe zu, die Sie bei der Konfiguration des Bereitstellungsdatenstroms angegeben haben. Wenn Sie dieselbe Sicherheitsgruppe sowohl für Ihren Bereitstellungsdatenstrom als auch für den OpenSearch Stellen Sie sicher, dass die Sicherheitsgruppenregel für eingehenden Datenverkehr HTTPS-Datenverkehr zulässt. Weitere Informationen zu Sicherheitsgruppenregeln finden Sie unterSicherheitsgruppenregelnin der Amazon VPC-Dokumentation.

Kinesis Data Firehose Zugriff auf ein Splunk-Ziel gewähren

Wenn Sie ein Splunk-Ziel verwenden, stellt Kinesis Data Firehose Daten für Ihren Splunk-HTTP-Ereigniserfassungsendpunkt (HEC) bereit. Es sichert außerdem die Daten im Amazon S3 S3-Bucket, den Sie angeben, und kann optional auch einenAWS KMS-Schlüssel, den Sie für serverseitige Verschlüsselung von Amazon S3 besitzen. Wenn die Fehlerprotokollierung aktiviert ist, sendet Kinesis Data Firehose Datenbereitstellungsfehler an Ihre CloudWatch-Protokoll-Streams. Sie können auch AWS Lambda für die Datentransformation verwenden. Bei Verwendung einesAWSStellen Sie sicher, dass es sich um einen Classic Load Balancer handelt. Kinesis Data Firehose unterstützt weder Application Load Balancers noch Network Load Balancer. Aktivieren Sie außerdem Sticky Sessions auf Basis der Dauer mit deaktiviertem Cookie-Ablauf. Informationen hierzu finden Sie unter Sticky Sessions auf Basis der Dauer.

Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungs-Stream erstellen. Kinesis Data Firehose übernimmt diese IAM-Rolle und erhält Zugriff auf das angegebene Bucket, den Schlüssel und CloudWatch Log-Gruppe und Streams.

Verwenden Sie die folgende Zugriffsrichtlinie Kinesis Data Firehose S3-Bucket zugreifen kann. Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie hinzus3:PutObjectAclzur Liste der Amazon S3 S3-Aktionen, die dem Bucket-Eigentümer vollen Zugriff auf die durch Kinesis Data Firehose bereitgestellten Objekte gewährt. Diese Richtlinie gewährt Kinesis Data Firehose auch Zugriff auf CloudWatch für die Fehlerprotokollierung und zuAWS Lambdafür die Datentransformation. Die Richtlinie verfügt zudem über eine Anweisung, die den Zugriff auf Amazon Kinesis Data Streams erlaubt. Wenn Sie keine Kinesis Data Streams als Datenquelle verwenden, können Sie diese Erklärung entfernen. Kinesis Data Firehose verwendet keine IAM, um auf Splunk zuzugreifen. Für den Zugriff auf Splunk, verwendet es Ihr HEC-Token.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-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:::bucket-name/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" ] } ] }

Weitere Informationen zum Zulassen andererAWSDienste für den Zugriff auf IhreAWSRessourcen finden Sie unterErstellen einer Rolle zum Delegieren von Berechtigungen an eineAWS-ServiceimIAM User Guideaus.

Zugriff auf Splunk in einer VPC

Wenn sich Ihre Splunk-Plattform in einer VPC befindet, muss sie mit einer öffentlichen IP-Adresse öffentlich zugänglich sein. Gewähren Sie außerdem Kinesis Data Firehose Zugriff auf Ihre Splunk-Plattform, indem Sie die Kinesis Data Firehose IP-Adressen entsperren. Kinesis Data Firehose verwendet derzeit die folgenden CIDR-Blöcke.

  • 18.216.68.160/27, 18.216.170.64/27, 18.216.170.96/27für USA Ost (Ohio)

  • 34.238.188.128/26, 34.238.188.192/26, 34.238.195.0/26für USA Ost (Nord-Virginia)

  • 13.57.180.0/26für USA West (Nordkalifornien)

  • 34.216.24.32/27, 34.216.24.192/27, 34.216.24.224/27für USA West (Oregon)

  • 18.253.138.192/26zumAWS GovCloud (USA Ost)

  • 52.61.204.192/26zumAWS GovCloud (USA West)

  • 18.162.221.64/26für Asien-Pazifik (Hongkong)

  • 13.232.67.64/26für Asien-Pazifik (Mumbai)

  • 13.209.71.0/26für Asien-Pazifik (Seoul)

  • 13.229.187.128/26für Asien-Pazifik (Singapur)

  • 13.211.12.0/26für Asien-Pazifik (Sydney)

  • 13.230.21.0/27, 13.230.21.32/27für Asien-Pazifik (Tokio

  • 35.183.92.64/26für Kanada (Zentral)

  • 18.194.95.192/27, 18.194.95.224/27, 18.195.48.0/27für Europa (Frankfurt)

  • 34.241.197.32/27, 34.241.197.64/27, 34.241.197.96/27für Europa (Irland)

  • 18.130.91.0/26für Europa (London)

  • 35.180.112.0/26für Europa (Paris)

  • 13.53.191.0/26für Europa (Stockholm)

  • 15.185.91.64/26für Naher Osten (Bahrain)

  • 18.228.1.192/26für Südamerika (São Paulo)

  • 15.161.135.192/26für Europa (Mailand)

  • 13.244.165.128/26für Afrika (Kapstadt)

  • 13.208.217.0/26für Asien-Pazifik (Osaka)

  • 52.81.151.64/26für China (Peking)

  • 161.189.23.128/26für China (Ningxia)

Kinesis Data Firehose Zugriff auf ein HTTP-Endpunkt-Ziel gewähren

Sie können Kinesis Data Firehose verwenden, um Daten an jedes HTTP-Endpunktziel bereitzustellen. Kinesis Data Firehose sichert außerdem die Daten im Amazon S3 S3-Bucket, den Sie angeben, und kann optional einAWS KMS-Schlüssel, den Sie für serverseitige Verschlüsselung von Amazon S3 besitzen. Wenn die Fehlerprotokollierung aktiviert ist, sendet Kinesis Data Firehose Datenbereitstellungsfehler an Ihre CloudWatch Protokollstreams Sie können auch AWS Lambda für die Datentransformation verwenden.

Sie müssen eine IAM-Rolle besitzen, wenn Sie einen Bereitstellungs-Stream erstellen. Kinesis Data Firehose übernimmt diese IAM-Rolle und erhält Zugriff auf das angegebene Bucket, den Schlüssel und CloudWatch Log-Gruppe und Streams.

Verwenden Sie die folgenden Zugriffsrichtlinie, damit Kinesis Data Firehose auf den S3-Bucket zugreifen kann, den Sie für die Datensicherung angegeben haben. Wenn Sie nicht Eigentümer des S3-Buckets sind, fügen Sie hinzus3:PutObjectAclzur Liste der Amazon S3 S3-Aktionen, die dem Bucket-Eigentümer vollen Zugriff auf die durch Kinesis Data Firehose bereitgestellten Objekte gewährt. Diese Richtlinie gewährt Kinesis Data Firehose auch Zugriff auf CloudWatch für die Fehlerprotokollierung und zuAWS Lambdafür die Datentransformation. Die Richtlinie verfügt zudem über eine Anweisung, die den Zugriff auf Amazon Kinesis Data Streams erlaubt. Wenn Sie keine Kinesis Data Streams als Datenquelle verwenden, können Sie diese Erklärung entfernen.

Wichtig

Kinesis Data Firehose verwendet IAM nicht für den Zugriff auf HTTP-Endpunktziele im Besitz von unterstützten Dritt-Serviceanbietern, einschließlich Datadog, Dynatrace, LogicMonitor, MongoDB, New Relic, Splunk oder Sumo Logic. Um auf ein bestimmtes HTTP-Endpunktziel zuzugreifen, das einem unterstützten Drittanbieter gehört, wenden Sie sich an diesen Dienstanbieter, um den API-Schlüssel oder den Zugriffsschlüssel zu erhalten, der erforderlich ist, um die Datenübermittlung von Kinesis Data Firehose an diesen Dienst zu ermöglichen.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-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:::bucket-name/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" ] } ] }

Weitere Informationen zum Zulassen andererAWSDienste für den Zugriff auf IhreAWSRessourcen finden Sie unterErstellen einer Rolle zum Delegieren von Berechtigungen an eineAWS-ServiceimIAM User Guideaus.

Wichtig

Derzeit unterstützt Kinesis Data Firehose KEINE Datenübermittlung an HTTP-Endpunkte in einer VPC.

Kontenübergreifende Lieferung an ein Amazon S3 S3-Ziel

Sie können dasAWS CLIoder die Kinesis Data Firehose Firehose-APIs zum Erstellen eines Delivery Streams in einemAWSKonto mit einem Amazon S3 S3-Ziel in einem anderen Konto. Das folgende Verfahren zeigt ein Beispiel für das Konfigurieren eines Kinesis Data Firehose Delivery-Streams im Besitz von Konto A, damit Daten an einen Amazon S3 S3-Bucket im Besitz von Konto B übermittelt werden.

  1. Erstellen Sie eine IAM-Rolle unter Konto A mithilfe der unter beschriebenen SchritteKinesis Firehose Zugriff auf ein Amazon S3 S3-Ziel gewährenaus.

    Anmerkung

    Der in der Zugriffsrichtlinie angegebene Amazon S3 S3-Bucket befindet sich in diesem Fall im Besitz von Konto B. Stellen Sie sicher, dass Sie hinzufügens3:PutObjectAclauf die Liste der Amazon S3 S3-Aktionen in der Zugriffsrichtlinie, die Konto B vollständigen Zugriff auf die von Amazon Kinesis Data Firehose übermittelten Objekte gewährt. Diese Erlaubnis ist für die kontoübergreifende Zustellung erforderlich. Kinesis Data Firehose setzt den Header „x-amz-acl“ der Anfrage auf „Eimer-Owner-Vollkontrolle“.

  2. Um Zugriff von der zuvor erstellten IAM-Rolle zu gewähren, erstellen Sie eine S3-Bucket-Richtlinie unter Konto B. Der folgende Code ist ein Beispiel für die Bucket-Richtlinie. Weitere Informationen dazu finden Sie unter Verwendung von Bucket-Richtlinien und Benutzerrichtlinien.

    { "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:::bucket-name", "arn:aws:s3:::bucket-name/*" ] } ] }
  3. Erstellen Sie einen Kinesis Data Firehose Firehose-Bereitstellungs-Stream unter Konto A, indem Sie die in Schritt 1 erstellte IAM-Rolle verwenden.

Kontoübergreifende Bereitstellung an eine OpenSearch -Service-Ziel

Sie können dasAWS CLIoder die Kinesis Data Firehose Firehose-APIs zum Erstellen eines Delivery Streams in einemAWSKonto mit einem OpenSearch Service-Ziel in einem anderen Konto. Im folgenden Verfahren wird anhand eines Beispiels veranschaulicht, wie Sie einen Kinesis Data Firehose Delivery-Stream unter Konto A erstellen und ihn so konfigurieren können, dass Daten an eine übermittelt werden. OpenSearch Dienstziel im Besitz von Konto B.

  1. Erstellen Sie eine IAM-Rolle unter Konto A mithilfe der unter beschriebenen SchritteGewähren Sie Kinesis Data Firehose Zugang zu einer Öffentlichkeit OpenSearch -Service-Zielaus.

  2. Um den Zugriff über die IAM-Rolle zu gewähren, die Sie im vorherigen Schritt erstellt haben OpenSearch Die Servicerichtlinie unter Konto B. Das folgende JSON-Objekt ist ein Beispiel.

    { "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" ] } ] }
  3. Erstellen Sie einen Kinesis Data Firehose Firehose-Bereitstellungs-Stream unter Konto A, indem Sie die in Schritt 1 erstellte IAM-Rolle verwenden. Wenn Sie den Bereitstellungs-Stream erstellen, verwenden Sie dieAWS CLIoder die Kinesis Data Firehose APIs und geben Sie dieClusterEndpointFeld anstelle vonDomainARNzum OpenSearch Service.

Anmerkung

So erstellen Sie einen Bereitstellungsstrom in einemAWSKonto mit einem OpenSearch Sie müssen die Serviceziel in einem anderen Konto verwendenAWS CLIoder die APIs von Kinesis Data Firehose. Sie können mit der AWS Management Console keine solche kontoübergreifende Konfiguration erstellen.

Steuern des Zugriffs mit Tags

Sie können das optionaleConditionelement (oderCondition Block) in einer IAM-Richtlinie, um den Zugriff auf Kinesis Data Firehose Firehose-Operationen basierend auf Tag-Schlüsseln und -Werten zu optimieren. In den folgenden Unterabschnitten wird beschrieben, wie Sie dies für die verschiedenen Kinesis Data Firehose Firehose-Operationen in ausführen. Weitere Informationen zur Verwendung desCondition-Element und die Operatoren, die Sie mit diesem verwenden können, finden Sie unterIAM-JSON-Richtlinienelemente: Bedingungaus.

CreateDeliveryStream und TagDeliveryStream

Verwenden Sie für die Operationen CreateDeliveryStream und TagDeliveryStream den Bedingungsschlüssel aws:RequestTag. Im folgenden Beispiel stellen MyKey und MyValue den Schlüssel und den entsprechenden Wert für einen Tag dar.

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

UntagDeliveryStream

Verwenden Sie für die Operation UntagDeliveryStream den Bedingungsschlüssel aws:TagKeys. Im folgenden Beispiel ist MyKey ein Beispiel-Tag-Schlüssel.

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

ListDeliveryStreams

Sie können die Tag-basierte Zugriffskontrolle nicht mit ListDeliveryStreams verwenden.

Andere Kinesis Data Firehose

Für alle Kinesis Data Firehose Firehose-Operationen außerCreateDeliveryStream,TagDeliveryStream,UntagDeliveryStream, undListDeliveryStreams, benutze dasaws:RequestTagBedingungsschlüssel Im folgenden Beispiel stellen MyKey und MyValue den Schlüssel und den entsprechenden Wert für einen Tag dar.

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