

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

# ローカルファイルをアップロードする権限をユーザーに付与する
<a name="canvas-set-up-local-upload"></a>

ユーザーがローカルマシンから SageMaker Canvas にファイルをアップロードする場合は、ユーザーが使用している Amazon S3 バケットに CORS (クロスオリジンリソース共有) 設定をアタッチする必要があります。SageMaker AI ドメインまたはユーザープロファイルを設定または編集する際に、カスタム Amazon S3 の場所またはデフォルトの場所 (SageMaker AI が作成した、`s3://sagemaker-{{{Region}}}-{{{your-account-id}}}` のパターンを使用する名前の Amazon S3 バケット) を指定できます。SageMaker Canvas は、ユーザーがファイルをアップロードするたびに、そのデータをバケットに追加します。

ユーザーにローカルファイルをバケットにアップロードする権限を付与するには、以下の手順のいずれかを使用して CORS 設定をバケットにアタッチします。ドメインの設定を編集する際に、最初の方法を使用できます。この方法の場合、SageMaker AI が CORS 設定をバケットにアタッチすることを許可するようオプトインします。また、最初の方法を使用して、ドメイン内のユーザープロファイルを編集することもできます。2 つ目の方法は手動によるもので、CORS 設定を自分でバケットにアタッチします。

## SageMaker AI のドメイン設定方法
<a name="canvas-set-up-local-upload-domain"></a>

ローカルファイルをアップロードする権限をユーザーに付与するには、ドメイン設定で Canvas アプリケーション設定を編集します。これにより、クロスオリジンリソース共有 (CORS) 設定が Canvas ストレージ設定の Amazon S3 バケットにアタッチされ、ドメイン内のすべてのユーザーにローカルファイルを SageMaker Canvas にアップロードする権限が付与されます。デフォルトでは、新しいドメインを設定するときに権限オプションがオンになりますが、このオプションは必要に応じて切り替えることができます。

**注記**  
ストレージ設定の Amazon S3 バケットに既存の CORS 設定がある場合、ローカルファイルのアップロードオプションを有効にすると、既存の設定が新しい設定で上書きされます。

次の手順は、SageMaker AI コンソールでドメイン設定を編集して、このオプションを有効にする方法を説明しています。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) に移動します。

1. 左側のナビゲーションペインで **[ドメイン]** を選択します。

1. ドメインのリストで、ドメインを選択します。

1. ドメインの詳細ページで、**[アプリケーション設定]** タブを選択します。

1. **[Canvas]** セクションに移動し、**[編集]** を選択します。

1. **[ローカルファイルのアップロードを有効化]** トグルをオンにします。これによって CORS 設定がアタッチされ、ローカルファイルのアップロード権限が付与されます。

1. **[送信]** を選択します。

指定されたドメインのユーザーには、ローカルファイルアップロード権限が付与されています。

前述の手順に従って、ドメイン全体の設定ではなくユーザープロファイル設定に移動することで、ドメイン内の特定のユーザープロファイルに権限を付与することもできます。

## Amazon S3 バケットを使用する場合
<a name="canvas-set-up-local-upload-s3"></a>

SageMaker AI Amazon S3 バケットに CORS 設定を手動でアタッチする場合は、次の手順に従います。

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) にサインインします。

1. バケットを選択します。ドメインで SageMaker AI が作成したデフォルトのバケットが使用されている場合、バケットは `s3://sagemaker-{{{Region}}}-{{{your-account-id}}}` のパターンに従って名前が付けられます。

1. **[アクセス許可]** を選択します。

1. **[クロスオリジンリソース共有 (CORS)]** に移動します。

1. **[編集]** を選択します。

1. 以下の CORS ポリシーを追加します。

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. **[変更の保存]** を選択します。

以上の手順では、CORS ポリシーの `AllowedMethods` に `"POST"` が表示されている必要があります。

上記手順によって、次が作成されます。
+ 各ユーザーに割り当てられた IAM ロール。
+ 各ユーザーの Amazon SageMaker Studio Classic のランタイム権限。SageMaker Canvas ではユーザーからのコマンドを Studio Classic を使用して実行します。
+ ユーザーがローカルマシンからファイルをアップロードする場合、Amazon S3 バケットにアタッチされた CORS ポリシー。

CORS ポリシーを更新してもユーザーがローカルファイルをアップロードできない場合、前回のアップロード試行の CORS 設定がブラウザにキャッシュされている可能性があります。問題が発生する場合は、ブラウザのキャッシュをクリアして再試行するようにユーザーに伝えます。