I’m happy to announce a brand new use case primarily based on trusted identification propagation, a not too long ago launched functionality of AWS IAM Id Heart.
Tableau, a generally used enterprise intelligence (BI) utility, can now propagate end-user identification right down to Amazon Redshift. This has a triple profit. It simplifies the sign-in expertise for finish customers. It permits information homeowners to outline entry primarily based on actual end-user identification. It permits auditors to confirm information entry by customers.
Trusted identification propagation permits purposes that devour information (similar to Tableau, Amazon QuickSight, Amazon Redshift Question Editor, Amazon EMR Studio, and others) to propagate the consumer’s identification and group memberships to the providers that retailer and handle entry to the info, similar to Amazon Redshift, Amazon Athena, Amazon Easy Storage Service (Amazon S3), Amazon EMR, and others. Trusted identification propagation is a functionality of IAM Id Heart that improves the sign-in expertise throughout a number of analytics purposes, simplifies information entry administration, and simplifies audit. Finish customers profit from single sign-on and wouldn’t have to specify the IAM roles they wish to assume to connect with the system.
Earlier than diving into extra particulars, let’s agree on terminology.
I exploit the time period “identification suppliers” to seek advice from the programs that maintain consumer identities and group memberships. These are the programs that immediate the consumer for credentials and carry out the authentication. For instance, Azure Listing, Okta, Ping Id, and extra. Examine the complete record of identification suppliers we assist.
I exploit the time period “user-facing purposes” to designate the purposes that devour information, similar to Tableau, Microsoft PowerBI, QuickSight, Amazon Redshift Question Editor, and others.
And at last, after I write “downstream providers”, I seek advice from the analytics engines and storage providers that course of, retailer, or handle entry to your information: Amazon Redshift, Athena, S3, EMR, and others.
To grasp the advantage of trusted identification propagation, let’s briefly speak about how information entry was granted till in the present day. When a user-facing utility accesses information from a downstream service, both the upstream service makes use of generic credentials (similar to “tableau_user
“) or assumes an IAM function to authenticate towards the downstream service. That is the supply of two challenges.
First, it makes it tough for the downstream service administrator to outline entry insurance policies which might be fine-tuned for the precise consumer making the request. As seen from the downstream service, all requests originate from that widespread consumer or IAM function. If Jeff and Jane are each mapped to the BusinessAnalytics
IAM function, then it isn’t attainable to present them totally different ranges of entry, for instance, readonly and read-write. Moreover, if Jeff can also be within the Finance
group, he wants to decide on a task through which to function; he can’t entry information from each teams in the identical session.
Secondly, the duty of associating a data-access occasion to an finish consumer entails some undifferentiated heavy lifting. If the request originates from an IAM function referred to as BusinessAnalytics
, then further work is required to determine which consumer was behind that motion.
Effectively, this explicit instance may look quite simple, however in actual life, organizations have lots of of customers and hundreds of teams to match to lots of of datasets. There was a possibility for us to Invent and Simplify.
As soon as configured, the brand new trusted identification propagation offers a technical mechanism for user-facing purposes to entry information on behalf of the particular consumer behind the keyboard. Understanding the precise consumer identification presents three fundamental benefits.
First, it permits downstream service directors to create and handle entry insurance policies primarily based on precise consumer identities, the teams they belong to, or a mixture of the 2. Downstream service directors can now assign entry when it comes to customers, teams, and datasets. That is the way in which most of our clients naturally take into consideration entry to information—intermediate mappings to IAM roles are not mandatory to realize these patterns.
Second, auditors now have entry to the authentic consumer identification in system logs and might confirm that insurance policies are carried out accurately and comply with all necessities of the corporate or industry-level insurance policies.
Third, customers of BI purposes can profit from single sign-on between purposes. Your end-users not want to grasp your organization’s AWS accounts and IAM roles. As a substitute, they’ll sign up to EMR Studio (for instance) utilizing their company single sign-on that they’re used to for thus many different issues they do at work.
How does trusted identification propagation work?
Trusted identification propagation depends on commonplace mechanisms from our {industry}: OAuth2 and JWT. OAuth2 is an open commonplace for entry delegation that permits customers to grant third-party user-facing purposes entry to information on different providers (downstream providers) with out exposing their credentials. JWT (JSON Net Token) is a compact, URL-safe technique of representing identities and claims to be transferred between two events. JWTs are signed, which suggests their integrity and authenticity might be verified.
Tips on how to configure trusted identification propagation
Configuring trusted identification propagation requires setup in IAM Id Heart, on the user-facing utility, and on the downstream service as a result of every of those must be informed to work with end-user identities. Though the particulars might be totally different for every utility, they may all comply with this sample:
- Configure an identification supply in AWS IAM Id Heart. AWS recommends enabling automated provisioning in case your identification supplier helps it, as most do. Automated provisioning works by the SCIM synchronization commonplace to synchronize your listing customers and teams into IAM Id Heart. You in all probability have configured this already in the event you at present use IAM Id Heart to federate your workforce into the AWS Administration Console. This can be a one-time configuration, and also you don’t must repeat this step for every user-facing utility.
- Configure your user-facing utility to authenticate its customers along with your identification supplier. For instance, configure Tableau to make use of Okta.
- Configure the connection between the user-facing utility and the downstream service. For instance, configure Tableau to entry Amazon Redshift. In some circumstances, it requires utilizing the ODBC or JDBC driver for Redshift.
Then comes the configuration particular to trusted identification propagation. For instance, think about your group has developed a user-facing net utility that authenticates the customers along with your identification supplier, and that you just wish to entry information in AWS on behalf of the present authenticated consumer. For this use case, you’d create a trusted token issuer in IAM Id Heart. This highly effective new assemble offers you a strategy to map your utility’s authenticated customers to the customers in your IAM Id Heart listing in order that it may possibly make use of trusted identification propagation. My colleague Becky wrote a weblog submit to point out you tips on how to develop such an utility. This extra configuration is required solely when utilizing third-party purposes, similar to Tableau, or a customer-developed utility, that authenticate exterior of AWS. When utilizing user-facing purposes managed by AWS, similar to Amazon QuickSight, no additional setup is required.
Lastly, downstream service directors should configure the entry insurance policies primarily based on the consumer identification and group memberships. The precise configuration varies from one downstream service to the opposite. If the applying reads or writes information in Amazon S3, the info proprietor might use S3 Entry Grants within the Amazon S3 console to grant entry for customers and teams to prefixes in Amazon S3. If the applying makes queries to an Amazon Redshift information warehouse, the info proprietor should configure IAM Id Heart trusted connection within the Amazon Redshift console and match the viewers declare (aud
) from the identification supplier.
Now that you’ve got a high-level overview of the configuration, let’s dive into a very powerful half: the consumer expertise.
The top-user expertise
Though the exact expertise of the top consumer will clearly be totally different for various purposes, in all circumstances, it will likely be less complicated and extra acquainted to workforce customers than earlier than. The consumer interplay will start with a redirect-based authentication single sign-on move that takes the consumer to their identification supplier, the place they’ll sign up with credentials, multi-factor authentication, and so forth.
Let’s have a look at the main points of how an finish consumer may work together with Okta and Tableau when trusted identification propagation has been configured.
Right here is an illustration of the move and the primary interactions between programs and providers.
Right here’s the way it goes.
1. As a consumer, I try to sign up to Tableau.
2. Tableau initiates a browser-based move and redirects to the Okta sign-in web page the place I can enter my sign-in credentials. On profitable authentication, Okta points an authentication token (ID and entry token) to Tableau.
3. Tableau initiates a JDBC reference to Amazon Redshift and contains the entry token within the connection request. The Amazon Redshift JDBC driver makes a name to Amazon Redshift. As a result of your Amazon Redshift administrator enabled IAM Id Heart, Amazon Redshift forwards the entry token to IAM Id Heart.
4. IAM Id Heart verifies and validates the entry token and trade the entry token for an Id Heart issued token.
5. Amazon Redshift will resolve the Id Heart token to find out the corresponding Id Heart consumer and authorize entry to the useful resource. Upon profitable authorization, I can join from Tableau to Amazon Redshift.
As soon as authenticated, I can begin to use Tableau as traditional.
And after I connect with Amazon Redshift Question Editor, I can observe the sys_query_history
desk to verify who was the consumer who made the question. It accurately stories awsidc:<e-mail deal with>
, the Okta e-mail deal with I used after I related from Tableau.
You possibly can learn Tableau’s documentation for extra particulars about this configuration.
Pricing and availability
Trusted identification propagation is supplied at no further value in the 26 AWS Areas the place AWS IAM Id Heart is obtainable in the present day.
Listed below are extra particulars about trusted identification propagation and downstream service configurations.
Blissful studying!
With trusted identification propagation, now you can configure analytics programs to propagate the precise consumer identification, group membership, and attributes to AWS providers similar to Amazon Redshift, Amazon Athena, or Amazon S3. It simplifies the administration of entry insurance policies on these providers. It additionally permits auditors to confirm your group’s compliance posture to know the actual identification of customers accessing information.
Get began now and configure your Tableau integration with Amazon Redshift.
PS: Writing a weblog submit at AWS is all the time a staff effort, even if you see just one title beneath the submit title. On this case, I wish to thank Eva Mineva, Laura Reith, and Roberto Migli for his or her much-appreciated assist in understanding the numerous subtleties and technical particulars of trusted identification propagation.