

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

# ユーザー向けに SageMaker Canvas を設定する
<a name="setting-up-canvas-sso"></a>

Amazon SageMaker Canvas を設定するには、以下の操作を実行します。
+ Amazon SageMaker AI ドメインを作成する
+ ドメインのユーザープロファイルを作成する。
+ ユーザーの Okta Single Sign On (Okta SSO) を設定する。
+ モデルのリンク共有を有効にする。

Okta Single Sign On (Okta SSO) を使用して Amazon SageMaker Canvas へのアクセス権をユーザーに付与します。SageMaker Canvas は SAML 2.0 SSO メソッドをサポートしています。以下のセクションでは、Okta SSO の設定手順について説明します。

ドメインを設定するには、「[Amazon SageMaker AI のカスタムセットアップを使用する](onboard-custom.md)」を参照し、IAM 認証を使用してドメインを設定する手順に従います。以下は、このセクションの手順を実行する際に役立つ情報です。
+ プロジェクトの作成に関する手順は無視できます。
+ 追加の Amazon S3 バケットへのアクセス権を提供する必要はありません。ユーザーは、ロールの作成時に指定されたデフォルトのバケットを使用できます。
+ ユーザーにノートブックをデータサイエンティストと共有する権限を付与するには、**[ノートブックの共有設定]** を有効にします。
+ Amazon SageMaker Studio Classic バージョン 3.19.0 以降を使用します。Amazon SageMaker Studio Classic の更新については、「[Amazon SageMaker Studio Classic をシャットダウンして更新する](studio-tasks-update-studio.md)」を参照してください。

次の手順に従って、Okta を設定します。以下のすべての手順で、`IAM-role` に同じ IAM ロールを指定します。

## SageMaker Canvas アプリケーションを Okta に追加する
<a name="canvas-set-up-okta"></a>

Okta のサインオン方法を設定します。

1. Okta 管理ダッシュボードにサインインします。

1. **[アプリケーションの追加]** を選択します。**[AWS アカウントフェデレーション]** を検索します。

1. **[Add]** (追加) を選択します。

1. オプション: 名前を「**Amazon SageMaker Canvas**」に変更します。

1. [**次へ**] を選択します。

1. **[サインオン]** メソッドで、**[SAML 2.0]** を選択します。

1. **[ID プロバイダーメタデータ]** を選択して、メタデータ XML ファイルを開きます。ファイルをローカルに保存します。

1. **[完了]** を選択します。

## IAM に ID フェデレーションを設定する
<a name="set-up-id-federation-IAM"></a>

AWS Identity and Access Management (IAM) は、 AWS アカウントへのアクセスを取得するために使用する AWS サービスです。IAM アカウント AWS を通じて にアクセスできます。

1.  AWS コンソールにサインインします。

1. **[AWS Identity and Access Management (IAM)]** を選択します。

1. **[ID プロバイダー]** を選択します。

1. **[プロバイダーの作成]** を選択します。

1. **[プロバイダーの設定]** で、以下を指定します。
   + **プロバイダーのタイプ** - ドロップダウンリストから **[SAML]** を選択します。
   + **プロバイダー名** - **[Okta]** を指定します。
   + **[メタデータドキュメント]** - 「[SageMaker Canvas アプリケーションを Okta に追加する](#canvas-set-up-okta)」の手順 7 でローカルに保存した XML ドキュメントをアップロードします。

1. **[ID プロバイダー]** で ID プロバイダーを探します。その **[プロバイダー ARN]** 値をコピーします。

1. **[ロール]** で、Okta SSO アクセスに使用する IAM ロールを選択します。

1. IAM ロールの **[信頼関係]** で、**[信頼関係の編集]** を選択します。

1. コピーした **[プロバイダー ARN]** 値を指定して IAM の信頼関係ポリシーを変更し、以下のポリシーを追加します。

------
#### [ JSON ]

****  

   ```
     {
     "Version":"2012-10-17",		 	 	 
       "Statement": [
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:AssumeRoleWithSAML",
             "sts:TagSession"
           ],
           "Condition": {
             "StringEquals": {
               "SAML:aud": "https://signin.aws.amazon.com/saml"
             }
           }
         },
         {
           "Effect": "Allow",
           "Principal": {
             "Federated": "arn:aws:iam::111122223333:saml-provider/Okta"
           },
           "Action": [
             "sts:SetSourceIdentity"
           ]
         }
       ]
     }
   ```

------

1. **[許可]** に、以下のポリシーを追加します。

------
#### [ JSON ]

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AmazonSageMakerPresignedUrlPolicy",
              "Effect": "Allow",
              "Action": [
                   "sagemaker:CreatePresignedDomainUrl"
              ],
              "Resource": "*"
         }
     ]
   }
   ```

------

## Okta で SageMaker Canvas を設定する
<a name="canvas-configure-okta"></a>

以下の手順に従って、Okta で Amazon SageMaker Canvas を設定します。

Okta を使用するように Amazon SageMaker Canvas を設定するには、このセクションの手順に従います。各 **[SageMakerStudioProfileName]** フィールドに、固有のユーザー名を指定する必要があります。例えば、`user.login` を値として使用できます。ユーザー名が SageMaker Canvas プロファイル名と異なる場合は、一意に識別する別の属性を選択します。例えば、プロファイル名には従業員の ID 番号を使用できます。

**[属性]** に設定できる値の例については、後の手順のコードを参照してください。

1. **[ディレクトリ]** で、**[グループ]** を選択します。

1. `sagemaker#canvas#IAM-role#AWS-account-id` のパターンを使用してグループを追加します。

