Uso del secreto - Amazon Data Firehose

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.

Uso del secreto

Le recomendamos que las 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 de la Consola de administración de AWS en el momento de crear el flujo de Firehose. Para obtener más información, consulte Configuración de 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 asegurarse de que se utilizan las credenciales más recientes.

Puede optar por desactivar la capacidad de recuperar datos secretos de Secrets Manager en cualquier momento durante el ciclo de vida del flujo. 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 característica no conlleva ningún costo adicional en Firehose, se le cobrará el acceso y el mantenimiento de Secrets Manager. Para obtener más información, consulte la página de precios de AWS Secrets Manager.

Concesión de acceso a Firehose para recuperar el secreto

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

Cuando se utiliza AWS Secrets Manager para almacenar y recuperar 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 la misma AWS cuenta que tu IAM rol y está cifrado con la clave AWS gestionada predeterminada (aws/secretsmanager), el IAM rol 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 se almacena en una AWS cuenta diferente a la de su rol y se cifra con la clave AWS administrada predeterminada, esta configuración no es posible, ya que Secrets Manager no permite el acceso entre cuentas cuando el secreto está cifrado con la clave AWS administrada.

  • Si el secreto se almacena en una cuenta diferente y se cifra con unaCMK, el IAM rol necesita secretsmanager:GetSecretValue permiso sobre el secreto y el kms:Decrypt permiso sobre laCMK. 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, consulte Acceso entre cuentas.