Launch Amazon SageMaker Studio using AWS Service Catalog and AWS SSO in AWS Control Tower Environment
- Launch Amazon SageMaker Studio using AWS Service Catalog and AWS SSO in AWS Control Tower Environment
In this workshop, we want to demonstrate how you can create a Amazon SageMaker Studio domain using AWS Service Catalog and AWS SSO in your AWS Control Tower environment.
It provides the easiest way to set up and govern a new, secure, multi-account AWS environment based on best practices established through AWS’ experience working with thousands of enterprises as they move to the cloud. With AWS Control Tower, builders can provision new AWS accounts in a few clicks, while you have peace of mind knowing your accounts conform to your company-wide policies.
It allows organizations to create and manage catalogs of IT services that are approved for use on AWS. These IT services can include everything from virtual machine images, servers, software, and databases to complete multi-tier application architectures. It allows you to centrally manage commonly deployed IT services, and helps you achieve consistent governance and meet your compliance requirements, while enabling users to quickly deploy only the approved IT services they need.
It makes it easy to centrally manage access to multiple AWS accounts and business applications and provide users with single sign-on access to all their assigned accounts and applications from one place. With AWS SSO, you can easily manage access and user permissions to all of your accounts in AWS Organizations centrally.
It is the first fully integrated development environment (IDE) for machine learning (ML). It provides a single, web-based visual interface where you can perform all ML development steps required to build, train, tune, debug, deploy, and monitor models.
It gives you an easy way to model a collection of related AWS and third-party resources, provision them quickly and consistently, and manage them throughout their lifecycle, by treating infrastructure as code.
Note: Although the workshop code can be used to launch Amazon SageMaker Studio without Control Tower, but this workshop is focused on launching it in a AWS Control Tower Environment.
If you plan to use it without AWS Control Tower, then refer to the following blog post for details:
Creating Amazon SageMaker Studio domains and user profiles using AWS CloudFormation
- AWS Control Tower should be set up. If its not, please follow the steps provided here to launch AWS Control Tower.
- At least two existing accounts associated with Users in the AWS SSO. You can follow the steps here to launch a new account and create a new user in AWS SSO (only steps 1 & 2).
- Make sure you don't have an existing Studio domain in your account, because at the time of writing this workshop, an AWS account is limited to one domain per region. Creating an extra domain will cause an error to occur.
We will use AWS CloudFormation to launch the portfolio and product in the AWS Service Catalog, therefore, we would need to upload it to S3 as outlined in the steps below.
- Login to AWS Management console with an
admin accountfor the AWS Control Tower instance. - Upload the folders:
templatesandcodein yourS3 bucket. Create a new one in the account if necessary. - (Optional) Make sure your S3 bucket is versioned.
- Go to
CloudFormationservice in your account. - On the left hand navigation navigate to
Stacks. - Click on the
Create Stackdrop down on the top right hand side dropdown and selectWith new resources (standard). - Provide the S3 object link for
aws-workshop-deployment-template.yamlin theAmazon S3 URLtext box as shown in the screenshot below. It should be located in thetemplatesfolder.
- Click on
Nextbutton. - Provide the
S3 bucket namein theStep 2 Specify stack detailsscreen. - Leave everything default on
Step 3 Configure stack optionsscreen and clickcreate stackbutton inStep 4 Reviewscreen after reviewing the necessary details. - This will create a new portfolio with name
Data Science Toolsand a productAmazon SageMaker Studioin your account. Once, the CloudFormation stack is complete, you can go to Service Catalog and launch your product.
- From AWS Management Console go to Service Catalog.
- Click on
Portfoliosin the left hand navigation. - Click on
Data Science Toolsportfolio to go to Portfolio details page. - Click on
Groups, roles, and userstab, and thenAdd groups, roles, usersbutton. - On
Add groups, roles, and users access to portfolioscreen, click onRolestab. - Select the role starting with
AWSReservedSSO_AWSAdministratorAccess_and click onAdd accessbutton on the top right hand side. - Navigate to
Productson the left hand navigation. Now you will seeAmazon SageMaker Studioproduct on theProductsscreen. - Select
Amazon SageMaker Studioand click onLaunch productbutton, follow the steps on the subsequent screen, this will launchAmazon SageMaker Studioin your account inSSOauth mode.
Once its launched you can see it under the Provisioned products section with status Available.
__
You can now access your new Amazon SageMaker Studio domain under Amazon SageMaker service in the AWS Management Console. In the console, you can click on Assign users to grant access to the studio domain.
- From From AWS Management Console go to Amazon SageMaker.
- On the left hand navigation click on
Amazon SageMaker Studio. - Under the
Studio Summaryverify the following:Statusshould beInService.Authentication methodasAWS Single Sign-On (SSO).
- Copy the Studio Address and save it separately, you can use it to share with your users whom you will grant access in the next step, that way they can access
Amazon SageMaker Studiodirectly.
- Copy the Studio Address and save it separately, you can use it to share with your users whom you will grant access in the next step, that way they can access
- On the top left corner under the SageMaker Studio Control Panel, click on
Assign users and groups. - Select the user(s) that you want to grant access to, and click on
Assign users and groupsbutton. 
Repeat the following steps for each user in the User name list.
- Choose the user.
- On the User Details page, for each non-failed app in the Apps list, choose Delete app.
- On the Delete app dialog, choose Yes, delete app, type delete in the confirmation field, and then choose Delete.
- When the Status for all apps show as Deleted, choose Delete user.
Important:
When a user is deleted, they lose access to the Amazon EFS volume that contains their data, including notebooks and other artifacts.
See CONTRIBUTING for more information.
This library is licensed under the MIT-0 License. See the LICENSE file.