1. Okta で、**[AWS アカウントフェデレーション]** のアプリケーション統合設定を開きます。

1.  AWS アカウントフェデレーションアプリケーションの**サインオン**を選択します。

1. **[編集]** を選択し、以下を指定します。
   + SAML 2.0
   + **デフォルトのリレーステート** - https://*Region*.console.aws.amazon.com/sagemaker/home?region=*Region*\$1/studio/canvas/open/*StudioId* Studio Classic ID は、コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) で確認できます。

1. **[属性]** を選択します。

1. **[SageMakerStudioProfileName]** フィールドで、各ユーザー名に固有の値を指定します。ユーザー名は、 AWS コンソールで作成したユーザー名と一致する必要があります。

   ```
   Attribute 1:
   Name: https://aws.amazon.com/SAML/Attributes/PrincipalTag:SageMakerStudioUserProfileName 
   Value: ${user.login}
   
   Attribute 2:
   Name: https://aws.amazon.com/SAML/Attributes/TransitiveTagKeys
   Value: {"SageMakerStudioUserProfileName"}
   ```

1. **[環境タイプ]** を選択します。**[通常の AWS]** を選択します。
   + 環境タイプが一覧表示されていない場合は、**[ACS URL]** フィールドに ACS URL を設定できます。環境タイプが一覧表示されている場合は、ACS URL を入力する必要はありません。

1. **[ID プロバイダー ARN]** で、前の手順のステップ 6 で使用した ARN を指定します。

1. **[セッション期間]** を指定します。

1. **[すべてのロールを結合]** を選択します。

1. 以下のフィールドを指定して、**[グループマッピングを使用]** を有効にします。
   + **アプリフィルター** - `okta`
   + **グループフィルター** - `^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$`
   + **ロール値のパターン** - `arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role`

1. **[保存して次へ]** を選択します。

1. **[割り当て]** で、作成したグループにアプリケーションを割り当てます。

## IAM でアクセスコントロールにオプションのポリシーを追加する
<a name="canvas-optional-access"></a>

IAM では、ユーザープロファイルを作成する管理者ユーザーに以下のポリシーを適用できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateSageMakerStudioUserProfilePolicy",
            "Effect": "Allow",
            "Action": "sagemaker:CreateUserProfile",
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": [
                        "studiouserid"
                    ]
                }
            }
        }
    ]
}
```

------

前述のポリシーを管理ユーザーに追加する場合は、[IAM に ID フェデレーションを設定する](#set-up-id-federation-IAM) の以下のアクセス許可を使用する必要があります。

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Sid": "AmazonSageMakerPresignedUrlPolicy",
           "Effect": "Allow",
           "Action": [
               "sagemaker:CreatePresignedDomainUrl"
           ],
           "Resource": "*",
           "Condition": {
                  "StringEquals": {
                      "sagemaker:ResourceTag/studiouserid": "${aws:PrincipalTag/SageMakerStudioUserProfileName}"
                 }
            }
      }
  ]
}
```

------