Usa el secreto - Amazon Data Firehose

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.

Usa el secreto

Le recomendamos que utilice AWS Secrets Manager para almacenar sus credenciales o claves para conectarse a destinos de streaming como Amazon Redshift, HTTP Endpoint, Snowflake, Splunk, Coralogix, Datadog, Dynatrace, Elastic, Honeycomb, Logz.io, MongoDB Cloud y New Relic. LogicMonitor

Puede configurar la autenticación con Secrets Manager para estos destinos a través del AWS Consola de administración en el momento de la creación de la transmisión de Firehose. Para obtener más información, consulte Configurar los ajustes de destino. Como alternativa, también puede usar las UpdateDestinationAPIoperaciones CreateDeliveryStreamy para configurar la autenticación con Secrets Manager.

Firehose guarda en caché los secretos con un cifrado y los utiliza para cada conexión a destinos. Actualiza la memoria caché cada 10 minutos para garantizar que se utilicen las credenciales más recientes.

Puedes optar por desactivar la capacidad de recuperar datos secretos de Secrets Manager en cualquier momento durante el ciclo de vida de la transmisión. Si no quieres usar Secrets Manager para recuperar secretos, puedes usar el nombre de usuario/contraseña o API la clave en su lugar.

nota

Aunque esta función no conlleva ningún coste adicional en Firehose, se te facturará el acceso y el mantenimiento de Secrets Manager. Para obtener más información, consulte AWS Secrets Managerpágina de precios.

Concede acceso a Firehose para recuperar el secreto

Para que Firehose recupere un secreto de AWS Secrets Manager, debes proporcionar a Firehose los permisos necesarios para acceder al secreto y a la clave que lo cifra.

Al usar AWS Secrets Manager para almacenar y recuperar datos secretos, hay varias opciones de configuración diferentes en función de dónde esté almacenado el secreto y de cómo esté cifrado.

  • Si el secreto está almacenado en el mismo AWS cuenta como tu IAM rol y está encriptado con la configuración predeterminada AWS managed key (aws/secretsmanager), la IAM función que Firehose asume solo necesita secretsmanager:GetSecretValue permiso sobre el secreto.

    // secret role policy { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "Secret ARN" } ] }

    Para obtener más información sobre IAM las políticas, consulta los ejemplos de políticas de permisos para AWS Secrets Manager.

  • Si el secreto se almacena en la misma cuenta que el rol, pero se cifra con una clave administrada por el cliente (CMK), el rol necesita ambos secretsmanager:GetSecretValue kms:Decrypt permisos. La CMK política también debe permitir que la IAM función se desempeñekms:Decrypt.

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": "Secret ARN" }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "KMSKeyARN" } ] }
  • Si el secreto está almacenado en un lugar diferente AWS cuenta diferente a su rol y está cifrado con la configuración predeterminada AWS clave administrada, esta configuración no es posible ya que Secrets Manager no permite el acceso entre cuentas cuando el secreto está cifrado con AWS clave gestionada.

  • Si el secreto se almacena en una cuenta diferente y se cifra con unCMK, el IAM rol necesita secretsmanager:GetSecretValue permiso sobre el secreto y kms:Decrypt permiso sobreCMK. La política de recursos del secreto y la CMK política de la otra cuenta también deben conceder al IAM rol los permisos necesarios. Para obtener más información, consulta Acceso entre cuentas.