HomeBig DataConfigure seamless single sign-on with SQL analytics in Amazon SageMaker Unified Studio

Configure seamless single sign-on with SQL analytics in Amazon SageMaker Unified Studio


Amazon SageMaker Unified Studio gives a unified expertise for utilizing knowledge, analytics, and AI capabilities. SageMaker Unified Studio now helps trusted identification propagation (TIP) for SQL workloads, enabling fine-grained knowledge entry management primarily based on particular person person identities. Organizations can use this integration to handle knowledge permissions by means of AWS Lake Formation whereas utilizing their present single sign-on (SSO) infrastructure.

Organizations already utilizing Amazon Redshift with TIP can prolong their present Lake Formation permissions to SageMaker Unified Studio. Customers merely log in by means of SSO and entry their licensed knowledge utilizing the SQL editor, sustaining constant safety controls throughout their analytics surroundings.

This publish demonstrates tips on how to configure SageMaker Unified Studio with SSO, arrange initiatives and person onboarding, and entry knowledge securely utilizing built-in analytics instruments.

Answer overview

For our use case, a retail company is planning to implement gross sales analytics to determine gross sales patterns and product classes which might be doing effectively. It will assist the gross sales crew enhance on gross sales planning with focused promotions and assist the finance crew plan budgeting with higher stock administration. The company shops a buyer desk in an Amazon Easy Storage Service (Amazon S3) knowledge lake and a store_sales desk in a Redshift cluster.

The company makes use of SageMaker Unified Studio because the UI, with customers onboarded from their identification supplier (IdP) to AWS IAM Id Heart with TIP. Amazon SageMaker Lakehouse centralizes knowledge from Amazon S3 and Amazon Redshift, and Lake Formation gives fine-grained entry management primarily based on person identification. For our instance use case, we discover two totally different customers. The next desk summarizes their roles, the instruments they use, and their knowledge entry.

Person Group Instrument Knowledge Entry
Ethan (Knowledge Analyst) Gross sales Amazon Athena for interactive SQL evaluation Non-sensitive buyer knowledge (id, c_country, birth_year) and store_sales full desk entry
Frank (BI Analyst) Finance Amazon Redshift for studies and visualization US buyer knowledge (c_country='US')

The next diagram illustrates the answer structure.

SageMaker Unified Studio with IAM Id Heart simplifies the person journey from authentication to knowledge evaluation. The workflow consists of the next steps:

  1. Customers register with organizational SSO credentials by means of their IdP and are redirected to SageMaker Unified Studio.
  2. Customers configure IAM Id Heart authentication for Amazon Redshift, linking identification administration with knowledge entry.
  3. Customers entry the question editor for Amazon Redshift or SageMaker Lakehouse, triggering IAM Id Heart federation to generate session and entry tokens.
  4. SageMaker Unified Studio retrieves person authorization particulars and group membership utilizing the session token.
  5. Customers are authenticated as IAM Id Heart customers, able to discover and analyze knowledge utilizing Amazon Redshift and Amazon Athena.

To implement our resolution, we stroll by means of the next high-level steps:

  1. Arrange SageMaker Lakehouse sources.
  2. Create a SageMaker Unified Studio area with SSO and TIP enabled.
  3. Configure Amazon Redshift for TIP and validate entry.
  4. Validate knowledge entry utilizing Amazon Athena.

Stipulations

