为用户设置 SageMaker Canvas
要设置 Amazon SageMaker Canvas,请执行以下操作:
-
创建 Amazon SageMaker 域。
-
为域创建用户配置文件
-
为用户设置 Okta 单点登录 (Okta SSO)。
-
激活模型的链接共享。
使用 Okta 单点登录 (Okta SSO) 授予用户访问 Amazon SageMaker Canvas 的权限。SageMaker Canvas 支持 SAML 2.0 SSO 方法。以下各节将指导您完成设置 Okta SSO 的过程。
要设置域,请参阅使用 IAM 加入 Amazon SageMaker Runtime Studio。您可以使用以下信息来帮助您完成本节中的过程:
-
您可以忽略创建项目的步骤。
-
您无需提供对其他 Amazon S3 存储桶的访问权限。您的用户可以使用我们在创建角色时提供的默认存储桶。
-
要授予用户与数据科学家共享笔记本的权限,请打开笔记本共享配置。
-
使用 Amazon SageMaker Studio 3.19.0 或更高版本。有关更新 Amazon SageMaker Studio 的信息,请参阅 关闭并更新 SageMaker Studio。
可使用以下过程设置 Okta。在以下所有过程中,您都要为
指定相同的 IAM 角色。IAM-role
将 SageMaker Canvas 应用程序添加到 Okta
为 Okta 设置登录方法。
-
登录 Okta 管理员控制面板。
-
选择添加应用程序。搜索 Amazon 账户联合身份验证。
-
选择添加。
-
可选:将名称更改为 Amazon SageMaker Canvas。
-
选择下一步。
-
选择 SAML 2.0 作为登录方法。
-
选择身份提供商元数据以打开元数据 XML 文件。将该文件保存在本地。
-
选择完成。
在 IAM 中设置 ID 联合身份验证
Amazon Identity and Access Management (IAM) 是您用来获得 Amazon 账户访问权限的 Amazon 服务。您可以通过 IAM 账户访问 Amazon。
-
登录 Amazon 控制台。
-
选择 Amazon Identity and Access Management (IAM)。
-
选择身份提供商。
-
选择创建提供商。
-
在配置提供商中,指定以下内容:
-
提供商类型 – 从下拉列表中选择 SAML。
-
提供商名称 – 指定 Okta。
-
元数据文档 – 上传在将 SageMaker Canvas 应用程序添加到 Okta的步骤 7 中保存在本地的 XML 文档。
-
-
在身份提供商下找到您的身份提供商。复制其提供商 ARN 值。
-
对于角色,选择用于 Okta SSO 访问的 IAM 角色。
-
在 IAM 角色的信任关系下,选择编辑信任关系。
-
通过指定已复制的提供商 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" } } } ] } -
对于权限,添加以下策略:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonSageMakerPresignedUrlPolicy", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:CreatePresignedDomainUrlWithPrincipalTag" ], "Resource": "*" } ] }
在 Okta 中配置 SageMaker Canvas
按照以下过程在 Okta 中配置 Amazon SageMaker Canvas。
要配置 Amazon SageMaker Canvas 以使用 Okta,请按照本节中的步骤操作。您必须为每个 SageMakerStudioProfileName 字段指定唯一的用户名。例如,您可以将 user.login
用作值。如果用户名与 SageMaker Canvas 配置文件名称不同,请选择其他唯一标识属性。例如,您可以使用员工的 ID 号作为配置文件名称。
有关可以为属性设置的值的示例,请参阅该过程后面的代码。
-
在目录下,选择组。
-
使用以下模式添加一个组:
sagemaker#canvas#
。IAM-role
#Amazon-account-id
-
在 Okta 中,打开 Amazon 账户联合身份验证应用程序集成配置。
-
选择登录,登录 Amazon 账户联合身份验证应用程序。
-
选择编辑并指定以下内容:
-
SAML 2.0
-
默认中继状态 – https://
Region
.console.aws.amazon.com/sagemaker/home?region=Region
#/studio/canvas/open/StudioId
。您可以在控制台中找到 Studio ID:https://console.aws.amazon.com/sagemaker/
-
-
选择属性。
-
在 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"}
-
选择环境类型。选择常规 Amazon。
-
如果未列出您的环境类型,您可以在 ACS URL 字段中设置 ACS URL。如果您的环境类型已列出,则无需输入 ACS URL
-
-
对于身份提供商 ARN,指定您在上述过程的步骤 6 中使用的 ARN。
-
指定会话持续时间。
-
选择加入所有角色。
-
通过指定以下字段来打开使用组映射:
-
应用程序筛选条件 –
okta
-
组筛选条件 –
^aws\#\S+\#(?
IAM-role
[\w\-]+)\#(?accountid
\d+)$ -
角色值模式 –
arn:aws:iam::$
accountid
:saml-provider/Okta,arn:aws:iam::$accountid
:role/IAM-role
-
-
选择保存/下一步。
-
在分配下,将应用程序分配给您已创建的组。
在 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}" } } } ] }