Licensing - Tableau Desktop on Amazon AppStream 2.0

Licensing

When using a non-persistent solution such as AppStream 2.0 to host Tableau Desktop, you must activate the license key. Activation options depend on how you purchased Tableau licenses.

LBLM is used when users don’t need their own license key to activate the software. Instead, the Tableau Server is licensed for a pool of creator users, and each user signs in to the Tableau Server individually to activate the license. This option gives you a central place to manage Tableau Desktop users on Tableau Server and an activations dashboard that shows the history of which users activated Tableau Desktop and how often they use it. For information about the activations dashboard, refer to View login-based usage.

To use this option, your Tableau Server’s license key must allow for LBLM. You can enable the LBLM feature using the following Tableau Services Manager (TSM) command:

tsm configuration set -k licensing.login_based_license_management.enabled -v true  tsm pending-changes apply
Your Tableau Server’s license key must allow for LBLM

Your Tableau Server’s license key must allow for LBLM

For environments that meet the LBLM requirements, a typical user flow with an ATR duration of four hours starts by starting the session and logging in to Tableau Server, which is activated for four hours. Next, one the following scenarios occur:

  • If users disconnect from their session and then reopen the session more than four hours later, when they log in to Tableau Server, the session is active for another four hours.

  • Assuming the fleet’s disconnect timeout value matches the ATR duration, if users disconnect from the session but open it again within that four-hour window, the instance remains active, and they can access Tableau Server without logging in again.

  • Assuming the maximum session duration matches the ATR duration of four hours, if users reach the end of the four hours, they are prompted to save their work before the session closes. Then they can open a new session and log back in to Tableau Server, if desired.

You must configure ATR settings when using LBLM. Tableau Desktop comes with copy protection to prevent users from installing or activating Tableau Desktop on a virtual machine and simply cloning it for other users. This means that when an instance is terminated, even if you spin up a new one, it has a different hardware profile that doesn’t match the settings from the last session. For this reason, you must enable ATR and set the duration to match the fleet’s maximum session duration.

Master key approach

If your company has a master key, you can create a script that activates Tableau Desktop before opening user sessions. For more information, refer to Run Scripts Before Streaming Sessions Begin in the AppStream 2.0 documentation.

Alternative approach

If LBLM is not available, and you don’t have a master key, an architecture is available for using individual user-based desktop/creator product keys, although this process requires more manual work than the other approaches. AWS must be able to access a mapping of users to product keys, for example a database table. Rows in the table are users and their Tableau Desktop license keys. The following two session scripts are also required:

  • Startup script — When users sign in, the script fetches their license key from the database table and uses it to activate Tableau Desktop.

  • Termination script — When user sessions terminate, the script runs the deactivate command to free up the license key. This step is required because all Tableau licenses have a limited number of activations (to prevent users from activating the same license key on many machines). By deactivating before the instance terminates, the license key can be reused the next time the user logs in. For more information, refer to Deactivate the product key in the Tableau documentation.

Note that this approach is not recommended because it assumes the termination script always runs before the instance is terminated. If something causes your instances to terminate unexpectedly and the script is unable to complete, the license activations counter does not decrement. This means that you will eventually see license activation errors for those users, and the only resolution is through the Tableau support team (there is no programmatic way). Although this scenario is unlikely, the potential challenges make this a less desirable approach.