

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

# 为用户设置 SageMaker 画布
<a name="setting-up-canvas-sso"></a>

要设置 Amazon SageMaker Canvas，请执行以下操作：
+ 创建亚马逊 A SageMaker I 域名。
+ 为域创建用户配置文件
+ 为用户设置 Okta 单点登录 (Okta SSO)。
+ 激活模型的链接共享。

使用 Okta 单点登录 (Okta SSO) 授予您的用户访问亚马逊 Canvas 的权限。 SageMaker SageMaker Canvas 支持 SAML 2.0 单点登录方法。以下各节将指导您完成设置 Okta SSO 的过程。

要设置域，请参阅 [使用 Amazon A SageMaker I 的自定义设置](onboard-custom.md) 并按照说明使用 IAM 身份验证设置域。您可以使用以下信息来帮助您完成本节中的过程：
+ 您可以忽略创建项目的步骤。
+ 您无需提供对其他 Amazon S3 存储桶的访问权限。您的用户可以使用我们在创建角色时提供的默认存储桶。
+ 要授予用户与数据科学家共享笔记本的权限，请打开**笔记本共享配置**。
+ 使用 Amazon SageMaker Studio 经典版 3.19.0 或更高版本。有关更新 Amazon SageMaker Studio 经典版的信息，请参阅[关闭并更新 Amazon SageMaker Studio 经典版](studio-tasks-update-studio.md)。

可使用以下过程设置 Okta。在以下所有过程中，您都要为 `IAM-role` 指定相同的 IAM 角色。

## 将 SageMaker Canvas 应用程序添加到 Okta
<a name="canvas-set-up-okta"></a>

为 Okta 设置登录方法。

1. 登录 Okta 管理员控制面板。

1. 选择**添加应用程序**。搜索 **Amazon 账户联合身份验证**。

1. 选择**添加**。

1. 可选：将名称更改为 **Amazon SageMaker Canvas**。

1. 选择**下一步**。

1. 选择 **SAML 2.0** 作为**登录**方法。

1. 选择**身份提供商元数据**以打开元数据 XML 文件。将该文件保存在本地。

1. 选择**完成**。

## 在 IAM 中设置 ID 联合身份验证
<a name="set-up-id-federation-IAM"></a>

Amazon Identity and Access Management (IAM) 是您用来获取 Amazon 账户访问权限的 Amazon 服务。您可以 Amazon 通过 IAM 账户获得访问权限。

1. 登录 Amazon 控制台。

1. 选择 **Amazon Identity and Access Management (IAM)**。

1. 选择**身份提供商**。

1. 选择**创建提供商**。

1. 在**配置提供商**中，指定以下内容：
   + **提供商类型** – 从下拉列表中选择 **SAML**。
   + **提供商名称** – 指定 **Okta**。
   + **元数据文档** – 上传在[将 SageMaker Canvas 应用程序添加到 Okta](#canvas-set-up-okta)的步骤 7 中保存在本地的 XML 文档。

1. 在**身份提供商**下找到您的身份提供商。复制其**提供商 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": "*"
         }
     ]
   }
   ```

------

## 在 Okt SageMaker a 中配置画布
<a name="canvas-configure-okta"></a>

使用以下步骤在 Okta 中配置 Amazon C SageMaker anvas。

要将 Amazon SageMaker Canvas 配置为使用 Okta，请按照本节中的步骤操作。必须为每个**SageMakerStudioProfileName**字段指定唯一的用户名。例如，您可以将 `user.login` 用作值。如果用户名与 SageMaker Canvas 配置文件名称不同，请选择不同的唯一标识属性。例如，您可以使用员工的 ID 号作为配置文件名称。

有关可以为**属性**设置的值的示例，请参阅该过程后面的代码。

1. 在**目录**下，选择**组**。

1. 使用以下模式添加一个组：`sagemaker#canvas#IAM-role#Amazon-account-id`。

1. 在 Okta 中，打开 **Amazon 账户联合身份验证**应用程序集成配置。

1. 为 Amazon 账户联合应用程序选择**登录**。

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.amazonaws.cn/sagemaker/)

1. 选择**属性**。

1. 在**SageMakerStudioProfileName**字段中，为每个用户名指定唯一值。用户名必须与您在 Amazon 控制台中创建的用户名一致。

   ```
   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. 选择**环境类型**。选择**常规 Amazon**。
   + 如果未列出您的环境类型，您可以在 **ACS URL** 字段中设置 ACS URL。如果您的环境类型已列出，则无需输入 ACS URL

1. 对于**身份提供商 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}"
                 }
            }
      }
  ]
}
```

------