

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# OAuth を使用してデータソースへの接続を設定する
<a name="canvas-setting-up-oauth"></a>

次のセクションでは、SageMaker Canvas からデータソースへの OAuth 接続を設定するために必要な手順について説明します。[OAuth](https://oauth.net/2/) は、パスワードを共有せずにリソースへのアクセスを許可するための一般的な認証プラットフォームです。OAuth を使用すると、Canvas からデータにすばやく接続し、モデルを構築するためにデータをインポートできます。Canvas は現在、Snowflake および Salesforce Data Cloud 向けの OAuth をサポートしています。

**注記**  
各データソースで確立できる OAuth 接続は 1 つのみです。

## Salesforce Data Cloud の OAuth を設定する
<a name="canvas-setting-up-oauth-salesforce"></a>

Salesforce Data Cloud に OAuth を設定する一般的な手順は次のとおりです。

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 で上記タスクを実行する方法の詳細については、Salesforce Data Cloud からのデータのインポートに関する Data Wrangler のドキュメントの「[Salesforce データクラウドからデータをインポートする](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 SageMaker AI ドメインまたはユーザープロファイルに追加する必要があります。ドメインとユーザープロファイルの両方にシークレットを追加できますが、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. **[ID プロバイダー]** で、**[SALESFORCE]** を選択します。

   1. **[クライアント ID]**、**[クライアントシークレット]**、**[認可 URL]**、および**[トークン URL]**に、前の手順で Salesforce Data Cloud から入手した情報をすべて入力します。

1. ドメインまたはユーザープロファイルの設定を保存します。

これで、Canvas から Salesforce Data Cloud のデータへの接続を作成できました。

## Snowflake に OAuth を設定する
<a name="canvas-setting-up-oauth-snowflake"></a>

Snowflake の認証を設定するために、Canvas はユーザーが Canvas に認証情報を直接入力する代わりに使用できる ID プロバイダーをサポートしています。

Canvas がサポートする ID プロバイダーに関する 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)

一般的な手順を以下に示します。これらの手順を実行する方法の詳細については、Snowflake からのデータのインポートに関する Data Wrangler のドキュメントの「[Snowflake OAuth アクセスのセットアップ](data-wrangler-import.md#data-wrangler-snowflake-oauth-setup)」セクションを参照してください。

Snowflake 用の OAuth を設定するには、次の手順に従います。

1. ID プロバイダーを含むアプリケーションとして Canvas を登録します。登録するには Canvas へのリダイレクト URL を指定する必要があります。このリダイレクト URL は `https://<domain-id>.studio.<region>.sagemaker.aws/canvas/default` の形式に従う必要があります。

1. ID プロバイダー内で、Canvas に OAuth トークンを送信するサーバーまたは API を作成して、Canvas が Snowflake にアクセスできるようにします。サーバーをセットアップする際は、認可コードと更新トークンの付与タイプを使用し、アクセストークンの有効期間を指定して、更新トークンポリシーを設定します。また、Snowflake の外部 OAuth セキュリティ統合で `external_oauth_any_role_mode` を有効にします。

1. ID プロバイダーから、トークン 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 の場合、シークレットには `datasource_oauth_scope` フィールドとして OAuth スコープ認証情報も含める必要があります。

アイデンティティプロバイダーとシークレットを設定したら、情報を保存するための [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) シークレットを作成し、それを Amazon SageMaker AI ドメインまたはユーザープロファイルに追加する必要があります。ドメインとユーザープロファイルの両方にシークレットを追加できますが、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. **[ID プロバイダー]** で、**[SNOWFLAKE]** を選択します。

   1. **[クライアント ID]**、**[クライアントシークレット]**、**[認可 URL]**、および**[トークン URL]**に、前の手順で ID プロバイダーから入手した情報をすべて入力します。

1. ドメインまたはユーザープロファイルの設定を保存します。

これで、Canvas から Snowflake のデータへの接続を作成できました。