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 account
for the AWS Control Tower instance. - Upload the folders:
templates
andcode
in yourS3 bucket
. Create a new one in the account if necessary. - (Optional) Make sure your S3 bucket is versioned.
- Go to
CloudFormation
service in your account. - On the left hand navigation navigate to
Stacks
. - Click on the
Create Stack
drop down on the top right hand side dropdown and selectWith new resources (standard)
. - Provide the S3 object link for
aws-workshop-deployment-template.yaml
in theAmazon S3 URL
text box as shown in the screenshot below. It should be located in thetemplates
folder. -
- Click on
Next
button. - Provide the
S3 bucket name
in theStep 2 Specify stack details
screen. - Leave everything default on
Step 3 Configure stack options
screen and clickcreate stack
button inStep 4 Review
screen after reviewing the necessary details. - This will create a new portfolio with name
Data Science Tools
and a productAmazon SageMaker Studio
in 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
Portfolios
in the left hand navigation. - Click on
Data Science Tools
portfolio to go to Portfolio details page. - Click on
Groups, roles, and users
tab, and thenAdd groups, roles, users
button. - On
Add groups, roles, and users access to portfolio
screen, click onRoles
tab. - Select the role starting with
AWSReservedSSO_AWSAdministratorAccess_
and click onAdd access
button on the top right hand side. - Navigate to
Products
on the left hand navigation. Now you will seeAmazon SageMaker Studio
product on theProducts
screen. - Select
Amazon SageMaker Studio
and click onLaunch product
button, follow the steps on the subsequent screen, this will launchAmazon SageMaker Studio
in your account inSSO
auth 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 Summary
verify the following:Status
should beInService
.Authentication method
asAWS 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 Studio
directly.
- 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 groups
button.
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.