Earlier than you start implementing the answer, you have to have the next in place:

  1. In the event you don’t have an AWS account, you possibly can enroll for one.
  2. We offer utility scripts to assist arrange varied sections of the publish. To make use of them:
    1. Proper-click this hyperlink and save the utility scripts zip file.
    2. Unzip the file to a terminal that has the AWS Command Line Interface (AWS CLI) configured. You too can use AWS CloudShell.
    3. Run the scripts solely when prompted within the related sections.

    Observe: The utility scripts are configured for
    us-east-1 area. In the event you favor one other area, edit the area within the scripts earlier than operating them.

  3. To deploy the infrastructure, right-click this hyperlink and choose ‘Save Hyperlink As’ to reserve it as sagemaker-unified-studio-infrastructure.yaml. Then add the file when creating a brand new stack within the AWS CloudFormation console, which can create the next sources:
    1. An S3 bucket to carry the client knowledge used on this publish.
    2. An AWS Id and Entry Administration (IAM) function referred to as DataTransferRole with permissions as outlined in Stipulations for managing Amazon Redshift namespaces within the AWS Glue Knowledge Catalog.
    3. An IAM function referred to as IAMIDCRedshiftRole, which will probably be used later to arrange the IAM Id Heart Redshift utility.
    4. An IAM function referred to as LakeFormationRegistrationRole, following the directions in Necessities for roles used to register areas, and mandatory IAM insurance policies.
  4. In the event you don’t have a Lake Formation person, you possibly can create one. For this publish, we use an admin person. For directions, see Create an information lake administrator.
  5. If IAM Id Heart isn’t enabled, confer with Enabling AWS IAM Id Heart for directions to allow it.
    1. If it’s good to migrate present Redshift customers and teams, use the IAM Id Heart Redshift migration utility.
    2. For a fast solution to check the function and familiarize your self with the method, we offer a script to generate mock customers and teams. Run the setup-idc.sh script, which is supplied in Step 2, to create check customers and teams in IAM Id Heart for demonstration functions.
  6. Combine IAM Id Heart with Lake Formation. For directions, see Connecting Lake Formation with IAM Id Heart.
  7. Register the S3 bucket as an information lake location:
    1. On the Lake Formation console, select Knowledge lake areas within the navigation pane.
    2. Select Register location.
    3. For the function, use LakeFormationRegistrationRole.
  8. Create an IAM Id Heart Redshift utility, as detailed in our earlier publish:
    1. On the Amazon Redshift console, select IAM Id Heart connections within the navigation pane and select Create utility.
    2. For each the show title and utility title, enter redshift-idc-app.
    3. Set the IdP namespace to awsidc.
    4. Select IAMIDCRedshiftRole because the IAM function.
    5. Select Subsequent to create the appliance.
    6. Be aware of the appliance Amazon Useful resource Identify (ARN) to make use of in subsequent steps. The ARN format is arn:aws:sso:::utility/ssoins-/apl-.
  9. In the event you don’t have present Redshift tables to work with, run the script setup-producer-redshift.sh, which is supplied in Step 2, to create a producer namespace and workgroup, arrange a pattern gross sales database, and generate mandatory tables with check knowledge.
  10. The publish additionally makes use of simulated buyer knowledge saved within the AWS Glue Knowledge Catalog. To arrange this knowledge and configure the mandatory Lake Formation permissions, run the setup-glue-tables-and-access.sh script supplied in Step 2.

Arrange SageMaker Lakehouse sources

On this part, we configure the foundational lakehouse sources required for SageMaker to entry and analyze knowledge throughout a number of storage methods. We’ll register the Redshift occasion to the AWS Glue Knowledge Catalog to make warehouse knowledge discoverable and set up Lake Formation permissions on lakehouse sources for person identities to make sure safe, ruled entry to each knowledge lake and knowledge warehouse sources from inside SageMaker environments.

Register Redshift occasion to the Knowledge Catalog

On this step, we use the store_sales knowledge, which we created earlier utilizing the setup-producer-redshift.sh script. You’ll be able to register total clusters to the Knowledge Catalog and create catalogs managed by AWS Glue. To register a cluster to the Knowledge Catalog, full the next steps:

  1. On the Lake Formation console, select Administrative roles and duties within the navigation pane.
  2. Underneath Knowledge lake directors, select Add.
  3. Select Learn-only administrator, then select AWSServiceRoleForRedshift.
  4. On the Amazon Redshift console, open your namespace.
  5. On the Actions dropdown menu, selected Register with AWS Glue Knowledge Catalog, then select Register.
  6. Sign up to the Lake Formation console as the info lake administrator and select Catalogs within the navigation pane.
  7. Underneath Pending catalog invites, choose the namespace and settle for the invitation by selecting Approve and create catalog.
  8. Present the title for the catalog as salescatalog.
  9. Choose Entry this catalog from Apache Iceberg appropriate engines, select DataTransferRole for the IAM function, then select Subsequent.
  10. Select Add permissions and select the admin IAM function beneath IAM customers and roles.
  11. Choose Tremendous person for catalog permissions and select Add.
  12. Select Subsequent.
  13. Select Create catalog.

