

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

# 使用设置与数据源的连接 OAuth
<a name="canvas-setting-up-oauth"></a>

以下部分描述了从 C SageMaker anvas 建立与数据源的 OAuth 连接时必须采取的步骤。 [OAuth](https://oauth.net/2/)是一个常用的身份验证平台，用于在不共享密码的情况下授予对资源的访问权限。使用 OAuth，您可以从 Canvas 快速连接到您的数据并将其导入以构建模型。Canvas 目前支持 OAuth Snowflake 和 Salesforce 数据云。

**注意**  
只能为每个数据源建立一个 OAuth 连接。

## 为 Sales OAuth force 数据云做好准备
<a name="canvas-setting-up-oauth-salesforce"></a>

要设置 Sales OAuth force 数据云，请按照以下一般步骤操作：

1. 登录 Salesforce Data Cloud。

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

   1. 启用 OAuth 设置。

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

   1. 复制用户密钥。

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

有关在 Salesforce Data Cloud 中执行上述任务的更详细说明，请参阅 Data Wrangler 文档中有关从 Salesforce Data Cloud 导入数据的[从 Salesforce Data Cloud 导入数据](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud)。

启用从 Salesforce Data Cloud 的访问权限并获取您的连接信息后，您必须创建一个[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)密钥来存储该信息，并将其添加到您的 Amazon A SageMaker I 域或用户个人资料中。请注意，您可以在域和用户配置文件中同时添加密钥，但 Canvas 会首先在用户配置文件中查找密钥。

要在域或用户配置文件中添加密钥，请执行以下操作：

1. 前往 [Amazon SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)。

1. 在导航窗格中选择**域**。

1. 从**域**列表中选择您的域。

   1. 如果要在域中添加密钥，请执行以下操作：

      1. 选择域。

      1. 在**域设置**页面上，选择**域设置**选项卡。

      1. 选择**编辑**。

   1. 如果要在用户配置文件中添加密钥，请执行以下操作：

      1. 选择用户的域。

      1. 在**域设置**页面上，选择用户配置文件。

      1. 在**用户详细信息**页面上，选择**编辑**。

1. 在导航窗格中，选择 **Canvas 设置**。

1. 对于**OAuth 设置**，请选择**添加 OAuth 配置**。

1. 对于**数据来源**，选择 **Salesforce Data Cloud**。

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

   1. 对于**身份提供商**，选择 **SALESFORCE**。

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

1. 保存域或用户配置文件设置。

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

## 为 Snowfla OAuth ke 做好准备
<a name="canvas-setting-up-oauth-snowflake"></a>

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

以下是 Canvas 支持的身份供应商的 Snowflake 文档链接：
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

下面的过程描述了您必须采取的一般步骤。有关执行这些步骤的更详细说明，请参阅 Data Wrangler 文档中有关从 Snowflake 导入数据的[设置 Snowflake 访问权限 OAuth](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)部分。

要设置 Snow OAuth flake，请执行以下操作：

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

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

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

1. 将上一步中检索到的信息存储在 AWS 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"}
      ```

   1. 对于 Azure AD，密钥还应包括 OAuth 范围凭据作为`datasource_oauth_scope`字段。

配置身份提供商和密钥后，您必须创建一个用于存储信息的[AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)密钥并将其添加到您的 Amazon A SageMaker I 域或用户个人资料中。请注意，您可以在域和用户配置文件中同时添加密钥，但 Canvas 会首先在用户配置文件中查找密钥。

要在域或用户配置文件中添加密钥，请执行以下操作：

1. 前往 [Amazon SageMaker AI 控制台](https://console.aws.amazon.com/sagemaker)。

1. 在导航窗格中选择**域**。

1. 从**域**列表中选择您的域。

   1. 如果要在域中添加密钥，请执行以下操作：

      1. 选择域。

      1. 在**域设置**页面上，选择**域设置**选项卡。

      1. 选择**编辑**。

   1. 如果要在用户配置文件中添加密钥，请执行以下操作：

      1. 选择用户的域。

      1. 在**域设置**页面上，选择用户配置文件。

      1. 在**用户详细信息**页面上，选择**编辑**。

1. 在导航窗格中，选择 **Canvas 设置**。

1. 对于**OAuth 设置**，请选择**添加 OAuth 配置**。

1. 对于**数据来源**，选择 **Snowflake**。

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

   1. 对于**身份提供商**，选择 **SNOWFLAKE**。

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

1. 保存域或用户配置文件设置。

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