随着 Amazon SageMaker 域,您可以使用 AWS身份和访问管理 (IAM) 执行角色与域执行角色不同。 在这种情况下,已注册的域用户无法使用模板创建项目,并且 亚马逊SageMaker JumpStart 解决方案。 这篇文章概述了一种为具有自定义执行角色的域用户启用 JumpStart 的自动化方法。 我们将引导您了解启用 JumpStart 的两个不同用例,以及如何以编程方式解决这些用例。 自动化解决方案可以帮助您扩展流程,为具有自定义角色的域用户启用 JumpStart,提高数据科学团队的工作效率,并 亚马逊SageMaker Studio 管理员。
JumpStart 是 Studio 中的一项功能,可帮助您快速轻松地开始使用机器学习 (ML)。 随着越来越多的客户越来越多地使用机器学习并采用 亚马逊SageMaker,JumpStart 使数据科学和 ML 团队更容易访问和微调 150 多个流行的开源模型,例如自然语言处理、对象检测和图像分类模型。
解决方案概述
JumpStart 需要一个为帐户和 Studio 用户启用项目模板的 SageMaker 域,如以下屏幕截图所示。
如果启用,此设置允许用户(配置为使用域执行角色)使用模板和 JumpStart 解决方案创建项目。 在用户的执行角色与域执行角色不同的情况下,即使在域上启用了 JumpStart,该用户也会保持禁用状态。 我们将在以下部分中讨论此自定义角色场景和自动化解决方案。
在此解决方案中,我们针对以下两种情况解决了该问题:
- 用例1 – 以自动方式为具有自定义角色的现有域用户启用 JumpStart,无论分配的应用程序如何
- 用例2 – 提供一个参考脚本,您可以使用该脚本以编程方式启用 JumpStart,同时加入具有自定义角色的新域用户
域用户入职
创建域后,您可以加入用户以启动应用程序(例如 Studio、RStudio 或 Canvas)。 您必须在创建过程中为域用户分配默认执行角色,如以下屏幕截图所示。
您可以为用户选择不同于域执行角色的角色。 但是,即使在域上启用了 JumpStart,这也可能会为此类用户禁用 JumpStart。 此行为是由于 SageMaker 不对自定义角色及其权限边界做出任何假设。 必须明确分配所需的权限和策略才能访问 SageMaker 在 AWS服务目录.
通过在 SageMaker 域控制面板上选择用户配置文件,您可以为每个用户手动启用 SageMaker 项目和 JumpStart。 但是,如果用户已经分配了一些应用程序,则此过程可能会很耗时。 这 编辑 右下角的按钮仅在没有应用程序分配给该用户时启用(请参见以下屏幕截图)。 您必须先删除分配的应用程序才能编辑用户配置文件。
禁用 JumpStart 功能的原因在编辑用户配置文件的第 2 步中很明显,其中一条消息指出“如果您的组织中有个人用户使用自定义执行角色,您需要在用户配置文件页面上启用它们。”
在以下部分中,我们将向您介绍两个涵盖现有和新域用户用例的自动化解决方案。
先决条件
作为此解决方案的一部分描述的步骤具有以下先决条件:
- 您已创建 SageMaker 域
- SageMaker 域身份验证方法是 IAM
- 分配给 SageMaker 域用户的自定义角色具有
AmazonSageMakerFullAccess
附加政策
为了 JumpStart 解决方案 要为用户启用,必须将 AWS Service Catalog 产品组合 Amazon SageMaker 解决方案和 ML Ops 产品导入账户,并且该产品组合必须与运行 SageMaker 的角色相关联。 角色关联是必要的,这样 Studio 才能调用与解决方案组合关联的 AWS Service Catalog API。
作为一般的最佳实践,我们建议在非生产环境中测试该过程,然后进行验证测试,以确保在对生产环境进行更改之前,一切都按照您的期望进行配置和运行。
用例 1:为所有具有自定义角色的现有域用户启用 JumpStart
让我们首先考虑现有用户的用例,并以自动方式为这些用户启用 JumpStart。
为此,我们创建了一个 AWS CloudFormation 模板 您可以在 SageMaker 域所在的同一区域中运行。
附件中包含的 CloudFormation 堆栈 jumpstart_solutions_resources.template.yaml
文件包含以下组件:
- AmazonSageMakerServiceCatalogProductsLaunchRole 和 AmazonSageMakerServiceCatalogProductsUseRole – 创建这两个 IAM 角色(如果它们尚不存在)。
- 1P产品使用角色策略 – 创建此策略由
AmazonSageMakerServiceCatalogProductsUseRole
,如果此角色尚不存在。 - setup_solutions_tests_portfolio - 安 AWS Lambda 通过调用 Boto3 API 执行 AWS Service Catalog 产品组合导入和角色关联的函数。 此函数在期间调用一次 CloudFormation 堆栈创建.
- LambdaIAMRole 角色 – 由函数使用
setup_solutions_tests_portfolio
用于调用 AWS Service Catalog 和 SageMaker API。 - 设置投资组合调用者 – 调用函数
setup_solutions_tests_portfolio
.
在 Lambda 函数作为 CloudFormation 部署的一部分运行后,它会改造所有现有的 SageMaker 域用户,以便为他们启用 JumpStart 和项目。 有关创建和监控 CloudFormation 堆栈的更多信息,请参阅 AWS CloudFormation 如何工作.
用例 2:为具有自定义角色的单个域用户启用 JumpStart
许多客户更喜欢通过以编程方式自动化来扩展域用户入职流程。 在本节中,我们提供了 Python 脚本参考,您可以将其用作入职流程的一部分,以便为具有自定义角色的新用户启用 JumpStart。 此 Python 脚本为给定的用户角色执行所需的关联。 调用此脚本的自动化进程必须有权使用 AWS Service Catalog 和 SageMaker API。 请参阅以下代码:
您可以单独调用脚本,也可以将其作为一个步骤嵌入到自动化流程中,以创建用户配置文件以加入 Studio。 有关使用 Boto3 的更多信息,请参阅 Boto3 参考.
清理
在所有自定义角色都启用使用 JumpStart 后,我们可以清理不再需要的资源。 您可以删除 Lambda 函数 setup_solutions_tests_portfolio
和 IAM 角色 LambdaIAMRole
由 CloudFormation 模板创建。 其他两个 IAM 角色, AmazonSageMakerServiceCatalogProductsLaunchRole
和 AmazonSageMakerServiceCatalogProductsUseRole
,并且关联的策略 1PProductUseRolePolicy(如果已创建)不得删除,因为它们需要存在才能访问 JumpStart。
结论
在这篇文章中,我们分享了以编程方式为现有用户和新用户的自定义角色启用 JumpStart 的步骤。 与往常一样,确保在部署到生产之前在非生产环境中验证此解决方案中提到的步骤。
试试看,如果您有任何问题,请在评论部分告诉我们!
额外的资源
有关详细信息,请参阅以下内容:
- Amazon SageMaker 资源
- 使用 AWS Service Catalog 自动化 Amazon SageMaker Studio 的集中部署
- 通过完全资源隔离为团队和组配置Amazon SageMaker Studio
作者简介
尼基尔·贾 是 Amazon Web Services 的高级技术客户经理。 他的重点领域包括 AI/ML 和分析。 业余时间,他喜欢和女儿一起打羽毛球和户外探险。
埃文·克拉维茨 是 Amazon Web Services 的一名软件工程师,致力于 SageMaker JumpStart。 他喜欢烹饪和在纽约市跑步。
- "
- 100
- ACCESS
- 账号管理
- 地址
- 所有类型
- 已经
- Amazon
- 亚马逊网络服务
- 分析
- APIs
- 的途径
- 应用
- 分配
- 社区
- 认证
- 自动化
- AWS
- 最佳
- 边界
- 呼叫
- 例
- 原因
- 城市
- 分类
- 码
- 注释
- 控制
- 创建
- 创造
- 合作伙伴
- data
- 数据科学
- 部署
- 部署
- 检测
- 不同
- 不会
- 域
- 容易
- 使
- 工程师
- 环境
- 一切
- 执行
- 期望
- 专栏
- 姓氏:
- 专注焦点
- 以下
- 功能
- 其他咨询
- 去
- 帮助
- 帮助
- 创新中心
- How To
- HTTPS
- 身分
- 图片
- 包括
- 个人
- 信息
- 问题
- IT
- 语言
- 发射
- 学习
- 机
- 机器学习
- 制作
- 经理
- 手动
- ML
- 模型
- 监控
- 自然
- 纽约
- 纽约市
- 前期洽谈
- 操作
- 秩序
- 组织
- 其他名称
- 户外活动
- 政策
- 政策
- 热门
- 个人档案
- 过程
- 生产
- 生产率
- 热销产品
- 本人简介
- 项目
- 项目
- 提供
- 很快
- 建议
- 必须
- 资源
- 资源
- 运行
- 鳞片
- 科学
- 服务
- 特色服务
- 设置
- 共用的,
- So
- 软件
- 软件工程师
- 解决方案
- 解决
- 堆
- 开始
- 州
- 工作室
- 团队
- 文案
- 测试
- 测试
- 通过
- 次
- 耗时的
- us
- 使用
- 用户
- 卷筒纸
- Web服务
- 中
- 加工