Embedding with the QuickSight APIs - Amazon QuickSight

Important: We've redesigned the Amazon QuickSight analysis workspace. You might encounter screenshots or procedural text that doesn't reflect the new look in the QuickSight console. We're in the process of updating screenshots and procedural text.

To find a feature or item, use the Quick search bar.

For more information on QuickSight's new look, see Introducing new analysis experience on Amazon QuickSight.

Embedding with the QuickSight APIs

 Applies to: Enterprise Edition 
   Intended audience: Amazon QuickSight developers 

There are only a few steps involved in the actual process of embedding analytics using the QuickSight APIs.

Before you begin, make sure to have the following items in place:

  • Set up the required IAM permissions for the caller identity used by your application that will use the AWS SDK to make API calls. For example, grant permission to allow the quicksight:GenerateEmbedUrlForAnonymousUser or quicksight:GenerateEmbedUrlForRegisteredUser action.

  • To embed for registered users, share QuickSight assets with them beforehand. For new authenticating users, know how to grant access to the assets. One way to do this is by adding all the assets to a QuickSight folder. If you prefer to use the QuickSight API, use the DescribeDashboardPermissions and UpdateDashboardPermissions API operations. For more information, see DescribeDashboardPermissions or UpdateDashboardPermissions in the Amazon QuickSight API Reference. If you want to share the dashboard with all users in a namespace or group, you can share the dashboard with namespace or group.

  • If you're embedding dashboards, make sure to have the ID of the dashboards you want to embed. The dashboard ID is the code in the URL of the dashboard. You can also get it from the dashboard URL.

  • A QuickSight administrator must explicitly enable domains where you plan to embed your QuickSight analytics. You can do this by using the Manage QuickSight, Domains and Embedding from the profile menu, or you can use the AllowedDomains parameter of a GenerateEmbedUrlForAnonymousUser or GenerateEmbedUrlForRegisteredUser API call.

    This option is only visible to QuickSight administrators. You can also add subdomains as part of a domain. For more information, see Allow listing domains at runtime with the QuickSight API.

    All domains in your static allow list (such as development, staging, and production) must be explicitly allowed, and they must use HTTPS. You can add up to 100 domains to the allow list. You can add domains at runtime with QuickSight API operations.

After all the prerequisites are complete, embedding QuickSight involves the following steps, which are explained in greater detail later:

  1. For authentication, use your application server to authenticate the user. After authentication in your server, generate the embedded dashboard URL using the AWS SDK that you need.

  2. In your web portal or application, embed QuickSight using the generated URL. To simplify this process, you can use the Amazon QuickSight Embedding SDK, available on NPMJS and GitHub. This customized JavaScript SDK is designed to help you efficiently integrate QuickSight into your application pages, set defaults, connect controls, get callbacks, and handle errors.

You can use AWS CloudTrail auditing logs to get information about the number of embedded dashboards, users of an embedded experience, and access rates.