La entrega de transmisiones de Amazon Data Firehose a Apache Iceberg Tables en Amazon S3 está en versión preliminar y está sujeta a cambios.
Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Control del acceso con Amazon Data Firehose
En las siguientes secciones se explica cómo controlar el acceso a y desde los recursos de Amazon Data Firehose. La información que cubren incluye cómo conceder acceso a tu aplicación para que pueda enviar datos a tu transmisión de Firehose. También describen cómo puede conceder a Amazon Data Firehose acceso a su bucket de Amazon Simple Storage Service (Amazon S3), clúster de Amazon Redshift o clúster de Amazon OpenSearch Service, así como los permisos de acceso que necesita si utiliza Datadog, Dynatrace, LogicMonitor MongoDB, New Relic, Splunk o Sumo Logic como destino. Por último, en este tema encontrarás una guía sobre cómo configurar Amazon Data Firehose para que pueda entregar datos a un destino que pertenezca a un destino diferente AWS account. La tecnología para gestionar todas estas formas de acceso es AWS Identity and Access Management (IAM). Para obtener más informaciónIAM, consulte ¿Qué esIAM? .
Contenido
- Concede acceso a tus recursos de Firehose
- Concede a Firehose acceso a tu clúster privado de Amazon MSK
- Permita que Firehose asuma un rol IAM
- Otorga a Firehose acceso a AWS Glue para la conversión de formatos de datos
- Conceda a Firehose acceso a un destino de Amazon S3
- Concede a Firehose acceso a un destino de Apache Iceberg Tables
- Otorgue a Firehose acceso a un destino de Amazon Redshift
- Conceda a Firehose acceso a un destino de servicio público OpenSearch
- Otorgue a Firehose acceso a un destino de OpenSearch servicio en un VPC
- Conceda a Firehose acceso a un destino público sin servidor OpenSearch
- Otorgue a Firehose acceso a un destino OpenSearch sin servidor en un VPC
- Concede a Firehose acceso a un destino de Splunk
- Acceder a Splunk en VPC
- Ingiera los registros VPC de flujo en Splunk mediante Amazon Data Firehose
- Acceder a Snowflake o Endpoint HTTP
- Concede a Firehose acceso a un destino de Snowflake
- Acceder a Snowflake en VPC
- Otorgue a Firehose acceso a un HTTP destino de punto final
- Envío multicuenta desde Amazon MSK
- Entrega multicuenta a un destino de Amazon S3
- Entrega multicuenta a un OpenSearch destino del servicio
- Uso de etiquetas para controlar el acceso
Concede acceso a tus recursos de Firehose
Para permitir que tu aplicación acceda a tu transmisión de Firehose, usa una política similar a la de este ejemplo. Puedes ajustar las API operaciones individuales a las que concedes acceso modificando la Action
sección o concediendo el acceso a todas las operaciones con "firehose:*"
ella.
{ "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
" ] } ] }
Concede a Firehose acceso a tu clúster privado de Amazon MSK
Si la fuente de tu transmisión de Firehose es un MSK clúster privado de Amazon, utiliza una política similar a la de este ejemplo.
{ "Version": "2012-10-17", "Statement": [ { "Principal": { "Service": [ "firehose.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "kafka:CreateVpcConnection" ], "Resource": "cluster-arn" } ] }
Debes añadir una política como esta a la política basada en recursos del clúster para conceder al director de servicio de Firehose el permiso para invocar la operación de Amazon. MSK CreateVpcConnection
API
Permita que Firehose asuma un rol IAM
En esta sección se describen los permisos y las políticas que otorgan a Amazon Data Firehose acceso para ingerir, procesar y entregar datos desde el origen hasta el destino.
nota
Si utilizas la consola para crear una transmisión de Firehose y eliges la opción de crear un nuevo rol, AWS adjunta la política de confianza requerida al rol. Si desea que Amazon Data Firehose utilice una IAM función existente o si crea una función por su cuenta, adjunte las siguientes políticas de confianza a esa función para que Amazon Data Firehose pueda asumirla. Edite las políticas que desee reemplazar account-id
con tu AWS ID de cuenta. Para obtener información acerca de cómo modificar la relación de confianza de un rol, consulte Modificación de un rol.
Amazon Data Firehose utiliza un IAM rol para todos los permisos que la transmisión de Firehose necesita para procesar y entregar datos. Asegúrese de que las siguientes políticas de confianza estén asociadas a esa función para que Amazon Data Firehose pueda asumirla.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "firehose.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "account-id" } } }] }
Esta política utiliza la clave contextual de la sts:ExternalId
condición para garantizar que solo la actividad de Amazon Data Firehose que se origine en su AWS la cuenta puede asumir esta IAM función. Para obtener más información sobre cómo evitar el uso no autorizado de IAM funciones, consulte El problema del diputado confuso en la Guía del IAM usuario.
Si eliges Amazon MSK como fuente para tu transmisión de Firehose, debes especificar otro IAM rol que conceda permisos a Amazon Data Firehose para ingerir datos de origen del clúster de Amazon especificado. MSK Asegúrese de que las siguientes políticas de confianza estén asociadas a esa función para que Amazon Data Firehose pueda asumirla.
{ "Version": "2012-10-17", "Statement": [ { "Principal": { "Service": [ "firehose.amazonaws.com" ] }, "Effect": "Allow", "Action": "sts:AssumeRole" } ] }
Asegúrese de que este rol que concede a Amazon Data Firehose permisos para ingerir datos de origen del MSK clúster de Amazon especificado conceda los siguientes permisos:
{ "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" }] }
Otorga a Firehose acceso a AWS Glue para la conversión de formatos de datos
Si su transmisión de Firehose realiza una conversión de formato de datos, Amazon Data Firehose hace referencia a las definiciones de tablas almacenadas en AWS Glue. Para conceder a Amazon Data Firehose el acceso necesario a AWS Glue, añada la siguiente declaración a su política. Para obtener información sobre cómo encontrar lo que aparece en ARN la tabla, consulte Especificar AWS Recurso de pegamento ARNs.
[{ "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTableVersion", "glue:GetTableVersions" ], "Resource": "
table-arn
" }, { "Sid": "GetSchemaVersion", "Effect": "Allow", "Action": [ "glue:GetSchemaVersion" ], "Resource": ["*"] }]
La política recomendada para obtener esquemas del registro de esquemas no tiene restricciones de recursos. Para obtener más información, consulte los IAMejemplos de deserializadores en la AWS Glue Guía para desarrolladores.
Conceda a Firehose acceso a un destino de Amazon S3
Cuando utiliza un destino de Amazon S3, Amazon Data Firehose entrega los datos a su bucket de S3 y, si lo desea, puede utilizar un AWS KMS clave de su propiedad para el cifrado de datos. Si el registro de errores está activado, Amazon Data Firehose también envía los errores de entrega de datos al grupo de CloudWatch registros y a las transmisiones. Debes tener un IAM rol al crear una transmisión de Firehose. Amazon Data Firehose asume esa IAM función y obtiene acceso al bucket, la clave y el grupo de CloudWatch registros y las transmisiones especificados.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda a su bucket de S3 y AWS KMS
clave. Si no es el propietario del bucket de S3, agregue s3:PutObjectAcl
a la lista de acciones de Amazon S3. Esto otorga al propietario del bucket acceso total a los objetos entregados por 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:::
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
" ] } ] }
La política anterior también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración. Si utilizas Amazon MSK como fuente, puedes sustituir esa afirmación por la siguiente:
{ "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}}/*" }
Para obtener más información sobre cómo permitir otros AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
Para obtener información sobre cómo conceder a Amazon Data Firehose acceso a un destino de Amazon S3 en otra cuenta, consulte. Entrega multicuenta a un destino de Amazon S3
Concede a Firehose acceso a un destino de Apache Iceberg Tables
Debe tener un IAM rol antes de crear una transmisión de Firehose y Apache Iceberg Tables mediante AWS Glue. Siga los pasos siguientes para crear una política y un IAM rol. Firehose asume esta IAM función y realiza las acciones requeridas.
-
Inicie sesión en el AWS Management Console y abre la IAM consola en https://console.aws.amazon.com/iam/
. -
Cree una política y JSONselecciónela en el editor de políticas.
-
Añada la siguiente política en línea que conceda permisos a Amazon S3, como permisos de lectura/escritura, permisos para actualizar la tabla en el catálogo de datos, etc.
{ "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>
" ] } ] }Esta política incluye una declaración que permite el acceso a Amazon Kinesis Data Streams, la invocación de funciones de Lambda y el acceso a las claves. KMS Si no utiliza ninguno de estos recursos, puede eliminar las declaraciones correspondientes.
Si el registro de errores está activado, Firehose también envía los errores de entrega de datos al grupo de CloudWatch registros y a las transmisiones. Para ello, debe configurar los nombres de los grupos de registros y de las secuencias de registros. Para obtener información sobre los nombres de grupos de registros y flujos de registros, consulteSupervise Amazon Data Firehose mediante registros CloudWatch .
-
En las políticas integradas, sustituya
DOC-EXAMPLE-BUCKET
con el nombre de su bucket de Amazon S3 aws-account-id y la región con un valor válido Cuenta de AWS número y región de los recursos.nota
Esta función otorga permisos a todas las bases de datos y tablas del catálogo de datos. Si lo desea, solo puede conceder permisos a tablas y bases de datos específicas.
-
Tras crear la política, abra la IAMconsola
y cree un IAM rol con Servicio de AWScomo el tipo de entidad de confianza. -
Para el servicio o el caso de uso, elija Kinesis. En Caso de uso, elija Kinesis Firehose.
-
En la página siguiente, elija la política creada en el paso anterior para asociarla a este rol. En la página de revisión, encontrarás una política de confianza ya adjunta a esta función que otorga permisos al servicio Firehose para que asuma esta función. Al crear el rol, Amazon Data Firehose puede asumirlo para realizar las operaciones necesarias en AWS Glue y cubos S3.
Otorgue a Firehose acceso a un destino de Amazon Redshift
Consulte lo siguiente cuando conceda acceso a Amazon Data Firehose cuando utilice un destino de Amazon Redshift.
Temas
IAMpolítica de funciones y acceso
Cuando utiliza un destino de Amazon Redshift, Amazon Data Firehose entrega los datos a su bucket de S3 como ubicación intermedia. Opcionalmente, puede usar un AWS KMS clave de su propiedad para el cifrado de datos. A continuación, Amazon Data Firehose carga los datos del bucket de S3 en el clúster aprovisionado de Amazon Redshift o en el grupo de trabajo Amazon Redshift Serverless. Si el registro de errores está activado, Amazon Data Firehose también envía los errores de entrega de datos al grupo de CloudWatch registros y a las transmisiones. Amazon Data Firehose utiliza el nombre de usuario y la contraseña de Amazon Redshift especificados para acceder al clúster aprovisionado o al grupo de trabajo Amazon Redshift Serverless, y utiliza IAM un rol para acceder al bucket, la clave, el grupo de registros y las transmisiones especificados. CloudWatch Debes tener un IAM rol al crear una transmisión de Firehose.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda a su bucket de S3 y AWS KMS
clave. Si no es propietario del bucket de S3, s3:PutObjectAcl
añádalo a la lista de acciones de Amazon S3, que otorgan al propietario del bucket acceso total a los objetos entregados por Amazon Data Firehose. Esta política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración.
{ "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
" ] } ] }
Para obtener más información sobre cómo permitir otras AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
VPCacceso a un clúster aprovisionado de Amazon Redshift o a un grupo de trabajo Amazon Redshift Serverless
Si el clúster aprovisionado de Amazon Redshift o el grupo de trabajo Amazon Redshift Serverless se encuentra en una nube privada virtual (VPC), debe ser de acceso público con una dirección IP pública. Además, conceda a Amazon Data Firehose acceso a su clúster aprovisionado de Amazon Redshift o grupo de trabajo Amazon Redshift Serverless desbloqueando las direcciones IP de Amazon Data Firehose. Amazon Data Firehose utiliza actualmente un CIDR bloque por cada región disponible.
Región | CIDRbloques |
---|---|
US East (Ohio) |
|
Este de EE. UU. (Norte de Virginia) | 52.70.63.192/27 |
Oeste de EE. UU. (Norte de California) | 13.57.135.192/27 |
Oeste de EE. UU. (Oregón) | 52.89.255.224/27 |
AWS GovCloud (Este de EE. UU.) | 18.253.138.96/27 |
AWS GovCloud (Estados Unidos-Oeste) | 52.61.204.160/27 |
Canadá (centro) | 35.183.92.128/27 |
Oeste de Canadá (Calgary | 40.176.98.192/27 |
Asia-Pacífico (Hong Kong) | 18.162.221.32/27 |
Asia-Pacífico (Mumbai) | 13.232.67.32/27 |
Asia-Pacífico (Hyderabad) | 18.60.192.128/27 |
Asia-Pacífico (Seúl) | 13.209.1.64/27 |
Asia-Pacífico (Singapur) | 13.228.64.192/27 |
Asia-Pacífico (Sídney) | 13.210.67.224/27 |
Asia-Pacífico (Yakarta) | 108.136.221.64/27 |
Asia-Pacífico (Tokio) | 13.113.196.224/27 |
Asia-Pacífico (Osaka) | 13.208.177.192/27 |
China (Pekín) | 52.81.151.32/27 |
China (Ningxia) | 161.189.23.64/27 |
Europa (Zúrich) | 16.62.183.32/27 |
Europe (Fráncfort) | 35.158.127.160/27 |
Europa (Irlanda) | 52.19.239.192/27 |
Europa (Londres) | 18.130.1.96/27 |
Europa (París) | 35.180.1.96/27 |
Europa (Estocolmo) | 13.53.63.224/27 |
Medio Oriente (Baréin) | 15.185.91.0/27 |
América del Sur (São Paulo) | 18.228.1.128/27 |
Europa (Milán) | 15.161.135.128/27 |
África (Ciudad del Cabo) | 13.244.121.224/27 |
Oriente Medio () UAE | 3.28.159.32/27 |
Israel (Tel Aviv) | 51.16.102.0/27 |
Asia-Pacífico (Melbourne) | 16.50.161.128/27 |
Asia-Pacífico (Malasia) | 43.216.58.0/27 |
Para obtener más información acerca de cómo desbloquear direcciones IP, consulte el paso Autorización de acceso al clúster en la Guía de introducción a Amazon Redshift.
Conceda a Firehose acceso a un destino de servicio público OpenSearch
Cuando utiliza un destino de OpenSearch servicio, Amazon Data Firehose envía los datos a su clúster de OpenSearch servicios y, al mismo tiempo, realiza copias de seguridad de todos los documentos fallidos o de todos los documentos en su bucket de S3. Si el registro de errores está activado, Amazon Data Firehose también envía los errores de entrega de datos al grupo de CloudWatch registros y a las transmisiones. Amazon Data Firehose utiliza un IAM rol para acceder al dominio de OpenSearch servicio especificado, el bucket de S3, AWS KMS clave, grupo de CloudWatch registros y transmisiones. Debes tener un IAM rol al crear una transmisión de Firehose.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda a su bucket de S3, al dominio de OpenSearch servicio y AWS KMS clave. Si no es propietario del bucket de S3, s3:PutObjectAcl
añádalo a la lista de acciones de Amazon S3, lo que otorga al propietario del bucket acceso total a los objetos entregados por Amazon Data Firehose. Esta política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración.
{ "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", "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
" ] } ] }
Para obtener más información sobre cómo permitir otras AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
Para obtener información sobre cómo conceder a Amazon Data Firehose acceso a un clúster de OpenSearch servicios de otra cuenta, consulte. Entrega multicuenta a un OpenSearch destino del servicio
Otorgue a Firehose acceso a un destino de OpenSearch servicio en un VPC
Si su dominio de OpenSearch servicio está en unVPC, asegúrese de conceder a Amazon Data Firehose los permisos que se describen en la sección anterior. Además, debe conceder a Amazon Data Firehose los siguientes permisos para que pueda acceder a los dominios de su OpenSearch servicio. VPC
-
ec2:DescribeVpcs
-
ec2:DescribeVpcAttribute
-
ec2:DescribeSubnets
-
ec2:DescribeSecurityGroups
-
ec2:DescribeNetworkInterfaces
-
ec2:CreateNetworkInterface
-
ec2:CreateNetworkInterfacePermission
-
ec2:DeleteNetworkInterface
importante
No revoques estos permisos después de crear la transmisión Firehose. Si revocas estos permisos, tu transmisión de Firehose se degradará o dejará de entregar datos a OpenSearch tu dominio de servicio cada vez que el servicio intente realizar consultas o actualizarlos. ENIs
importante
Cuando especifiques subredes para entregar datos al destino en un entorno privadoVPC, asegúrate de tener un número suficiente de direcciones IP libres en las subredes elegidas. Si no hay una dirección IP gratuita disponible en una subred específica, Firehose no podrá crear ni ENIs añadir para la entrega de datos en la red VPC privada, y la entrega se degradará o fallará.
Cuando creas o actualizas tu transmisión de Firehose, especificas un grupo de seguridad para que Firehose lo utilice cuando envíe datos a tu dominio de servicio. OpenSearch Puedes usar el mismo grupo de seguridad que usa el dominio del OpenSearch servicio o uno diferente. Si especifica un grupo de seguridad diferente, asegúrese de que permita el HTTPS tráfico saliente al grupo de seguridad del dominio del OpenSearch servicio. Asegúrese también de que el grupo de seguridad del dominio de OpenSearch servicio permita el HTTPS tráfico del grupo de seguridad que especificó al configurar la transmisión de Firehose. Si utilizas el mismo grupo de seguridad tanto para la transmisión de Firehose como para el dominio de OpenSearch servicio, asegúrate de que la regla de entrada del grupo de seguridad permita el tráfico. HTTPS Para obtener más información sobre las reglas de los grupos de seguridad, consulta las reglas de los grupos de seguridad en la VPC documentación de Amazon.
Conceda a Firehose acceso a un destino público sin servidor OpenSearch
Cuando utiliza un destino OpenSearch sin servidor, Amazon Data Firehose envía los datos a OpenSearch su colección sin servidor y, al mismo tiempo, realiza copias de seguridad de todos los documentos fallidos o de todos los documentos en su bucket de S3. Si el registro de errores está activado, Amazon Data Firehose también envía los errores de entrega de datos al grupo de CloudWatch registros y a las transmisiones. Amazon Data Firehose utiliza un IAM rol para acceder a la colección OpenSearch Serverless especificada, el bucket de S3, AWS KMS clave, grupo de CloudWatch registros y transmisiones. Debes tener un IAM rol al crear una transmisión de Firehose.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda a su bucket de S3, a su dominio OpenSearch sin servidor y AWS KMS clave. Si no es propietario del bucket de S3, s3:PutObjectAcl
añádalo a la lista de acciones de Amazon S3, lo que otorga al propietario del bucket acceso total a los objetos entregados por Amazon Data Firehose. Esta política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración.
{ "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
" ] }, { "Effect": "Allow", "Action": "aoss:APIAccessAll", "Resource": "arn:aws:aoss:region
:account-id
:collection/collection-id
" } ] }
Además de la política anterior, también debe configurar Amazon Data Firehose para que tenga los siguientes permisos mínimos asignados en una política de acceso a datos:
[ { "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
/*" ] } ]
Para obtener más información sobre cómo permitir otros AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
Otorgue a Firehose acceso a un destino OpenSearch sin servidor en un VPC
Si su colección OpenSearch Serverless está en unVPC, asegúrese de conceder a Amazon Data Firehose los permisos que se describen en la sección anterior. Además, debe conceder a Amazon Data Firehose los siguientes permisos para que pueda acceder a su colección OpenSearch Serverless. VPC
-
ec2:DescribeVpcs
-
ec2:DescribeVpcAttribute
-
ec2:DescribeSubnets
-
ec2:DescribeSecurityGroups
-
ec2:DescribeNetworkInterfaces
-
ec2:CreateNetworkInterface
-
ec2:CreateNetworkInterfacePermission
-
ec2:DeleteNetworkInterface
importante
No revoques estos permisos después de crear la transmisión Firehose. Si revocas estos permisos, tu transmisión de Firehose se degradará o dejará de entregar datos a OpenSearch tu dominio de servicio cada vez que el servicio intente realizar consultas o actualizarlos. ENIs
importante
Cuando especifiques subredes para entregar datos al destino en un entorno privadoVPC, asegúrate de tener un número suficiente de direcciones IP libres en las subredes elegidas. Si no hay una dirección IP gratuita disponible en una subred específica, Firehose no podrá crear ni ENIs añadir para la entrega de datos en la red VPC privada, y la entrega se degradará o fallará.
Cuando creas o actualizas tu transmisión de Firehose, especificas un grupo de seguridad para que Firehose lo use cuando envíe datos a tu colección Serverless. OpenSearch Puedes usar el mismo grupo de seguridad que usa la colección OpenSearch Serverless o uno diferente. Si especifica un grupo de seguridad diferente, asegúrese de que permita el HTTPS tráfico saliente al grupo de seguridad de la colección OpenSearch Serverless. Asegúrese también de que el grupo de seguridad de la colección OpenSearch Serverless permita el HTTPS tráfico desde el grupo de seguridad que especificó al configurar la transmisión Firehose. Si utilizas el mismo grupo de seguridad tanto para la transmisión de Firehose como para la colección OpenSearch Serverless, asegúrate de que la regla de entrada del grupo de seguridad permita el tráfico. HTTPS Para obtener más información sobre las reglas de los grupos de seguridad, consulta las reglas de los grupos de seguridad en la VPC documentación de Amazon.
Concede a Firehose acceso a un destino de Splunk
Cuando utiliza un destino de Splunk, Amazon Data Firehose envía los datos a su punto final de HTTP Splunk Event Collector HEC (). También hace una copia de seguridad de esos datos en el bucket de Amazon S3 que especifique y, si lo desea, puede utilizar un AWS KMS clave que posee para el cifrado del lado del servidor de Amazon S3. Si el registro de errores está activado, Firehose envía los errores de entrega de datos a sus flujos de CloudWatch registro. También puedes usar AWS Lambda para la transformación de datos.
Si usa un AWS balanceador de carga, asegúrate de que sea un Classic Load Balancer o un Application Load Balancer. Además, habilite las sesiones fijas basadas en la duración con la caducidad de las cookies deshabilitada para Classic Load Balancer y la caducidad establecida en el máximo (7 días) para Application Load Balancer. Para obtener información sobre cómo hacerlo, consulte Duración de la sesión basada en la duración para Classic Load Balancer o Application Load Balancer.
Debes tener un IAM rol al crear una transmisión de Firehose. Firehose asume esa IAM función y obtiene acceso al bucket, la clave y el grupo de CloudWatch registros y las transmisiones especificados.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda a su bucket de S3. Si no es propietario del bucket de S3, s3:PutObjectAcl
añádalo a la lista de acciones de Amazon S3, que otorgan al propietario del bucket acceso total a los objetos entregados por Amazon Data Firehose. Esta política también otorga a Amazon Data Firehose acceso a CloudWatch para el registro de errores y a AWS Lambda para la transformación de datos. La política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración. Amazon Data Firehose no se utiliza IAM para acceder a Splunk. Para acceder a Splunk, utiliza tu 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:::
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
" ] } ] }
Para obtener más información sobre cómo permitir otros AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
Acceder a Splunk en VPC
Si su plataforma Splunk está en unVPC, debe ser de acceso público con una dirección IP pública. Además, conceda a Amazon Data Firehose acceso a su plataforma Splunk desbloqueando las direcciones IP de Amazon Data Firehose. Amazon Data Firehose utiliza actualmente los siguientes CIDR bloques.
Región | CIDRbloques |
---|---|
US East (Ohio) |
|
Este de EE. UU. (Norte de Virginia) | 34.238.188.128/26, 34.238.188.192/26,
34.238.195.0/26 |
Oeste de EE. UU. (Norte de California) | 13.57.180.0/26 |
Oeste de EE. UU. (Oregón) | 34.216.24.32/27, 34.216.24.192/27,
34.216.24.224/27 |
AWS GovCloud (Este de EE. UU.) | 18.253.138.192/26 |
AWS GovCloud (Estados Unidos-Oeste) | 52.61.204.192/26 |
Asia-Pacífico (Hong Kong) | 18.162.221.64/26 |
Asia-Pacífico (Bombay) | 13.232.67.64/26 |
Asia-Pacífico (Seúl) | 13.209.71.0/26 |
Asia-Pacífico (Singapur) | 13.229.187.128/26 |
Asia-Pacífico (Sídney) | 13.211.12.0/26 |
Asia-Pacífico (Tokio) | 13.230.21.0/27, 13.230.21.32/27 |
Canadá (centro) | 35.183.92.64/26 |
Oeste de Canadá (Calgary | 40.176.98.128/26 |
Europe (Fráncfort) | 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 |
Europa (Londres) | 18.130.91.0/26 |
Europa (París) | 35.180.112.0/26 |
Europa (Estocolmo) | 13.53.191.0/26 |
Medio Oriente (Baréin) | 15.185.91.64/26 |
América del Sur (São Paulo) | 18.228.1.192/26 |
Europa (Milán) | 15.161.135.192/26 |
África (Ciudad del Cabo) | 13.244.165.128/26 |
Asia-Pacífico (Osaka) | 13.208.217.0/26 |
China (Pekín) | 52.81.151.64/26 |
China (Ningxia) | 161.189.23.128/26 |
Asia-Pacífico (Yakarta) | 108.136.221.128/26 |
Oriente Medio () UAE | 3.28.159.64/26 |
Israel (Tel Aviv) | 51.16.102.64/26 |
Europa (Zúrich) | 16.62.183.64/26 |
Asia-Pacífico (Hyderabad) | 18.60.192.192/26 |
Asia-Pacífico (Melbourne) | 16.50.161.192/26 |
Asia-Pacífico (Malasia) | 43.216.44.192/26 |
Ingiera los registros VPC de flujo en Splunk mediante Amazon Data Firehose
Para obtener más información sobre cómo crear una suscripción a registros de VPC flujo, publicar en Firehose y enviar los registros de VPC flujo a un destino compatible, consulte Ingerir registros de VPC flujo en Splunk con Amazon
Acceder a Snowflake o Endpoint HTTP
No hay ningún subconjunto de AWS Intervalos de direcciones IP específicos de Amazon Data Firehose cuando el destino es un punto HTTP final o clústeres públicos de Snowflake.
Para añadir Firehose a una lista de clústeres públicos de Snowflake permitidos o a tus HTTPS puntos de conexión públicos HTTP o de punto final, añade todos los datos actuales AWS Intervalos de direcciones IP a tus reglas de entrada.
nota
Las notificaciones no siempre provienen de las mismas direcciones IP AWS La región como tema asociado. Debe incluir el AWS Intervalo de direcciones IP para todas las regiones.
Concede a Firehose acceso a un destino de Snowflake
Cuando utilizas Snowflake como destino, Firehose envía los datos a una cuenta de Snowflake mediante tu cuenta de Snowflake. URL También hace copias de seguridad de los datos de error en el depósito de Amazon Simple Storage Service que especifique y, si lo desea, puede utilizar un AWS Key Management Service clave que posee para el cifrado del lado del servidor de Amazon S3. Si el registro de errores está activado, Firehose envía los errores de entrega de datos a tus flujos de CloudWatch Logs.
Debes tener un IAM rol antes de crear una transmisión de Firehose. Firehose asume esa IAM función y obtiene acceso al bucket, la clave y el grupo de CloudWatch registros y las transmisiones especificados. Usa la siguiente política de acceso para permitir que Firehose acceda a tu bucket de S3. Si no eres propietario del bucket de S3, añádelo s3:PutObjectAcl
a la lista de acciones de Amazon Simple Storage Service, que otorgan al propietario del bucket acceso total a los objetos entregados por Firehose. Esta política también otorga a Firehose acceso CloudWatch para el registro de errores. La política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración. Firehose no se usa IAM para acceder a Snowflake. Para acceder a Snowflake, utiliza la URL de su cuenta de Snowflake y el ID de PrivateLink Vpce en el caso de un clúster privado.
{ "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:*" ] } ] }
Para obtener más información sobre cómo permitir otros AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
Acceder a Snowflake en VPC
Si su clúster de Snowflake tiene habilitados los enlaces privados, Firehose usa VPC Endpoints para entregar los datos a su clúster privado sin tener que pasar por Internet público. Para ello, crea reglas de red de Snowflake que permitan la entrada desde los siguientes puntos para AwsVpceIds
Región de AWS su clúster está en. Para obtener más información, consulte Crear una regla de red en la
VPCID de punto final que debe utilizar en función de las regiones en las que se encuentre el clúster | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Región de AWS | VPCE IDs |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Este de EE. UU. (Ohio) |
vpce-0d96cafcd96a50aeb vpce-0cec34343d48f537b |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Este de EE. UU. (Norte de Virginia) |
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 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Oeste de EE. UU. (Oregón) |
vpce-0f60f72da4cd1e4e7 vpce-0c60d21eb8b1669fd vpce-01c4e3e29afdafbef vpce-0cc6bf2a88da139de vpce-0797e08e169e50662 vpce-033cbe480381b5c0e vpce-00debbdd8f9eb10a5 vpce-08ec2f386c809e889 vpce-0856d14310857b545 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Europe (Fráncfort) |
vpce-068dbb7d71c9460fb vpce-0a7a7f095942d4ec9 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Europe (Irlanda) |
vpce-06857e59c005a6276 vpce-04390f4f8778b75f2 vpce-011fd2b1f0aa172fd |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Tokio) |
vpce-06369e5258144e68a vpce-0f2363cdb8926fbe8 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Singapur) |
vpce-049cd46cce7a12d52 vpce-0e8965a1a4bdb8941 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Seúl) |
vpce-0aa444d9001e1faa1 vpce-04a49d4dcfd02b884 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Sídney) |
vpce-048a60a182c52be63 vpce-03c19949787fd1859 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia Pacific (Bombay) |
vpce-0d68cb822f6f0db68 vpce-0517d32692ffcbde2 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Europe (Londres) |
vpce-0fd1874a0ba3b9374 vpce-08091b1a85e206029 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
América del Sur (São Paulo) |
vpce-065169b8144e4f12e vpce-0493699f0e5762d63 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Canadá (centro) |
vpce-07e6ed81689d5271f vpce-0f53239730541394c |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Europa (París) |
vpce-09419680077e6488a vpce-0ea81ba2c08140c14 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Osaka) |
vpce-0a9f003e6a7e38c05 vpce-02886510b897b1c5a |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Europa (Estocolmo) |
vpce-0d96410833219025a vpce-060a32f9a75ba969f |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Asia-Pacífico (Yakarta) |
vpce-00add4b9a25e5c649 vpce-004ae2de34338a856 |
Otorgue a Firehose acceso a un HTTP destino de punto final
Puede usar Amazon Data Firehose para entregar datos a cualquier destino de HTTP punto final. Amazon Data Firehose también hace copias de seguridad de esos datos en el bucket de Amazon S3 que especifique y, si lo desea, puede utilizar un AWS KMS clave que posee para el cifrado del lado del servidor de Amazon S3. Si el registro de errores está activado, Amazon Data Firehose envía los errores de entrega de datos a sus flujos de CloudWatch registro. También puede utilizar AWS Lambda para la transformación de datos.
Debes tener un IAM rol al crear una transmisión de Firehose. Amazon Data Firehose asume esa IAM función y obtiene acceso al bucket, la clave y el grupo de CloudWatch registros y las transmisiones especificados.
Utilice la siguiente política de acceso para permitir que Amazon Data Firehose acceda al bucket de S3 que especificó para la copia de seguridad de los datos. Si no es propietario del bucket de S3, s3:PutObjectAcl
añádalo a la lista de acciones de Amazon S3, que otorgan al propietario del bucket acceso total a los objetos entregados por Amazon Data Firehose. Esta política también otorga a Amazon Data Firehose acceso a CloudWatch para el registro de errores y a AWS Lambda para la transformación de datos. La política también incluye una declaración que permite el acceso a Amazon Kinesis Data Streams. Si no utiliza Kinesis Data Streams como origen de datos, puede eliminar dicha declaración.
importante
Amazon Data Firehose no se utiliza IAM para acceder a destinos de HTTP punto final propiedad de proveedores de servicios externos compatibles, como Datadog, Dynatrace, MongoDB, New Relic LogicMonitor, Splunk o Sumo Logic. Para acceder a un destino de HTTP punto final específico propiedad de un proveedor de servicios externo compatible, póngase en contacto con ese proveedor de servicios para obtener la API clave o la clave de acceso necesaria para permitir la entrega de datos a ese servicio desde 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:::
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
" ] } ] }
Para obtener más información sobre cómo permitir otros AWS servicios para acceder a su AWS recursos, consulte Crear un rol para delegar permisos a un AWS Servicio en la Guía IAM del usuario.
importante
Actualmente, Amazon Data Firehose NOT admite la entrega de datos a los HTTP puntos finales de un. VPC
Envío multicuenta desde Amazon MSK
Cuando creas una transmisión de Firehose desde tu cuenta de Firehose (por ejemplo, la cuenta B) y tu fuente es un clúster de otra MSK AWS cuenta (cuenta A), debes tener implementadas las siguientes configuraciones.
Cuenta A:
En la MSK consola de Amazon, selecciona el clúster aprovisionado y, a continuación, selecciona Propiedades.
En Configuración de red, selecciona Editar y activa la VPCconectividad múltiple.
En Configuración de seguridad, seleccione Editar política del clúster.
Si el clúster aún no tiene ninguna política configurada, marque Incluir entidad principal de servicio de Firehose y Habilitar entrega de S3 entre cuentas de Firehose. La AWS Management Console generará automáticamente una política con los permisos adecuados.
-
Si el clúster ya tiene una política configurada, agregue los siguientes permisos a la política existente:
{ "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 }, }
Bajo el título AWS director, introduzca el ID principal de la cuenta B.
En Tema, especifica el tema de Apache Kafka del que quieres que tu transmisión de Firehose ingiera datos. Una vez creada la transmisión de Firehose, no podrás actualizar este tema.
Seleccione Save changes (Guardar cambios)
Cuenta B:
En la consola Firehose, selecciona Crear transmisión de Firehose con la cuenta B.
En Origen, elija Amazon Managed Streaming para Apache Kafka.
En Configuración de código fuente, para el clúster Amazon Managed Streaming for Apache Kafka, introduzca el clúster ARN de Amazon en la MSK cuenta A.
En Tema, especifica el tema de Apache Kafka del que quieres que tu transmisión de Firehose ingiera datos. Una vez creada la transmisión de Firehose, no podrás actualizar este tema.
-
En Nombre de flujo de entrega, especifique el nombre de su transmisión de Firehose.
En la cuenta B, al crear tu transmisión de Firehose, debes tener un IAM rol (creado de forma predeterminada al usar la AWS Management Console) que otorga a la transmisión de Firehose acceso de «lectura» al clúster multicuenta de MSK Amazon para el tema configurado.
Lo siguiente es lo que configura el 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 }, }
Luego, puede completar el paso opcional de configurar la transformación de registros y la conversión del formato de registros. Para obtener más información, consulte (Opcional) Configurar la transformación de registros y la conversión de formato.
Entrega multicuenta a un destino de Amazon S3
Puede utilizar el AWS CLI o la Amazon Data Firehose APIs para crear una transmisión de Firehose en una AWS cuenta con un destino de Amazon S3 en una cuenta diferente. El siguiente procedimiento muestra un ejemplo de configuración de una transmisión Firehose propiedad de la cuenta A para entregar datos a un bucket de Amazon S3 propiedad de la cuenta B.
-
Cree un IAM rol en la cuenta A siguiendo los pasos descritos en Otorgar a Firehose Access to an Amazon S3 Destination.
nota
En este caso, el bucket de Amazon S3 especificado en la política de acceso es propiedad de la cuenta B. Asegúrese de añadir acciones
s3:PutObjectAcl
a la lista de acciones de Amazon S3 de la política de acceso, que otorgan a la cuenta B acceso total a los objetos entregados por Amazon Data Firehose. Este permiso es necesario para la entrega entre cuentas. Amazon Data Firehose establece el encabezado "x-amz-acl" de la solicitud en "»bucket-owner-full-control. -
Para permitir el acceso desde el IAM rol creado anteriormente, cree una política de bucket de S3 en la cuenta B. El siguiente código es un ejemplo de la política de bucket. Para obtener más información, consulte Uso de políticas de bucket y usuario.
{ "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
/*" ] } ] } -
Crea una transmisión de Firehose en la cuenta A con el IAM rol que creaste en el paso 1.
Entrega multicuenta a un OpenSearch destino del servicio
Puede utilizar el AWS CLI o la Amazon Data Firehose APIs para crear una transmisión de Firehose en una AWS cuenta con un destino OpenSearch de servicio en una cuenta diferente. El siguiente procedimiento muestra un ejemplo de cómo se puede crear una transmisión Firehose en la cuenta A y configurarla para que entregue datos a un destino de OpenSearch servicio propiedad de la cuenta B.
-
Cree un IAM rol en la cuenta A siguiendo los pasos que se describen enConceda a Firehose acceso a un destino de servicio público OpenSearch .
-
Para permitir el acceso desde el IAM rol que creó en el paso anterior, cree una política de OpenSearch servicio en la cuenta B. A continuación JSON se muestra un ejemplo.
{ "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 una transmisión de Firehose en la cuenta A con el IAM rol que creaste en el paso 1. Cuando crees la transmisión Firehose, usa la AWS CLI o Amazon Data Firehose APIs y especifique el
ClusterEndpoint
campo en lugarDomainARN
de OpenSearch Servicio.
nota
Para crear una transmisión de Firehose en una AWS cuenta con un destino OpenSearch de servicio en una cuenta diferente, debe usar la AWS CLI o Amazon Data FirehoseAPIs. No puedes usar el AWS Management Console para crear este tipo de configuración multicuenta.
Uso de etiquetas para controlar el acceso
Puede utilizar el Condition
elemento (o Condition
bloque) opcional de una IAM política para ajustar el acceso a las operaciones de Amazon Data Firehose en función de las claves y los valores de las etiquetas. En las siguientes subsecciones se describe cómo hacerlo para las distintas operaciones de Amazon Data Firehose. Para obtener más información sobre el uso del Condition
elemento y los operadores que puede utilizar en él, consulte Elementos de IAM JSON política: condición.
CreateDeliveryStream
Para la operación CreateDeliveryStream
, utilice la clave de condición aws:RequestTag
. En el ejemplo siguiente, MyKey
y MyValue
representan la clave y el valor correspondiente de una etiqueta. Para obtener más información, consulte Comprenda los conceptos básicos de las
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "firehose:CreateDeliveryStream", "firehose:TagDeliveryStream" ], "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/MyKey": "MyValue" } } }] }
TagDeliveryStream
Para la operación TagDeliveryStream
, utilice la clave de condición aws:TagKeys
. En el ejemplo siguiente, MyKey
es un ejemplo de clave de etiqueta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:TagDeliveryStream", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "MyKey" } } } ] }
UntagDeliveryStream
Para la operación UntagDeliveryStream
, utilice la clave de condición aws:TagKeys
. En el ejemplo siguiente, MyKey
es un ejemplo de clave de etiqueta.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:UntagDeliveryStream", "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:TagKeys": "MyKey" } } } ] }
ListDeliveryStreams
No se puede utilizar el control de acceso basado en etiquetas con ListDeliveryStreams
.
Otras operaciones
Para todas las operaciones de Firehose que no seanCreateDeliveryStream
,TagDeliveryStream
, y UntagDeliveryStream
ListDeliveryStreams
, utilice la clave de aws:RequestTag
condición. En el ejemplo siguiente, MyKey
y MyValue
representan la clave y el valor correspondiente de una etiqueta.
ListDeliveryStreams
, usa la clave de firehose:ResourceTag
condición para controlar el acceso en función de las etiquetas de esa transmisión de Firehose.
En el ejemplo siguiente, MyKey
y MyValue
representan la clave y el valor correspondiente de una etiqueta. La política solo se aplicaría a las transmisiones de Data Firehose que tengan una etiqueta denominada MyKey
con un valor de. MyValue
Para obtener más información sobre cómo controlar el acceso en función de las etiquetas de los recursos, consulte Controlar el acceso a AWS recursos mediante etiquetas en la Guía IAM del usuario.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "firehose:DescribeDeliveryStream", "Resource": "*", "Condition": { "StringEquals": { "firehose:ResourceTag/MyKey": "MyValue" } } } ] }
JavaScript está desactivado o no está disponible en su navegador.
Para utilizar la documentación de AWS, debe estar habilitado JavaScript. Para obtener más información, consulte las páginas de ayuda de su navegador.