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

说明 创建RAM角色时,您可以直接选择RAM角色的可信实体为阿里云账号、阿里云服务或身份提供商。一般情况下,创建RAM角色后,您不需要主动修改RAM角色的可信实体。如果某些特殊场景下确有需要,您可以通过以下几种方式来进行修改。修改后请务必进行测试并确保功能可以正常使用。

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

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

以下述策略为例:该RAM角色可以被阿里云账号(AccountID=123456789012****)下授权的任何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(其UPN为:testuser@123456789012****.onaliyun.com)。

修改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.aliyun.com/saml-role/sso"
                }
            }
        }
    ],
    "Version": "1"
}