Arrange Lake Formation permission on lakehouse sources for person identities

On this part, we configure Lake Formation permissions to allow safe entry to lakehouse sources for federated person identities. Lake Formation gives fine-grained entry management that works seamlessly with IAM Id Heart, permitting you to handle permissions centrally whereas sustaining safety boundaries.

We’ll deal with granting database entry to IAM Id Heart teams in Lake Formation and setting table-level permissions for federated Redshift catalog tables. These permissions type the safety basis for our federated question structure, enabling customers to seamlessly entry each S3 knowledge lake and Redshift knowledge warehouse sources by means of a unified interface.

Grant database entry to IAM Id Heart teams in Lake Formation

After you share your Redshift catalog with the Knowledge Catalog and combine with Lake Formation, you have to grant acceptable database entry. Observe these steps to arrange permissions in your knowledge lake sources for company identities:

  1. On the Lake Formation console, beneath Permissions within the navigation pane, select Knowledge permissions.
  2. Select Grant.
  3. Choose Principals for Principal sort.
  4. Underneath Principals, choose IAM Id Heart and select Add.
  5. Within the pop-up window, if that is your first time assigning customers and teams, select Get began.
  6. Seek for and choose the IAM Id Heart teams awssso-sales and awssso-finance.
  7. Select Assign.
  8. Underneath LF-Tags or catalog sources, select Named Knowledge Catalog sources.
    1. Select :salescatalog/dev for Catalogs.
    2. Select sales_schema for Database.
  9. Underneath Database permissions, choose Describe.
  10. Select Grant to use the permissions.

Grant table-level permissions for federated Redshift catalog tables

Full the next steps to grant desk permissions to the IAM Id Heart teams:

  1. On the Lake Formation console, beneath Permissions within the navigation pane, select Knowledge permissions.
  2. Select Grant.
  3. Choose Principals for Principal sort.
  4. Underneath Principals, choose IAM Id Heart and select Add.
  5. Within the pop-up window, if that is your first time assigning customers and teams, select Get began.
  6. Seek for and choose the IAM Id Heart group awssso-sales.
  7. Select Assign.
  8. Underneath LF-Tags or catalog sources, select Named Knowledge Catalog sources.
    1. Select :salescatalog/dev for Catalogs.
    2. Select sales_schema for Database.
    3. Select store_sales for Desk.
  9. Choose Choose and Describe for Desk permissions.
  10. Select Grant to use the permissions.

Create a SageMaker Unified Studio area with SSO and TIP enabled

For directions to create a SageMaker Unified Studio area, confer with Create an Amazon SageMaker Unified Studio area – fast setup. As a result of your IAM Id Heart integration is already full, you possibly can specify an IAM Id Heart person within the area configuration settings.

Allow TIP in SageMaker Unified Studio

Full the next steps to allow TIP in SageMaker Unified Studio:

  1. On the SageMaker console, use the AWS Area selector within the high navigation bar to decide on the suitable Area.
  2. Select View domains and select the area’s title from the listing.
  3. On the area’s particulars web page, on the Challenge profiles tab, select a venture profile, for instance, SQL analytics.
  4. Choose SQL analytics and select Edit.
  5. Within the Blueprint parameters part, choose enableTrustedIdentityPropagationPermissions and select Edit.
  6. Replace the worth as true.
  7. To implement authorization-based on TIP, the SageMaker Unified Studio admin could make this parameter non-editable.
  8. Select Save.

Allow person entry for SageMaker Unified Studio area

Full the next steps to allow person entry for the SageMaker Unified Studio area:

  1. Open the SageMaker console within the acceptable Area and select Domains within the navigation pane.
  2. Select an present SageMaker Unified Studio area the place you wish to add SSO person entry.
  3. On the area’s particulars web page, on the Person administration tab, within the Customers part, select Add and Add SSO customers and teams.
  4. Select the person (for this publish, we add the person Frank) from the dropdown listing and select Add customers and teams.

Add venture members

