Sistema de administración de claves de AWS

Tableau Server tiene tres opciones del Sistema de administración de claves (KMS) que le permiten habilitar el cifrado en reposo. Dos de ellos requieren el complemento de administración de servidores, mientras que uno local está disponible con todas las instalaciones de Tableau Server.

A partir de la versión 2019.3, Tableau Server añadió estas opciones de KMS: 

  • un KMS local que está disponible con todas las instalaciones. Para obtener más información, consulte Sistema de gestión de claves local de Tableau Server.
  • Un KSM basado en AWS que se incluye como parte del complemento de administración de servidores. Esto se describe a continuación.

A partir de la versión 2021.1, Tableau Server añadió otra opción de KMS: 

  • un KSM basado en Azure que se incluye como parte del complemento de administración de servidores. Para obtener más información, consulte Azure Key Vault.

Con el lanzamiento de la versión 2019.3, Tableau Server admite el sistema de administración de claves (KMS) de AWS como parte del complemento de administración de servidores.

AWS KMS para cifrado en reposo

AWS KMS está disponible como parte del complemento Administración de Servidor para Tableau Server. Para obtener más información consulte Acerca de Tableau Complemento de administración de servidores.

Si su organización está implementando el cifrado en reposo de extracciones de datos, tiene la opción de configurar Tableau Server para que utilice AWS como KMS en el cifrado de extracciones. Para habilitar AWS KMS, debe implementar Tableau Server en AWS EC2. En el escenario AWS, Tableau Server utiliza la clave maestra de cliente (CMK) de AWS KMS para generar una clave de datos AWS(Link opens in a new window). Tableau Server utiliza la clave de datos AWS como clave maestra raíz para todas las extracciones cifradas. Sin embargo, incluso cuando está configurado para AWS KMS, el almacén de claves de Java y el KMS local se siguen utilizando para el almacenamiento seguro de secretos en Tableau Server. AWS KMS solo se utiliza para cifrar la clave maestra raíz para extracciones cifradas.

El uso de AWS para cifrar la clave maestra raíz proporciona mejores propiedades de seguridad al no almacenar la clave maestra con los mismos permisos que las extracciones.

La jerarquía de claves cuando Tableau Server está configurado con AWS KMS

Configurar AWS KMS para extracciones cifradas de Tableau Server

Si desea utilizar la clave maestra de cliente (CMK) de AWS para cifrar la clave raíz en la jerarquía KMS de Tableau Server, debe configurar Tableau Server como se describe en esta sección.

Antes de comenzar, verifique que cumple los siguientes requisitos:

  • Tableau Server debe estar implementado en AWS EC2
  • Tableau Server debe estar configurado con una licencia de Complemento de administración de servidores. Consulte Acerca de Tableau Complemento de administración de servidores.
  • Debe tener el control administrativo de una clave maestra de cliente (CMK) creada en el Key Management Service de AWS

Paso 1: crear CMK y establecer la directiva de claves para Tableau Server en AWS

Los siguientes procedimientos se realizan en el servicio AWS KMS. Se incluyen referencias a la documentación de AWS.

  1. Cree el CMK que utilizará para Tableau Server. Consulte el tema de AWS Creación de claves(Link opens in a new window).
  2. Actualice la función IAM de la instancia del servidor.

    Tableau Server necesita ser capaz de autenticarse en AWS KMS mediante el rol IAM de la instancia. El rol debe tener asociada una directiva. La directiva debe otorgar a la instancia permisos para llamar a las acciones "GenerateDataKey" y "Decrypt" en el CMK. Consulte Roles de IAM para Amazon EC2(Link opens in a new window).

    En una implementación multinodo de Tableau Server, todos los nodos del servidor deben ejecutarse con roles que tengan asociada esta directiva (o equivalente). Puede asignar el mismo rol a todos los nodos del clúster.

  3. Como mínimo, el CMK debe contar con una directiva de claves en la que Effect está establecido para Allow al Prinicpal (el rol de IAM asociado a las instancias del servidor) la Action: GenerateDataKey y Decrypt. Consulte Uso de directivas de claves en AWS KMS(Link opens in a new window).

Paso 2: recopilar los parámetros de configuración de AWS

Necesitará la cadena ARN completa de AWS KMS. Esta cadena se encuentra en la sección "Configuración general" de las páginas de administración de AWS KMS. El ARN se presenta en este formato: arn:aws:kms:<región>:<cuenta>:key/<CMK_ID>, por ejemplo, arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567.

Así mismo, debe especificar la región AWS, que también se incluye en la cadena ARN. En el ejemplo anterior, la región es us-west-2. La región es donde reside la instancia de KMS. En el siguiente paso debe especificar una región como se muestra en la columna Región de la tabla Amazon API Gateway(Link opens in a new window).

Paso 3: configurar Tableau Server para AWS KMS

Ejecute el siguiente comando en Tableau Server. Su función es reiniciar el servidor:

  • tsm security kms set-mode aws --aws-region "<region>" --key-arn "arn:aws:kms:<region>:<account_number>:key/<CMK_ID>"

    La opción --key-arn toma una copia directa de la cadena del ARN en la sección "Configuración general" de las páginas de administración de AWS KMS.

    Por ejemplo, si su instancia de AWS KMS se ejecuta en la región us-west-2, su número de cuenta es 86753099990073 y la clave CMK es 1abc23de-fg45-6hij-7k89-1l0mn1234567, el comando sería el siguiente:

    tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"

Paso 4: habilitar el cifrado en reposo

Consulte Cifrado de extracciones en reposo.

