Multi-tenant embedding

Please help me to figure out how to deal with the next case:

1. I have a redshift instance for my big data and tenant column inside
2. I have one dataset based on that redshift instance
3. I have SaaS application which has many tenants

I want to provide a dashboard based on tenant from the dataset through embedding links. How to achieve that and does that approach even make sense cause maybe there is another approach to achieve that.
It will be great if I can generate embeded link with tenant filter.

Hello Emanuel,

Welcome to the QS community.

Have you gone through this link ?

Please look into this may be this is what you are looking for.

Thank you.
Cheers,
Deep

2 Likes

Thank you so much, yes, I did look at that. It doesn’t help.
I don’t need:
1. row-level security
2. creating a user account and group

Essential question is how to get embedded link to dashboard with prefiltered data by tenant from one dataset.

Hello Emanuel,

I guess you would need RLS but via tags. Please check the below link if it helps.

Cheers,
Deep

1 Like

Thank you again. I’ve read a lot of documentation.
That you shared is more about permissions but not about how to filter data and get embedded link for a dashboard.

Hello there,

I guess then you might have seen this document as well ? - Filtering data at runtime for embedded dashboards and visuals - Amazon QuickSight

Cheers,
Deep

Yeah, I’ve read that as well. :grinning:
It’s a bit confused how to use that. There is no any evident returning example for it. I know about GenerateEmbedUrlForAnonymousUser method which is returning embedded link but how can I apply filter by tenant during GenerateEmbedUrlForAnonymousUser?

Hey there,

One more link :slight_smile: - Build custom and interactive dashboards using new runtime capabilities in QuickSight Embedding SDK | AWS Business Intelligence Blog

Cheers,
Deep

Thanks again for the link. What a pity that none of these links can’t explain how to get embedded dashboard with already filtered data by specific column. I think that’s pretty much common case…

You would perhaps need to use anonymous embed with tag/value RLS. This would allow you to pass specific key/values relevant to a column in your dataset so the dashboard is rendered with a single tenant’s dataset.

Alternatively you could explore using dashboard / dataset parameters to pass values down into your dataset queries to filter to specific tenant records

1 Like

Thanks for your answer.
Question about tag/value RLS:
Should I provide that tags in request for generating embedding links? If that’s it well, it makes sense for me, otherwise I don’t quite understand how it works.

About the second approach what do you mean by dataset query? As I understand you a tenant should query their data by itself if that’s what you were about that’s not my case.

Yes, you would pass tag/value in your anonymous embed request (Using row-level security (RLS) with tag-based rules to restrict access to a dataset when embedding dashboards for anonymous users - Amazon QuickSight)

In your dataset, you’d write a Custom SQL table and reference a dataset defined parameter to filter data using parameter values that can be passed down to the query executed against your data source (Using dataset parameters in Amazon QuickSight - Amazon QuickSight)

2 Likes

Hi @Emanuel

We hope the response from @bkasen helped you.
Let us know if this is resolved.
And if it is, please help the community by marking the answer as a “Solution”.

2 Likes

Hi @Emanuel
I’m marking @bkasen’s response as a solution - if you are using the anonymous user embedding API, the dashboard can be filtered using RLS by utilizing sessionTags when the API is invoked.

Please let us know if you have further questions.
Thank you.

2 Likes