SageMaker Unified Studio initiatives facilitate crew collaboration for various enterprise initiatives. Because the venture proprietor, Ethan now can add Frank as a crew member to allow their collaboration. So as to add members to an present venture, full the next steps:

  1. Sign up to the SageMaker Unified Studio console utilizing the SSO credentials of who owns the venture (for this publish, Ethan).
  2. Select Choose a venture.
  3. Select the venture you wish to edit.
  4. On the Challenge overview web page, develop Actions and select Handle members.
  5. Select Add members.
  6. Enter the title of the person or group you wish to add (for this publish, we add Frank).
  7. Choose Contributor if you wish to add the venture member as a contributor.
  8. (Non-compulsory) Repeat these steps so as to add extra venture members. You’ll be able to add as much as eight venture members at a time.
  9. Select Add members.

Create a SQL analytics venture in Unified Studio

On this step, we federate into SageMaker Unified Studio and create a venture utilizing SQL analytics. Full the next steps:

  1. Federate into SageMaker Unified Studio utilizing your IAM Id Heart credentials:
    1. On the SageMaker console, select Domains within the navigation pane.
    2. Copy the SageMaker Unified Studio URL to your area and enter it into a brand new browser window.
    3. Select Sign up with SSO.
    4. A browser pop-up will redirect you to your most well-liked IdP login web page, the place you enter your IdP credentials.
    5. If authentication if profitable, you may be redirected to SageMaker Unified Studio.
  2. After logging in, select Create venture.
  3. Enter a reputation to your venture. This venture title is last and might’t be modified later.
  4. (Non-compulsory) Enter an outline to your venture. You’ll be able to edit this later.
  5. Select a venture profile. For this demo, we select the SQL analytics profile from the out there templates.
  6. Depart the default values as they’re or modify them in accordance with your use case, then select Proceed.
  7. Select Create venture to finalize the venture and initialize your SQL analytics workspace.

For extra detailed data and superior configurations, confer with Create a venture.

Configure Amazon Redshift for TIP and validate entry

Run the setup-consumer-redshift.sh script (supplied within the stipulations). This script will create a brand new namespace and workgroup and add the required tags, which you’ll use later to combine with SageMaker Unified Studio compute.

In case you are creating the cluster manually, add one of many following tags to the Redshift cluster or workgroup that you just wish to add to SageMaker Unified Studio:

  • Choice 1 – Add a tag to permit solely a selected SageMaker Unified Studio venture to entry it: AmazonDataZoneProject=
  • Choice 2 – Add a tag to permit all SageMaker Unified Studio initiatives on this account to entry it: for-use-with-all-datazone-projects=true

Create compute utilizing IAM Id Heart authentication

After you arrange your venture, the following step is to determine a compute useful resource connection on the SageMaker Unified Studio console. Observe these steps so as to add both Amazon Redshift Serverless or a provisioned cluster to your venture surroundings:

  1. Go to the Compute part of your venture in SageMaker Unified Studio.
  2. On the Knowledge warehouse tab, select Add compute.
  3. You’ll be able to create a brand new compute useful resource or select an present one. For this publish, we select Connect with present compute sources, then select Subsequent.
  4. Select the kind of compute useful resource you wish to add, then select Subsequent. For this publish, we select Redshift Serverless.
  5. Underneath Connection properties, present the JDBC URL or the compute you wish to add, which is built-in with IAM Id Heart. If the compute useful resource is in the identical account as your SageMaker Unified Studio venture, you possibly can choose the compute useful resource from the dropdown menu. In our instance, we use the patron account that was simply provisioned.
  6. Underneath Authentication, choose IAM Id Heart.
  7. For Identify, enter the title of the Redshift Serverless or provisioned cluster you wish to add.
  8. For Description, enter an outline of the compute useful resource.
  9. Select Add compute.

The SageMaker Unified Studio Challenge Compute and Knowledge pages will now show data for that useful resource.

If every little thing is configured appropriately, your compute will probably be created utilizing IAM Id Heart. As a result of your IdP credentials are already cached whilst you’re logged in to SageMaker Unified Studio, it makes use of the identical credentials and creates the compute.

Check knowledge entry utilizing Amazon Redshift

