在这篇文章中,我们展示了如何配置一个新的基于 OAuth 的身份验证功能以使用 雪花 in 亚马逊SageMaker数据牧马人. Snowflake是一个云数据平台,提供数据仓库到数据科学的数据解决方案。 雪花是一个 AWS 合作伙伴 拥有多项 AWS 认证,包括 AWS 在机器学习 (ML)、零售以及数据和分析方面的能力。
Data Wrangler 简化了数据准备和特征工程过程,通过为数据科学家提供单一可视化界面来选择和清理数据、创建特征以及在 ML 工作流中自动进行数据准备而无需编写任何代码,从而将所需时间从数周减少到几分钟。 您可以从多个数据源导入数据,例如 亚马逊简单存储服务 (Amazon S3), 亚马逊雅典娜, 亚马逊Redshift, 亚马逊电子病历和雪花。 有了这个新功能,您可以使用自己的身份提供者 (IdP),例如 高层云, 天蓝色广告或 平联邦 通过 Data Wrangler 连接到 Snowflake。
解决方案概述
在以下部分中,我们为管理员提供了设置 IdP、Snowflake 和 Studio 的步骤。 我们还详细介绍了数据科学家可以用来配置数据流、分析数据质量和添加数据转换的步骤。 最后,我们展示了如何导出数据流并使用以下方法训练模型 SageMaker自动驾驶仪.
先决条件
对于本演练,您应该具有以下先决条件:
- 对于管理员:
- 有权在 Snowflake 中创建存储集成和安全集成的 Snowflake 用户。
- 具有创建权限的 AWS 账户 AWS身份和访问管理 (IAM) 政策和角色。
- 配置 IDP 以注册 Data Wrangler 应用程序并设置授权服务器或 API 的访问权限。
- 对于数据科学家:
管理员设置
您可以让用户使用 IdP 访问 Snowflake,而不是让您的用户直接将他们的 Snowflake 凭据输入 Data Wrangler。
启用 Data Wrangler OAuth 对 Snowflake 的访问涉及以下步骤:
- 配置 IdP。
- 配置雪花。
- 配置 SageMaker Studio。
配置 IdP
要设置您的 IdP,您必须注册 Data Wrangler 应用程序并设置您的授权服务器或 API。
在 IdP 中注册 Data Wrangler 应用程序
有关 Data Wrangler 支持的 IdP,请参阅以下文档:
使用您的 IdP 提供的文档来注册您的 Data Wrangler 应用程序。 本节中的信息和程序可帮助您了解如何正确使用您的 IdP 提供的文档。
除了相应指南中的步骤之外,特定的定制在小节中被调用。
- 选择启动将 Data Wrangler 注册为应用程序的配置。
- 为 IdP 中的用户提供对 Data Wrangler 的访问权限。
- 通过将客户端凭证存储为 Secrets Manager 密钥来启用 OAuth 客户端身份验证。
- 使用以下格式指定重定向 URL:
https://domain-ID.studio.AWS Region.sagemaker.aws/jupyter/default/lab
.
您正在指定用于运行 Data Wrangler 的 SageMaker 域 ID 和 AWS 区域。 您必须为运行 Data Wrangler 的每个域和区域注册一个 URL。 来自未为其设置重定向 URL 的域和区域的用户将无法使用 IdP 进行身份验证以访问 Snowflake 连接。
- 确保您的 Data Wrangler 应用程序允许授权代码和刷新令牌授予类型。
在 IdP 中设置授权服务器或 API
在您的 IdP 中,您必须设置授权服务器或应用程序编程接口 (API)。 对于每个用户,授权服务器或 API 将令牌发送给以 Snowflake 作为受众的 Data Wrangler。
雪花使用的概念 角色 与 AWS 中使用的 IAM 角色不同。 您必须将 IdP 配置为使用任何角色以使用与 Snowflake 帐户关联的默认角色。 例如,如果用户有 systems administrator
作为其 Snowflake 配置文件中的默认角色,从 Data Wrangler 到 Snowflake 的连接使用 systems administrator
作为角色。
使用以下过程在您的 IdP 中设置授权服务器或 API:
- 从您的 IdP,开始设置服务器或 API 的过程。
- 配置授权服务器以使用授权代码和刷新令牌授予类型。
- 指定访问令牌的生命周期。
- 设置刷新令牌空闲超时。
空闲超时是刷新令牌在未使用时过期的时间。 如果您在 Data Wrangler 中安排作业,我们建议使空闲超时时间大于处理作业的频率。 否则,某些处理作业可能会失败,因为刷新令牌在它们运行之前就已过期。 当刷新令牌过期时,用户必须通过 Data Wrangler 访问他们与 Snowflake 建立的连接来重新进行身份验证。
请注意,Data Wrangler 不支持轮换刷新令牌。 使用轮换刷新令牌可能会导致访问失败或用户需要频繁登录。
如果刷新令牌过期,您的用户必须通过 Data Wrangler 访问他们与 Snowflake 建立的连接来重新进行身份验证。
- 指定
session:role-any
作为新范围。
对于 Azure AD,您还必须为范围指定一个唯一标识符。
设置 OAuth 提供程序后,您可以向 Data Wrangler 提供连接到提供程序所需的信息。 您可以使用 IdP 的文档来获取以下字段的值:
- 令牌网址 – IdP 发送给 Data Wrangler 的令牌的 URL
- 授权网址 – IdP 授权服务器的 URL
- 客户ID – IdP 的 ID
- 客户机密 – 只有授权服务器或 API 才能识别的秘密
- OAuth 范围 – 这仅适用于 Azure AD
配置雪花
要配置 Snowflake,请完成中的说明 从雪花导入数据.
使用您的 IdP 的 Snowflake 文档在 Snowflake 中设置外部 OAuth 集成。 见上一节 在 IdP 中注册 Data Wrangler 应用程序 有关如何设置外部 OAuth 集成的更多信息。
在 Snowflake 中设置安全集成时,确保激活 external_oauth_any_role_mode
.
配置 SageMaker Studio
您将字段和值存储在 Secrets Manager 密钥中,并将其添加到您用于 Data Wrangler 的 Studio 生命周期配置中。 生命周期配置是一个 shell 脚本,它会在用户登录 Studio 时自动加载存储在机密中的凭据。 有关创建机密的信息,请参阅 将硬编码的机密移至 AWS Secrets Manager. 有关在 Studio 中使用生命周期配置的信息,请参阅 将生命周期配置与 Amazon SageMaker Studio 结合使用.
为 Snowflake 凭据创建秘密
要为 Snowflake 凭证创建您的秘密,请完成以下步骤:
- 在Secrets Manager控制台上,选择 储存新秘密.
- 针对 秘密类型, 选择 其他类型的秘密.
- 将密钥的详细信息指定为键值对。
由于区分大小写,密钥名称需要小写字母。 如果您输入任何错误,Data Wrangler 会发出警告。 如果您愿意,可以将秘密值作为键值对键/值输入,或者使用 纯文本 选项。
以下是用于 Okta 的机密格式。 如果您使用的是 Azure AD,则需要添加 datasource_oauth_scope
领域。
- 使用您选择的 IdP 和应用程序注册后收集的信息更新上述值。
- 下一页.
- 针对 秘密名称, 添加前缀
AmazonSageMaker
(例如,我们的秘密是AmazonSageMaker-DataWranglerSnowflakeCreds
). - 在 标签 部分,添加带有键的标签
SageMaker
和价值true
. - 下一页.
- 其余字段是可选的; 选择 下一页 直到您可以选择 线上商城 来存储秘密。
存储密钥后,您将返回到 Secrets Manager 控制台。
- 选择您刚刚创建的密钥,然后检索密钥 ARN。
- 将其存储在您首选的文本编辑器中,以便稍后在创建 Data Wrangler 数据源时使用。
创建 Studio 生命周期配置
要在 Studio 中创建生命周期配置,请完成以下步骤:
- 在SageMaker控制台上,选择 生命周期配置 在导航窗格中。
- 创建配置.
- Jupyter 服务器应用程序.
- 创建一个新的生命周期配置或附加一个具有以下内容的现有配置:
配置创建一个名为的文件 ".snowflake_identity_provider_oauth_config"
,包含用户主文件夹中的秘密。
- 创建配置.
设置默认生命周期配置
完成以下步骤以将刚刚创建的生命周期配置设置为默认配置:
- 在SageMaker控制台上,选择 域名 在导航窗格中。
- 选择您将用于此示例的 Studio 域。
- 点击 环境 标签,在 个人 Studio 应用程序的生命周期配置 部分中,选择 附.
- 针对 来源, 选择 现有配置.
- 选择刚才的配置,然后选择 附加到域.
- 选择新配置并选择 设置为默认,然后选择 设置为默认 再次在弹出消息中。
您的新设置现在应该在下面可见 个人 Studio 应用程序的生命周期配置 作为默认值。
- 关闭 Studio 应用程序并重新启动以使更改生效。
数据科学家经验
在本节中,我们将介绍数据科学家如何连接到 Snowflake 作为 Data Wrangler 中的数据源并为 ML 准备数据。
创建新的数据流
要创建数据流,请完成以下步骤:
- 在SageMaker控制台上,选择 亚马逊SageMaker Studio 在导航窗格中。
- 开放工作室.
- 在工作室 主页 页面,选择 以可视化方式导入和准备数据. 或者,在 文件 下拉菜单中选择 全新,然后选择 SageMaker Data Wrangler 流程.
创建新流可能需要几分钟时间。
- 点击 导入日期 页面,选择 创建连接.
- 雪花 从数据源列表。
- 针对 身份验证方法,选择 OAuth的.
如果您没有看到 OAuth,请验证前面的生命周期配置步骤。
- 输入详细信息 雪花账户名 和 存储集成.
- 输入连接名称并选择 分享链接.
您将被重定向到 IdP 身份验证页面。 对于这个例子,我们使用 Okta。
- 输入您的用户名和密码,然后选择 登录.
身份验证成功后,您将被重定向到 Studio 数据流页面。
- 点击 从雪花导入数据 页面、浏览数据库对象或对目标数据运行查询。
- 在查询编辑器中,输入查询并预览结果。
在下面的例子中,我们加载 贷款数据 并从 5,000 行中检索所有列。
- 进口.
- 输入数据集名称(对于本文,我们使用
snowflake_loan_dataset
)并选择 地址.
您已重定向到 Prepare 页面,您可以在其中向数据添加转换和分析。
Data Wrangler 使摄取数据和执行数据准备任务变得容易,例如探索性数据分析、特征选择和特征工程。 在这篇关于数据准备的文章中,我们只介绍了 Data Wrangler 的一些功能; 您可以使用 Data Wrangler 通过简单直观的用户界面进行更高级的数据分析,例如特征重要性、目标泄漏和模型可解释性。
分析数据质量
使用 数据质量和洞察报告 对您导入到 Data Wrangler 中的数据进行分析。 Data Wrangler 根据采样数据创建报告。
- 在 Data Wrangler 流页面上,选择旁边的加号 资料类型,然后选择 获取数据洞察.
- 数据质量和洞察力报告 分析类型.
- 针对 目标列, 选择您的目标列。
- 针对 问题类型, 选择 分类.
- 创建.
洞察报告具有数据的简要摘要,其中包括一般信息,例如缺失值、无效值、特征类型、异常值计数等。 您可以下载报告或在线查看报告。
向数据添加转换
Data Wrangler 有 300 多个内置转换。 在本节中,我们使用其中一些转换来为 ML 模型准备数据集。
- 在 Data Wrangler 流页面上,选择加号,然后选择 添加变换.
如果您按照帖子中的步骤进行操作,则会在添加数据集后自动将您定向到此处。
- 验证并修改列的数据类型。
纵观这些列,我们发现 MNTHS_SINCE_LAST_DELINQ
和 MNTHS_SINCE_LAST_RECORD
最有可能表示为数字类型而不是字符串。
- 应用更改并添加步骤后,您可以验证列数据类型是否已更改为浮点型。
查看数据,我们可以看到字段 EMP_TITLE
, URL
, DESCRIPTION
及 TITLE
在我们的用例中可能不会为我们的模型提供价值,因此我们可以放弃它们。
- 添加步骤,然后选择 管理栏.
- 针对 改造,选择 下降柱.
- 针对 要删除的列,请指定
EMP_TITLE
,URL
,DESCRIPTION
及TITLE
. - 预览 和 地址.
接下来,我们要在数据集中寻找分类数据。 Data Wrangler 具有内置功能,可使用序数和单热编码对分类数据进行编码。 查看我们的数据集,我们可以看到 TERM
, HOME_OWNERSHIP
及 PURPOSE
列本质上似乎都是分类的。
- 添加另一个步骤并选择 分类编码.
- 针对 改造,选择 一键编码.
- 针对 输入栏,选择
TERM
. - 针对 输出样式,选择 列.
- 将所有其他设置保留为默认设置,然后选择 预览 和 地址.
HOME_OWNERSHIP
列有四个可能的值: RENT
, MORTGAGE
, OWN
, 和别的。
- 重复上述步骤,对这些值应用 one-hot 编码方法。
最后, PURPOSE
列有几个可能的值。 对于这些数据,我们也使用 one-hot 编码方法,但我们将输出设置为向量而不是列。
- 针对 改造,选择 一键编码.
- 针对 输入栏,选择
PURPOSE
. - 针对 输出样式,选择 向量.
- 针对 输出栏,我们称此列
PURPOSE_VCTR
.
这样可以保留原 PURPOSE
列,如果我们决定以后使用它。
- 将所有其他设置保留为默认设置,然后选择 预览 和 地址.
导出数据流
最后,我们使用 SageMaker Processing 作业将整个数据流导出到特征存储,这会创建一个预填充代码的 Jupyter notebook。
- 在数据流页面上,选择加号和 输出到.
- 选择导出位置。 对于我们的用例,我们选择 SageMaker功能商店.
导出的笔记本现在可以运行了。
导出数据并使用 Autopilot 训练模型
现在我们可以使用 亚马逊SageMaker自动驾驶仪.
- 在数据流页面上,选择 产品培训 标签。
- 针对 亚马逊 S3 位置, 输入要保存数据的位置。
- 出口和培训.
- 指定设置中的 目标和特点, 训练方法, 部署和高级设置及 查看并创建 部分。
- 创建实验 为您的问题找到最佳模型。
清理
如果您完成了 Data Wrangler 的工作, 关闭您的 Data Wrangler 实例 以免产生额外费用。
结论
在这篇文章中,我们演示了连接 Data Wrangler 使用 OAuth 到 Snowflake,转换和分析数据集,最后将其导出到数据流中,以便在 Jupyter notebook 中使用。 最值得注意的是,我们创建了一个数据准备管道,而无需编写任何代码。
要开始使用 Data Wrangler,请参阅 使用 Amazon SageMaker Data Wrangler 准备 ML 数据.
关于作者
阿贾伊戈文达拉姆 是 AWS 的高级解决方案架构师。 他与使用 AI/ML 解决复杂业务问题的战略客户合作。 他的经验在于为适度到大规模的 AI/ML 应用程序部署提供技术指导和设计协助。 他的知识范围从应用程序架构到大数据、分析和机器学习。 他喜欢边休息边听音乐、体验户外活动以及与亲人共度时光。
博斯科阿尔伯克基 是 AWS 的高级合作伙伴解决方案架构师,在使用企业数据库供应商和云提供商的数据库和分析产品方面拥有超过 20 年的经验。 他曾帮助大型科技公司设计数据分析解决方案,并带领工程团队设计和实施数据分析平台和数据产品。
马特马齐洛 是 Snowflake 的高级合作伙伴销售工程师。 他在数据科学和机器学习领域拥有 10 年的咨询和行业组织工作经验。 Matt 拥有在营销、销售、运营、临床和财务等领域的许多不同组织中开发和部署 AI 和 ML 模型的经验,并在咨询角色中提供建议。
Huong Nguyen 是 AWS 的 Amazon SageMaker Data Wrangler 产品负责人。 她拥有 15 年的经验,为企业和消费者空间创造客户至上和数据驱动的产品。 在业余时间,她喜欢有声读物、园艺、徒步旅行以及与家人和朋友共度时光。
- SEO 支持的内容和 PR 分发。 今天得到放大。
- 柏拉图区块链。 Web3 元宇宙智能。 知识放大。 访问这里。
- Sumber: https://aws.amazon.com/blogs/machine-learning/access-snowflake-data-using-oauth-based-authentication-in-amazon-sagemaker-data-wrangler/
- :是
- $UP
- 000
- 10
- 100
- 15 年
- 20 年
- 7
- 8
- 9
- a
- Able
- 关于
- ACCESS
- 访问数据
- 访问
- 账号管理
- 横过
- Ad
- 增加
- 额外
- 管理员
- 推进
- 高级
- 指导
- 后
- AI
- AI / ML
- 所有类型
- Amazon
- 亚马逊SageMaker
- 亚马逊SageMaker数据牧马人
- 检测值
- 分析
- 分析
- 分析
- 分析
- 和
- 另一个
- API
- 应用
- 出现
- 应用领域
- 使用
- 应用
- 的途径
- 应用
- 架构
- 保健
- 地区
- AS
- 帮助
- 相关
- At
- 连接
- 听众
- 音频
- 认证
- 认证
- 授权
- 自动化
- 自动
- AWS
- Azure
- BE
- 因为
- before
- 开始
- 最佳
- 大
- 大数据运用
- 身体
- 书籍
- 内建的
- 商业
- by
- 呼叫
- 被称为
- CAN
- 能力
- 案件
- 喵星人
- 更改
- 选择
- 客户
- 临床资料
- 云端技术
- 码
- 柱
- 列
- 公司
- 完成
- 复杂
- 概念
- 配置
- 分享链接
- 连接
- 地都
- 安慰
- 咨询
- 消费者
- 内容
- 可以
- 外壳
- 覆盖
- 创建信息图
- 创建
- 创建
- 创造
- 资历
- 合作伙伴
- data
- 数据分析
- 数据分析
- 数据平台
- 资料准备
- 数据科学
- 数据科学家
- 数据驱动
- 数据库
- 决定
- 默认
- 证明
- 部署
- 部署
- 设计
- 设计
- 细节
- 详情
- 发展
- 不同
- 方向
- 直接
- 不同
- 文件
- 不会
- 域
- 别
- 向下
- 下载
- 下降
- 每
- 编辑
- 效果
- 或
- enable
- 工程师
- 工程师
- 输入
- 企业
- 环境
- 例子
- 现有
- 体验
- 经历
- 探索性数据分析
- 出口
- 外部
- 失败
- 家庭
- 专栏
- 特征
- 费用
- 少数
- 部分
- 字段
- 文件
- 终于
- 金融
- 找到最适合您的地方
- 浮动
- 流
- 以下
- 针对
- 格式
- 频率
- 频繁
- 朋友
- 止
- 功能
- 其他咨询
- 得到
- 给
- 授予
- 更大的
- 指南
- 有
- 有
- 帮助
- 帮助
- 相关信息
- 主页
- 创新中心
- How To
- HTML
- HTTP
- HTTPS
- ID
- 识别码
- 鉴定
- 身分
- 空闲
- 实施
- 进口
- 重要性
- in
- 包括
- 包含
- 不正确
- 行业中的应用:
- 信息
- 输入
- 洞察
- 可行的洞见
- 说明
- 积分
- 集成
- 接口
- 直观的
- 参与
- IT
- 工作
- 工作机会
- JPG
- 键
- 知识
- 大
- 大规模
- 领导者
- 学习
- 导致
- 谎言
- 生命周期
- 一生
- 喜欢
- 容易
- 清单
- 听力
- 加载
- 负载
- 圖書分館的位置
- 看
- 寻找
- 爱
- 机
- 机器学习
- 制成
- 使
- 制作
- 制作
- 经理
- 许多
- 营销
- 的话
- 可能
- 分钟
- 失踪
- ML
- 模型
- 模型
- 修改
- 更多
- 最先进的
- 多
- 音乐
- 姓名
- 名称
- 自然
- 旅游导航
- 需求
- 需要
- 需要
- 全新
- 下页
- 特别是
- 笔记本
- 数
- OAuth的
- 对象
- of
- 奥克塔
- on
- 一
- 在线
- 运营
- 附加选项
- 组织
- 原版的
- 其他名称
- 除此以外
- 户外活动
- 产量
- 己
- 页
- 对
- 面包
- 合伙人
- 密码
- 演出
- 权限
- 个人
- 管道
- 平台
- 平台
- 柏拉图
- 柏拉图数据智能
- 柏拉图数据
- 加
- 政策
- 弹出式
- 可能
- 帖子
- 首选
- Prepare
- 先决条件
- 预览
- 以前
- 市场问题
- 问题
- 程序
- 过程
- 处理
- 产品
- 核心产品
- 本人简介
- 代码编程
- 正确
- 提供
- 提供
- 提供者
- 供应商
- 提供
- 优
- 质量
- 宁
- 准备
- 建议
- 重定向
- 减少
- 地区
- 寄存器
- 注册
- 注册
- 重新开张
- 报告
- 代表
- 要求
- 那些
- REST的
- 导致
- 成果
- 零售
- 角色
- 角色
- 运行
- 运行
- sagemaker
- 销售
- 调度
- 科学
- 科学家
- 科学家
- 范围
- 秘密
- 部分
- 部分
- 保安
- 选择
- 前辈
- 灵敏度
- 集
- 设置
- 设置
- 几个
- 壳
- 应该
- 显示
- 签署
- 简易
- 单
- So
- 解决方案
- 解决
- 一些
- 来源
- 来源
- 剩余名额
- 花费
- 开始
- 启动
- 步
- 步骤
- 存储
- 商店
- 存储
- 存储
- 善用
- 串
- 工作室
- 成功
- 这样
- 概要
- SUPPORT
- 支持
- 行李牌
- 采取
- 需要
- 目标
- 针对
- 任务
- 队
- 文案
- 专业技术
- 科技公司
- 这
- 信息
- 其
- 他们
- 博曼
- 通过
- 次
- 至
- 象征
- 令牌
- 培训
- 改造
- 转换
- 转型
- 类型
- 下
- 理解
- 独特
- 更新
- 网址
- 使用
- 用例
- 用户
- 用户界面
- 用户
- 折扣值
- 价值观
- 厂商
- 确认
- 通过
- 查看
- 可见
- 演练
- 警告
- 周
- 井
- 这
- 而
- WHO
- 全
- 将
- 中
- 也完全不需要
- 工作
- 工作流程
- 加工
- 合作
- 写
- 写作
- 年
- 完全
- 您一站式解决方案
- 和风网