角色单点登录(SSO)让RAM角色直接登录PAI平台。该方式简化登录流程,同时提升账户安全性和权限管理灵活性,适合需要按角色管控访问权限的企业场景。
背景信息
企业安全监管要求日趋严格。角色登录(Role-Based SSO)提供了一种更安全的云资源访问方式,比直接使用账号密码登录更易于管控权限。详情请参见SAML角色SSO概览。
PAI支持的登录方式
PAI支持云账号登录和角色登录两种方式。
-
云账号登录:
使用阿里云账号或RAM用户账号直接登录PAI。登录后,该账号自动成为PAI工作空间成员,获得该工作空间的产品使用权限。
-
云SSO提供基于阿里云资源目录RD(Resource Directory)的多账号统一身份管理与访问控制。使用云SSO,您可以统一管理企业中使用阿里云的用户,一次性配置企业身份管理系统与阿里云的单点登录,并统一配置所有用户对RD账号的访问权限。
-
通过角色SSO(单点登录)方式进入阿里云控制台并使用PAI。RAM Role会成为PAI工作空间成员,使用该角色的用户获得与云账号成员相同的产品使用权限。有关RAM角色的更多信息,请参见RAM角色概览。
角色登录指南
-
创建RAM角色并配置信任策略。信任策略决定哪些账号或身份可以扮演该角色。
通过RAM用户扮演角色并添加权限
如需通过RAM用户扮演RAM角色,并在阿里云控制台切换身份,将信任主体类型设置为云账号。操作步骤如下。
-
创建可信实体类型为云账号的RAM角色。操作步骤请参见创建可信实体为阿里云账号的RAM角色。
信任主体名称选择当前云账号。
-
进入目标角色详情页面,修改信任策略。信任策略控制哪些主体可以调用STS AssumeRole接口。
将信任策略内容替换为如下脚本:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::主账号ID:root" ] } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ], "Version": "1" }将脚本中acs:ram::主账号ID:root的主账号ID替换为实际账号ID。您可以在用户基本信息页面获取账号ID。
-
创建RAM用户。您可以一次创建多个RAM用户。操作步骤请参见创建RAM用户。
-
单击目标RAM用户操作列下的添加权限,为RAM用户添加AliyunSTSAssumeRoleAccess权限。该权限允许RAM用户调用STS AssumeRole接口扮演角色。
通过IdP身份提供商扮演角色并添加权限
如需通过IdP身份提供商账号登录阿里云并扮演RAM角色,可信实体类型选择身份提供商。操作步骤如下:
-
创建可信实体类型为身份提供商的RAM角色。操作步骤请参见创建可信实体为身份提供商的RAM角色。
-
进入目标角色详情页面,修改信任策略。信任策略需允许IdP身份提供商通过SAML断言扮演该角色。
将信任策略内容替换为如下脚本:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Federated": [ "acs:ram::主账号ID:saml-provider/IDP" ] }, "Condition": { "StringEquals": { "saml:recipient": "https://signin.aliyun.com/saml-role/sso" } } }, { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "dataworks.aliyuncs.com" ] } } ], "Version": "1" }将脚本中acs:ram::主账号ID:saml-provider/IDP的主账号ID替换为实际账号ID。您可以在用户基本信息页面获取账号ID。
-
-
配置权限策略。权限策略决定RAM角色在PAI各子产品中能执行哪些操作。
根据角色用户需要使用的子产品,为角色添加对应权限策略。未配置权限策略会导致部分功能不可用(例如AI资产管理-数据集)。操作步骤如下。
-
创建权限策略,例如命名为PAIDefaultPolicy。操作步骤可参考样例云产品依赖与授权:Designer。在脚本编辑页签中配置如下策略内容:
{ "Version": "1", "Statement": [ { "Action": [ "cs:GetClusterById", "cs:GetClusters", "cs:GetUserConfig", "cs:DescribeClusterNodes", "cs:DescribeClusterInnerServiceKubeconfig", "cs:RevokeClusterInnerServiceKubeconfig" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "vpc:DescribeVSwitchAttributes", "vpc:DescribeVpcs", "vpc:DescribeVSwitches", "vpc:DescribeVpcAttribute" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "ecs:DescribeSecurityGroupAttribute", "ecs:DescribeSecurityGroups", "ecs:CreateNetworkInterface", "ecs:DeleteNetworkInterface", "ecs:DescribeNetworkInterfaces", "ecs:CreateNetworkInterfacePermission", "ecs:DescribeNetworkInterfacePermissions", "ecs:DeleteNetworkInterfacePermission" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "nas:DescribeFileSystems", "nas:CreateMountTarget", "nas:DescribeMountTargets", "nas:ModifyMountTarget", "nas:DescribeProtocolMountTarget" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "cr:ListNamespace", "cr:ListRepository", "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:PushRepository", "cr:GetInstance", "cr:GetInstanceVpcEndpoint", "cr:ListInstance", "cr:ListInstanceDomain" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "oss:ListBuckets", "oss:GetObjectMetadata", "oss:GetObject", "oss:ListObjects", "oss:PutObject", "oss:CopyObject", "oss:CompleteMultipartUpload", "oss:AbortMultipartUpload", "oss:InitiateMultipartUpload", "oss:UploadPartCopy", "oss:UploadPart", "oss:DeleteObject" ], "Resource": "acs:oss:*:*:*", "Effect": "Allow" }, { "Action": [ "datasetacc:DescribeInstance", "datasetacc:DescribeSlot", "datasetacc:DescribeEndpoint" ], "Resource": "*", "Effect": "Allow" } ] }权限点类型
说明
cs:***
授予容器服务(CS)权限。
vpc:***
授予专有网络(VPC)权限。
ecs:***
授予云服务器(ECS)权限。
nas:***
授予文件存储(NAS)权限。
cr:***
授予容器镜像服务(Container Registry)权限。
oss:***
授予对象存储(OSS)权限。
datasetacc:***
授予数据集加速(DatasetAcc)权限。
-
在RAM 访问控制页面,选择。
-
搜索步骤1中创建的角色,单击角色名称进入角色详情页面。
-
在权限管理页签,单击新增授权,将已创建的权限策略授权给该角色。授权后,角色才拥有策略中定义的PAI资源操作权限。
在弹出的新增授权对话框中,资源范围选择账号级别,在权限策略搜索框中搜索并勾选PAIDefaultPolicy自定义策略,然后单击确认新增授权。
-
-
添加RAM角色至PAI工作空间并授权。只有工作空间成员才能访问和使用该空间的PAI子产品。
工作空间管理员在工作空间成员与角色页面添加已创建的RAM角色。操作步骤请参见管理工作空间成员。在添加成员对话框中,选择用户/角色页签,在左侧待添加列表中搜索并勾选目标RAM角色,然后在底部角色下拉框中为其分配工作空间角色,单击确定。
-
登录PAI控制台开始算法开发工作。完成前三步后,RAM角色才具备登录和使用PAI的完整权限。