When Ethan logs in to SageMaker Unified Studio utilizing IAM Id Heart authentication, he efficiently federates and might entry buyer knowledge from all nations however just for non-sensitive columns. Let’s connect with Amazon Redshift in SageMaker Unified Studio by following these steps:

  1. Select Actions and select Open Question editor.
  2. Select Redshift within the Knowledge explorer pane.
  3. Run the client gross sales calculation question to look at that person Ethan (an information analyst) can entry buyer knowledge from all nations however solely non-sensitive columns (id, birth_country, product_id):
    choose current_user, c.*, sum(s.sales_amount) as total_sales
    from "awsdatacatalog"."customerdb"."buyer" c
    be part of "dev@salescatalog"."sales_schema"."store_sales" s 
    on c.id=s.id
    group by all;

You might have efficiently configured Redshift to make use of IAM Id Heart authentication in SageMaker Unified Studio.

Validate knowledge entry utilizing Amazon Athena

When Frank logs in to SageMaker Unified Studio utilizing IAM Id Heart authentication, he efficiently federates and might entry buyer knowledge just for america. To question with Athena, full the next steps:

  1. Select Actions and select Open Question editor.
  2. Select Lakehouse within the Knowledge explorer pane.
  3. Discover AwsDataCatalog, develop the database, select the respective desk, and on the choices menu (three dots), select Preview knowledge.

The next demonstration illustrates how person Frank, a BI analyst, can carry out SQL evaluation utilizing Athena. On account of row-level filtering applied by means of Lake Formation, Frank’s entry is restricted to buyer knowledge from america solely. Moreover, you possibly can observe that within the Knowledge explorer pane, Frank can solely view the customerdb database. The dev@salescatalog database isn’t seen to Frank as a result of no entry has been granted to his respective group from Lake Formation.

The IAM Id Heart authentication integration is full; you should use each Amazon Redshift and Athena by means of SageMaker Unified Studio in a simplified, all-in-one interface.Observe that, on the time of writing, Athena doesn’t work with Redshift Managed Storage (RMS).

Clear up

Full the next steps to scrub up the sources you created as a part of this publish:

  1. Delete the info from the S3 bucket.
  2. Delete the Knowledge Catalog objects.
  3. Delete the Lake Formation sources and Athena account.
  4. Delete the SageMaker Unified Studio venture and related area.
  5. In the event you created new Redshift cluster for testing this resolution, delete the cluster.

Conclusion

On this publish, we supplied a complete information to enabling trusted identification propagation inside SageMaker Unified Studio. We coated the setup of a SageMaker Unified Studio area with SSO, the creation of tailor-made initiatives, environment friendly person onboarding with acceptable permissions, and the administration of AWS Glue and Amazon Redshift managed catalog permissions utilizing Lake Formation. By way of sensible examples, we demonstrated tips on how to use each Amazon Redshift and Athena inside SageMaker Unified Studio, showcasing safe knowledge entry and evaluation capabilities. This strategy helps organizations preserve strict identification controls whereas serving to knowledge scientists and analysts derive precious insights from each knowledge lake and knowledge warehouse environments, supporting each safety and productiveness in machine studying workflows.

For extra data on this integration, confer with Trusted identification propagation.


Concerning the authors

Maneesh Sharma

Maneesh Sharma

Maneesh is a Sr. Architect at AWS with 15 years of expertise designing and implementing large-scale knowledge warehouse and analytics options. He works carefully with clients to assist them modernize their legacy purposes to AWS cloud-based platforms.

Srividya Parthasarathy

Srividya Parthasarathy

Srividya is a Senior Massive Knowledge Architect with Amazon SageMaker Lakehouse. She works with the product crew and clients to construct strong options and options for his or her analytical knowledge platform. She enjoys constructing knowledge mesh options and sharing them with the group.

Arun A K

Arun A Okay

Arun is a Senior Massive Knowledge Specialist Options Architect at Amazon Net Providers. He helps clients design and scale knowledge platforms that energy innovation by means of analytics and AI. Arun is captivated with exploring how knowledge and rising applied sciences can remedy real-world issues. Exterior of labor, he enjoys sharing data with the tech group and spending time along with his household.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

- Advertisment -
Google search engine

Most Popular

Recent Comments