在DataWorks中,您可使用某RAM用户扮演指定RAM角色,并通过该角色登录DataWorks进行相关开发操作。本文为您介绍如何使用角色SSO(Role-Based SSO)的方式登录并使用DataWorks。
背景信息
DataWorks支持使用如下方式登录:
使用云账号登录
您可通过主账号或RAM用户登录并使用DataWorks。该方式通过输入账号、密码的方式登录阿里云控制台,并以当前登录账号的身份使用DataWorks。该云账号将成为DataWorks某个工作空间的成员,拥有DataWorks产品的使用权限。
使用角色登录
随着企业安全监管要求的日益严格,部分企业更愿意通过角色SSO的方式登录并使用DataWorks,此时,阿里云访问控制角色(RAM Role)将成为DataWorks某个工作空间的成员,扮演该角色的使用者将拥有类似与云账号成员同样的产品使用权限。角色详情,请参见RAM角色概览和SAML角色SSO概览。
注意事项
DataWorks目前支持创建的数据源中,仅MaxCompute、Hologres支持使用RAM角色操作。
以下授权操作如果需要RAM用户或角色完成,请为RAM用户或角色授权AliyunRAMFullAccess策略。授权详情,请参见为RAM用户授权。
步骤一:新建RAM角色
登录RAM控制台。
云账号管理者以账号、密码方式,使用阿里云主账号登录RAM控制台。
在左侧导航栏,选择 。
创建角色。
在角色页面,单击创建角色,按照指引创建RAM角色。
若需要通过阿里云控制台切换身份方式扮演该角色,选择阿里云账号类型角色。详情请参见创建可信实体为阿里云账号的RAM角色。
若需要通过本地IDP身份提供商账号登录至阿里云扮演该角色,选择身份提供商类型角色。详情请参见创建可信实体为身份提供商的RAM角色。
步骤二:定义RAM角色策略
在
页面,单击角色名称,在信任策略页签定义RAM角色策略。内容策略大致分两部分,一部分定义该RAM角色可被阿里云账号下RAM用户或IDP身份扮演,另一部分定义该RAM角色可被DataWorks服务扮演,具体策略内容如下,您可根据实际场景选择。请替换下述策略中的UID为阿里云主账号的UID,替换IDP为您选择的身份提供商的名称。
场景一:RAM账号扮演RAM角色
若需要通过RAM用户扮演RAM角色访问DataWorks,请修改RAM角色的信任策略,内容如下:
如下策略中,允许两个实体(指定RAM用户和DataWorks服务)获取扮演角色的临时身份凭证,AssumeRole的更多信息,请参见AssumeRole - 获取扮演角色的临时身份凭证。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"RAM": [
"acs:ram::UID:root"
]
}
},
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"dataworks.aliyuncs.com"
]
}
}
],
"Version": "1"
}
场景二:IDP身份提供商账号扮演RAM角色
若需要通过IDP身份提供商账号扮演RAM角色访问DataWorks,请修改RAM角色的信任策略,内容如下:
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"saml:recipient": "https://signin.aliyun.com/saml-role/sso"
}
},
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::UID:saml-provider/IDP"
]
}
},
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"dataworks.aliyuncs.com"
]
}
}
],
"Version": "1"
}
步骤三:授权RAM用户AliyunSTSAssumeRoleAccess策略
如果您使用RAM用户而非IDP账号来扮演RAM角色,请为RAM用户授予AliyunSTSAssumeRoleAccess策略。允许RAM用户调用STS服务,通过调用AssumeRole接口,来获取该RAM角色的STS Token,获得该临时身份凭证。策略授权,详情请参见为RAM用户授权。
若通过IDP身份提供商账号扮演RAM角色,无须执行此步骤。
步骤四:RAM用户通过RAM角色登录DataWorks
本步骤为您展示RAM用户如何扮演RAM角色,登录并使用DataWorks。角色SSO详情,请参见SAML角色SSO概览。
使用RAM用户(子账号)登录DataWorks控制台。
切换身份。
进入DataWorks管理控制台后,将鼠标悬停至右上方个人信息处,单击切换身份,通过RAM角色登录DataWorks管理控制台。
后续步骤
创建工作空间后,您可执行如下操作:
将RAM角色加入DataWorks工作空间进行数据开发
DataWorks空间管理员可将该RAM角色添加至DataWorks工作空间进行数据开发,操作详情请参见添加空间成员并管理成员角色权限。
将RAM角色设置为MaxCompute生产调度身份
创建MaxCompute数据源时,可将该RAM角色设置为MaxCompute引擎生产环境调度访问身份,一旦设置为调度访问身份后,该RAM角色请勿再用于其它地方,并且需保障所有任务均通过独享调度资源组执行。