Paso 5: validar la instalación

  1. Ejecute el comando siguiente:

    tsm security kms status

    Puede devolverse la siguiente información:

    • El ARN (ID) de la clave maestra de cliente (CMK)
    • La región en la que se encuentra el CMK
    • El ID de la clave maestra raíz (RMK) en uso. El RMK es una clave que cifra el CMK. Tableau Server descifra el CMK realizando llamadas a AWS KMS. El RMK se utiliza para cifrar/descifrar la clave maestra de extracción (MEK). El RMK puede cambiar, pero solo habrá uno a la vez.
    • KMS almacena una colección de claves maestras de extracción (MEK). Cada MEK incluye:
      • Un ID, por ejemplo 8ddd70df-be67-4dbf-9c35-1f0aa2421521
      • Puede ser un estado "clave de cifrado o descifrado" o "clave solo de descifrado". Si una clave es de "cifrado o descifrado", Tableau Server cifrará los nuevos datos con ella. De lo contrario, la clave solo se usará para descifrar
      • Una marca de tiempo de creación, por ejemplo, "Creado en: 2019-05-29T23:46:54Z".
      • Primera transición a cifrar y descifrar: una marca de tiempo que indica cuándo la clave se convirtió en una clave de cifrado o descifrado.
      • Transición a solo descifrar: una marca de tiempo que indica cuándo la clave pasó a ser solo de descifrar.
  2. Vea los registros después de cifrar y descifrar extracciones:

    • Publique extracciones en su sitio y luego cífrelas. Consulte Cifrado de extracciones en reposo.

    • Acceda a las extracciones con Tableau Desktop o creación web en un navegador (de este modo, las extracciones se descifrarán para poder utilizarlas).

    • Busque en los archivos de registro vizqlserver_node las cadenas AwsKmsEncryptionEnvelopeAccessor y AwsKmsEncryptionEnvelope. La ubicación predeterminada de los registros es la siguiente: C:\ProgramData\Tableau\Tableau Server\data\tabsvc\logs

      Estos son algunos ejemplos de entradas de registro que indican que la configuración se ha realizado correctamente:

      • Descifrado el RMK con ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 mediante el CMK con ARN arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f
      • Usar el RMK con ID 1abc23de-fg45-6hij-7k89-1l0mn1234567 para descifrar el almacenamiento de KMS

      Para ver actualizaciones de publicación y extracción relacionadas con KMS, busque en los registros del procesador en segundo plano. Para obtener más información sobre los registros, consulte Registros de Tableau Server y ubicación del archivo de registro.

Solución de problemas de configuración

Error de configuración multinodo

En una configuración multinodo para AWS KMS tsm security kms status, el comando puede comunicar un estado correcto (OK) aunque otro nodo en el clúster esté mal configurado. La comprobación de estado de KMS solo informa sobre el nodo en el que se ejecuta el proceso del controlador de administración de Tableau Server, no sobre los demás nodos del clúster. De forma predeterminada, el proceso del controlador de administración de Tableau Server se ejecuta en el nodo inicial del clúster.

Por lo tanto, si otro nodo está mal configurado de tal manera que Tableau Server no pueda acceder al AWS CMK, esos nodos pueden comunicar estados de Error en varios servicios (que no se podrán iniciar).

Si algunos servicios no logran iniciarse después de configurar KMS en el modo AWS, ejecute el siguiente comando para volver al modo local: tsm security kms set-mode local.

Actualizar AWS CMK

La actualización de AWS CMK es una tarea que se realiza con AWS. De manera predeterminada, AWS CMK se actualiza una vez al año. Consulte el tema de AWS, Funcionamiento de la rotación automática de claves(Link opens in a new window). Dado que el ARN y la región no cambian, no es necesario actualizar la configuración de KMS en Tableau Server para los escenarios normales de actualización de CMK.

Una vez actualizado AWS CMK, debe regenerar los RMK y MEK internos en Tableau Server. También debe volver a cifrar todas las extracciones con el nuevo CMK:

  1. Ejecute el comando tsm security regenerate-internal-tokens para regenerar todas las claves internas en Tableau Server, incluidos los RMK y MEK utilizados para el cifrado de extracciones.
  2. Ejecute tabcmd reencryptextracts <site-name> para volver a cifrar extracciones en un sitio dado. Ejecute este comando en todos los sitios en los que almacene extracciones cifradas. Dependiendo del número de extracciones cifradas en el sitio, esta operación podría consumir una importante carga de procesamiento del servidor. Considere la posibilidad de llevar a cabo esta operación fuera del horario laboral. Consulte Cifrado de extracciones en reposo.

Regenerar RMK y MEK en Tableau Server

Para regenerar la clave maestra raíz y las claves maestras de cifrado en Tableau Server, ejecute el comando tsm security regenerate-internal-tokens.

Copia de seguridad y restauración con AWS KMS

Se puede realizar una copia de seguridad del servidor en modo AWS sin configuraciones ni procedimientos adicionales. La copia de seguridad contiene copias cifradas de los RMK y MEK. Descifrar las claves requiere acceso y control del AWS CMK.

Para el escenario de restauración, el servidor a restaurar puede estar en cualquiera de los modos KMS, incluido Local. El único requisito es que el servidor en el que se va a restaurar la copia de seguridad tenga acceso al CMK de la copia de seguridad utilizada.

Tras la restauración, los MEK de la copia de seguridad se importan como claves solo para descifrar. El RMK no se migra. Se genera un nuevo RMK como parte del proceso de instalación/restauración.

¡Gracias por sus comentarios!