通过修改RAM角色的信任策略内容,可以修改RAM角色的可信实体。本文通过示例为您介绍如何修改RAM角色的可信实体为阿里云账号、阿里云服务或身份提供商。

背景信息

创建RAM角色时,您可以直接选择RAM角色的可信实体为阿里云账号、阿里云服务或身份提供商。一般情况下,创建RAM角色后,您不需要主动修改RAM角色的可信实体。如果某些特殊场景下确有需要,您可以通过本文所述的几种方式修改。
警告 修改RAM角色信任策略中的可信实体,会变更受信对象,可能会影响业务正常运行。请务必在测试账号充分测试,确保功能正常使用后,再应用到正式生产账号。

操作步骤

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 角色
  3. 角色页面,单击目标RAM角色名称。
  4. 单击信任策略管理页签,然后单击修改信任策略
  5. 修改信任策略面板,修改信任策略内容,然后单击确定

示例一:修改RAM角色的可信实体为阿里云账号

Principal中有RAM字段,表示该RAM角色的可信实体为阿里云账号,即可以被受信阿里云账号下授权的RAM用户、RAM角色扮演。

以下述信任策略为例:该RAM角色可以被阿里云账号(AccountID=123456789012****)下授权的任何RAM用户、RAM角色扮演。

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::123456789012****:root"
                ]
            }
        }
    ],
    "Version": "1"
}

若您将Principal中的内容更改如下,则表示该RAM角色可以被阿里云账号(AccountID=123456789012****)下的RAM用户testuser扮演。

            "Principal": {
                "RAM": [
                    "acs:ram::123456789012****:user/testuser"
                ]
            }                   
说明 修改此策略时,请确保已创建好RAM用户testuser

若您将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"
}

说明

服务关联角色的信任策略由关联的云服务定义,您不能修改服务关联角色的信任策略。更多信息,请参见服务关联角色