Amazon SageMaker is a fully managed service that provides every machine learning (ML) developer and data scientist the ability to build, train, and deploy ML models at scale. Amazon SageMaker Studio is a web-based, integrated development environment (IDE) for ML. Amazon SageMaker Studio provides all the tools you need to take your models from experimentation to production while boosting your productivity. You can write code, track experiments, visualize data, and perform debugging and monitoring within a single, integrated visual interface.
OneLogin is an identity platform for secure, scalable, and smart experiences that connects people to technology. OneLogin’s authentication and role-based user provisioning engine enables organizations to implement least privilege access controls and eliminate manual user management workflows for all AWS users and accounts.
In this post, we walk you through the steps to onboard existing users in OneLogin to Amazon SageMaker Studio. We also demonstrate the single sign-on (SSO) experience for system administrators and Amazon SageMaker Studio users.
The solution contains the following key components:
The following architecture diagram shows the flow of authentication and authorization from OneLogin to Amazon SageMaker Studio. Users log in through OneLogin, which authenticates them and passes a SAML authentication to AWS SSO. Once logged in, they can select the Amazon SageMaker Studio app, which assumes the SageMaker execution role attached to their user profile to create a pre-signed domain URL. This pre-signed domain URL is used directly log in the users to their JupyterServer environment.
Make sure you have the following prerequisites:
On your OneLogin account, log in with administrator privileges and navigate to Applications. In the upper-right, choose Add app. Next, search for and then choose AWS Single Sign-On.
Next, we need to get the IdP metadata from OneLogin, which we use to register on AWS. Inside your OneLogin AWS Single Sign-On application, navigate to More Actions, then download and save the IdP metadata as onelogin-aws.xml.
Make sure that AWS SSO is enabled. If not, see Enable AWS SSO. AWS SSO provides support for the SCIM v2.0 standard. SCIM keeps your AWS SSO identities in sync with identities from your IdP. This includes any provisioning, updates, and de-provisioning of users between your IdP and AWS SSO. Using SCIM integration saves your IT and admin teams the time and effort of implementing custom solutions to cross-replicate user names and email addresses between AWS SSO and your IdPs.
To complete the integration on the OneLogin side, you need the following:
The information is available on the Settings page on the AWS SSO console. The endpoint and access token are on the Automatic provisioning page, as shown in the following screenshot.
Choose View details for Authentication SAML 2.0 and copy the AWS SSO ACS URL and AWS SSO issuer URL.
Now that you have these four pieces of information, it’s time to go to OneLogin to finalize the integration.
To establish your SAML authentication, complete the following steps:
Make sure to remove any trailing slashes (/).
In your OneLogin portal, on the top ribbon navigate to Users and assign the users in your organization to your newly created AWS Single Sign-On application to provide access to Amazon SageMaker Studio.
Verify if this user or group has synced into AWS SSO via SCIM by checking the Users page on the AWS SSO console.
You can set up your Amazon SageMaker Studio environment by navigating to Amazon SageMaker Studio on your AWS account.
Make sure that AWS SSO is enabled in the same Region as your Amazon SageMaker Studio.
You also have the option to set additional configurations.
Amazon SageMaker Studio creates a domain and sets up AWS SSO for the domain. This process should take around 10 minutes to complete. The domain status shows as Ready when the provisioning is complete.
Choose Assign Users and groups to assign users who were created via OneLogin and are synced into AWS SSO.
You can assign users to Amazon SageMaker Studio environment by selecting the check box next to Display name and Email.
Under Studio Summary, you can notice the Execution Role that you created in the previous step. You can now log in to your Amazon SageMaker Studio environment.
You’re logged in directly to your user profile inside Amazon SageMaker Studio.
You can also verify the user profiles in Amazon SageMaker Studio directly using the AWS Command Line Interface (AWS CLI):
`aws sagemaker describe-user-profile –domain-id
In this post, we walked through the steps to onboard existing OneLogin SSO users to Amazon SageMaker Studio. We also looked at a reference architecture and how to verify the setup. For more information about using AWS SSO with Amazon SageMaker Studio, see Onboard to Amazon SageMaker Studio Using AWS SSO.
Sam Palani is an AI/ML Specialist Solutions Architect at AWS. He enjoys working with customers to help them architect machine learning solutions at scale. When not helping customers, he enjoys reading and exploring the outdoors.
Sunil Ramachandra is a Senior Technical Account Manager at AWS. As a principal technical advisor and ‘voice of the customer’ he helps organizations ranging from start-ups to Fortune 500 enterprises to innovate and operate their workloads on AWS. Sunil is passionate about building AWS integrations that enable Independent Software Vendors (ISVs).When not helping customers, Sunil enjoys spending time with his family, running, meditating and watching movies or originals on Prime Video.