使用 OAuth 设置与数据来源的连接 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 OAuth 设置与数据来源的连接

以下部分介绍了在 Canvas 中设置与数据源 SageMaker 的 OAuth 连接时必须采取的步骤。OAuth 是一种通用的身份验证平台,用于在不共享密码的情况下授予对资源的访问权。通过 OAuth,您可以从 Canvas 快速连接数据并导入数据以构建模型。Canvas 目前支持 Snowflake 和 Salesforce Data Cloud 的 OAuth。

注意

每个数据来源只能建立一个 OAuth 连接。

为 Salesforce Data Cloud 设置 OAuth

要为 Salesforce Data Cloud 设置 OAuth,请执行以下常规步骤:

  1. 登录 Salesforce Data Cloud。

  2. 在 Salesforce Data Cloud 中,创建一个新的应用程序连接并执行以下操作:

    1. 启用 OAuth 设置。

    2. 当系统提示输入回调 URL(或访问数据的资源的 URL)时,请指定 Canvas 应用程序的 URL。Canvas 应用程序 URL 采用以下格式:https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default

    3. 复制用户密钥。

    4. 复制授权 URL 和令牌 URL。

有关在 Salesforce Data Cloud 中执行上述任务的更详细说明,请参阅 Data Wrangler 文档中有关从 Salesforce Data Cloud 导入数据的从 Salesforce Data Cloud 导入数据

启用从 Salesforce Data Cloud 的访问权限并获取您的连接信息后,您必须创建一个Amazon Secrets Manager密钥来存储该信息,并将其添加到您的亚马逊 SageMaker 域名或用户个人资料中。请注意,您可以为域名和用户个人资料添加密码,但是 Canvas 会先在用户配置文件中查找密钥。

要将密钥添加到您的域名或用户个人资料中,请执行以下操作:

  1. 前往 Amazon SageMaker 控制台

  2. 在导航窗格中选择域名

  3. 名列表中选择您的域名。

    1. 如果将您的密钥添加到您的域中,请执行以下操作:

      1. 选择域名。

      2. 域名设置页面上,选择域名设置选项卡。

      3. 选择编辑

    2. 如果要在用户配置文件中添加密钥,请执行以下操作:

      1. 选择用户的域。

      2. 域名设置页面上,选择用户个人资料。

      3. 用户详细信息页面上,选择编辑

  4. 在导航窗格中,选择 Canvas 设置

  5. 对于 OAuth 设置,选择添加 OAuth 配置

  6. 对于数据来源,选择 Salesforce Data Cloud

  7. 对于密钥设置,选择创建新密钥。或者,如果您已经使用凭据创建了 Amazon Secrets Manager 密钥,请输入该密钥的 ARN。如果创建新密钥,请执行以下操作:

    1. 对于身份提供商,选择 SALESFORCE

    2. 对于客户端 ID客户端密钥授权 URL令牌 URL,请输入您在上一个过程中从 Salesforce Data Cloud 收集的所有信息。

  8. 保存您的域名或用户个人资料设置。

现在,您应该可以从 Canvas 创建与 Salesforce Data Cloud 中数据的连接。

为 Snowflake 设置 OAuth

要为 Snowflake 设置身份验证,Canvas 支持身份提供商,您可以使用它们来代替让用户直接在 Canvas 中输入凭证。

以下是 Canvas 支持的身份供应商的 Snowflake 文档链接:

下面的过程描述了您必须采取的一般步骤。有关执行这些步骤的更详细说明,请参阅 Data Wrangler 文档中有关从 Snowflake 导入数据的设置 Snowflake OAuth 访问权限部分。

要为 Snowflake 设置 OAuth,请执行以下操作:

  1. 在身份提供商处将 Canvas 注册为应用程序。这需要指定一个重定向到 Canvas 的 URL,该 URL 应遵循以下格式:https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default

  2. 在身份提供商中,创建一个服务器或 API,将 OAuth 令牌发送到 Canvas,这样 Canvas 就可以访问 Snowflake。设置服务器时,请使用授权码和刷新令牌授权类型,指定访问令牌的有效期,并设置刷新令牌策略。此外,在 Snowflake 的外部 OAuth 安全集成中,启用 external_oauth_any_role_mode

  3. 从身份提供商处获取以下信息:令牌 URL、授权 URL、客户端 ID、客户端密钥。对于 Azure AD,还要检索 OAuth 范围凭证。

  4. 将上一步中检索到的信息存储在 Amazon Secrets Manager 密钥中。

    1. 对于 Okta 和 Ping Federate,密钥的格式如下:

      {"token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token", "client_id":"example-client-id", "client_secret":"example-client-secret", "identity_provider":"OKTA"|"PING_FEDERATE", "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"}
    2. 对于 Azure AD,密钥还应该包括 OAuth 范围凭证作为 datasource_oauth_scope 字段。

配置身份提供商和密钥后,您必须创建一个用于存储信息的Amazon Secrets Manager密钥并将其添加到您的 Amazon SageMaker 域名或用户个人资料中。请注意,您可以为域名和用户个人资料添加密码,但是 Canvas 会先在用户配置文件中查找密钥。

要将密钥添加到您的域名或用户个人资料中,请执行以下操作:

  1. 前往 Amazon SageMaker 控制台

  2. 在导航窗格中选择域名

  3. 名列表中选择您的域名。

    1. 如果将您的密钥添加到您的域中,请执行以下操作:

      1. 选择域名。

      2. 域名设置页面上,选择域名设置选项卡。

      3. 选择编辑

    2. 如果要在用户配置文件中添加密钥,请执行以下操作:

      1. 选择用户的域。

      2. 域名设置页面上,选择用户个人资料。

      3. 用户详细信息页面上,选择编辑

  4. 在导航窗格中,选择 Canvas 设置

  5. 对于 OAuth 设置,选择添加 OAuth 配置

  6. 对于数据来源,选择 Snowflake

  7. 对于密钥设置,选择创建新密钥。或者,如果您已经使用凭据创建了 Amazon Secrets Manager 密钥,请输入该密钥的 ARN。如果创建新密钥,请执行以下操作:

    1. 对于身份提供商,选择 SNOWFLAKE

    2. 对于客户端 ID客户端密钥授权 URL令牌 URL,请输入您在上一个过程中从身份供应商处收集的所有信息。

  8. 保存您的域名或用户个人资料设置。

现在,您应该能够从 Canvas 创建到 Snowflake 中的数据的连接。