为用户设置 SageMaker 画布 - Amazon SageMaker
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

为用户设置 SageMaker 画布

要设置 Amazon SageMaker Canvas,请执行以下操作:

  • 创建一个 Amazon SageMaker 域名。

  • 为域创建用户配置文件

  • 为用户设置 Okta 单点登录 (Okta SSO)。

  • 激活模型的链接共享。

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

要设置域,请参阅Amazon 的自定义设置 SageMaker并按照使用 IAM 身份验证设置域的说明进行操作。您可以使用以下信息来帮助您完成本节中的过程:

  • 您可以忽略创建项目的步骤。

  • 您无需提供对其他 Amazon S3 存储桶的访问权限。您的用户可以使用我们在创建角色时提供的默认存储桶。

  • 要授予用户与数据科学家共享笔记本的权限,请打开笔记本共享配置

  • 使用 Amazon SageMaker Studio 经典版 3.19.0 或更高版本。有关更新 Amazon SageMaker Studio 经典版的信息,请参阅关闭并更新 SageMaker Studio 经典版

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

将 SageMaker Canvas 应用程序添加到 Okta

为 Okta 设置登录方法。

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

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

  3. 选择添加

  4. 可选:将名称更改为 Amazon SageMaker Canvas

  5. 选择下一步

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

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

  8. 选择完成

在 IAM 中设置 ID 联合身份验证

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

  1. 登录 Amazon 控制台。

  2. 选择 Amazon Identity and Access Management (IAM)

  3. 选择身份提供商

  4. 选择创建提供商

  5. 配置提供商中,指定以下内容:

  6. 身份提供商下找到您的身份提供商。复制其提供商 ARN 值。

  7. 对于角色,选择用于 Okta SSO 访问的 IAM 角色。

  8. 在 IAM 角色的信任关系下,选择编辑信任关系

  9. 通过指定已复制的提供商 ARN 值来修改 IAM 信任关系策略,并添加以下策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::123456789012:saml-provider/Okta" }, "Action": [ "sts:AssumeRoleWithSAML", "sts:SetSourceIdentity", "sts:TagSession" ], "Condition": { "StringEquals": { "SAML:aud": "https://signin.aws.amazon.com/saml" } } } ] }
  10. 对于权限,添加以下策略:

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

在 Okt SageMaker a 中配置画布

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

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

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

  1. 目录下,选择

  2. 使用以下模式添加一个组:sagemaker#canvas#IAM-role#Amazon-account-id

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

  4. 为 Amazon 账户联合应用程序选择 “登录”。

  5. 选择编辑并指定以下内容:

    • SAML 2.0

    • 默认中继状态 — https://Region .console.aws.amazon.com/sag em aker/home?region= Region #/studio/canvas/o StudioId 你可以在主机中找到 Studio Classic ID:https://console.aws.amazon.com/sagemaker/

  6. 选择属性

  7. 在 “SageMakerStudioProfile名称” 字段中,为每个用户名指定唯一值。用户名必须与您在 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"}
  8. 选择环境类型。选择常规 Amazon

    • 如果未列出您的环境类型,您可以在 ACS URL 字段中设置 ACS URL。如果您的环境类型已列出,则无需输入 ACS URL

  9. 对于身份提供商 ARN,指定您在上述过程的步骤 6 中使用的 ARN。

  10. 指定会话持续时间

  11. 选择加入所有角色

  12. 通过指定以下字段来打开使用组映射

    • 应用程序筛选条件okta

    • 组筛选条件^aws\#\S+\#(?IAM-role[\w\-]+)\#(?accountid\d+)$

    • 角色值模式arn:aws:iam::$accountid:saml-provider/Okta,arn:aws:iam::$accountid:role/IAM-role

  13. 选择保存/下一步

  14. 分配下,将应用程序分配给您已创建的组。

在 IAM 中添加可选的访问控制策略

在 IAM 中,可以对创建用户配置文件的管理员用户应用以下策略。

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

如果选择将上述策略添加到管理员用户,则必须使用在 IAM 中设置 ID 联合身份验证中的以下权限。

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