通过修改RAM角色的信任策略内容,可以修改RAM角色的可信实体。本文通过示例为您介绍如何修改RAM角色的可信实体为阿里云账号、阿里云服务或身份提供商。
背景信息
创建RAM角色时,您可以直接选择RAM角色的可信实体为阿里云账号、阿里云服务或身份提供商。一般情况下,创建RAM角色后,您不需要主动修改RAM角色的可信实体。如果某些特殊场景下确有需要,您可以通过本文所述的几种方式修改。
修改RAM角色信任策略中的可信实体,会变更可信对象,可能会影响业务正常运行。请务必在测试账号充分测试,确保功能正常使用后,再应用到正式生产账号。
操作步骤
使用RAM管理员登录RAM控制台。
在左侧导航栏,选择 。
在角色页面,单击目标RAM角色名称。
在信任策略页签,单击编辑信任策略。
修改信任策略内容,然后单击保存信任策略。
示例一:修改RAM角色的可信实体为阿里云账号
若Principal
中有RAM
字段,表示该RAM角色的可信实体为阿里云账号,即可以被可信阿里云账号下的RAM用户、RAM角色扮演。
RAM角色可以被可信阿里云账号下的所有RAM用户、RAM角色扮演
以下述信任策略为例:该RAM角色可以被阿里云账号(AccountID=123456789012****)下的所有RAM用户、RAM角色扮演。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }
RAM角色只能被可信阿里云账号下的指定RAM用户扮演
若您将
Principal
中的内容更改如下,则表示该RAM角色可以被阿里云账号(AccountID=123456789012****)下的RAM用户testuser
扮演。"Principal": { "RAM": [ "acs:ram::123456789012****:user/testuser" ] }
说明修改此信任策略时,请确保已创建好对应RAM用户
testuser
。RAM角色只能被可信阿里云账号下的指定RAM角色扮演
若您将
Principal
中的内容更改如下,则表示该RAM角色可以被阿里云账号(AccountID=123456789012****)下的RAM角色testrole
扮演。"Principal": { "RAM": [ "acs:ram::123456789012****:role/testrole" ] }
说明修改此信任策略时,请确保已创建好对应RAM角色
testrole
。
示例二:修改RAM角色的可信实体为阿里云服务
若Principal
中有Service
字段,表示该RAM角色的可信实体为阿里云服务,即可以被可信阿里云服务扮演。
以下述信任策略为例:该RAM角色可以被当前阿里云账号下的ECS服务扮演。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.aliyuncs.com"
]
}
}
],
"Version": "1"
}
服务关联角色的信任策略由关联的云服务定义,您不能修改服务关联角色的信任策略。更多信息,请参见服务关联角色。
示例三:修改RAM角色的可信实体为身份提供商
若Principal
中有Federated
字段,表示该RAM角色的可信实体为身份提供商,即可以被可信身份提供商下的用户扮演。
以下述信任策略为例:该RAM角色可以被当前阿里云账号(AccountID=123456789012****)中的身份提供商testprovider
下的用户扮演。
{
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Federated": [
"acs:ram::123456789012****:saml-provider/testprovider"
]
},
"Condition":{
"StringEquals":{
"saml:recipient":"https://signin.alibabacloud.com/saml-role/sso"
}
}
}
],
"Version": "1"
}