调用CreateRole接口创建RAM角色。

使用说明

关于RAM角色的介绍,请参见RAM角色概览

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String CreateRole

要执行的操作。取值:CreateRole

RoleName String ECSAdmin

RAM角色名称。

长度为1~64个字符,可包含英文字母、数字、半角句号(.)和短划线(-)。

Description String ECS管理角色

RAM角色描述。

长度为1~1024个字符。

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

信任策略。指定允许扮演该RAM角色的一个或多个主体,这个主体可以是阿里云账号、阿里云服务或身份提供商。

说明 RAM用户不能扮演可信实体为阿里云服务的RAM角色。
MaxSessionDuration Long 3600

RAM角色最大会话时间。

取值范围:3600秒~43200秒。默认值:3600秒。

取值为空时将采用默认值。

AssumeRolePolicyDocument示例
  • 以下策略表示:允许扮演该RAM角色的可信实体为阿里云账号(AccountID=123456789012****)下被授权的任何RAM用户。
    
    {
    	"Statement": [{
    		"Action": "sts:AssumeRole",
    		"Effect": "Allow",
    		"Principal": {
    			"RAM": [
    				"acs:ram::123456789012****:root"
    			]
    		}
    	}],
    	"Version": "1"
    }
    
  • 以下策略表示:允许扮演该RAM角色的可信实体为阿里云账号(AccountID=123456789012****)下被授权的RAM用户testuser
    说明 创建该角色前,请确保已创建RAM用户testuser(其登录名称为:testuser@123456789012****.onaliyun.com)。
    
    {
    	"Statement": [{
    		"Action": "sts:AssumeRole",
    		"Effect": "Allow",
    		"Principal": {
    			"RAM": [
    				"acs:ram::123456789012****:user/testuser"
    			]
    		}
    	}],
    	"Version": "1"
    }
    
  • 以下策略表示:允许扮演该RAM角色的可信实体为当前阿里云账号下的ECS服务。
    
    {
    	"Statement": [{
    		"Action": "sts:AssumeRole",
    		"Effect": "Allow",
    		"Principal": {
    			"Service": [
    				"ecs.aliyuncs.com"
    			]
    		}
    	}],
    	"Version": "1"
    }
    
  • 以下策略表示:允许扮演该RAM角色的可信实体为当前阿里云账号(AccountID=123456789012****)下的SAML身份提供商testprovider
    说明 创建此角色前,请确保已创建SAML身份提供商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"
    }
    
  • 以下策略表示:允许扮演该RAM角色的可信实体为当前阿里云账号(AccountID=123456789012****)下的OIDC身份提供商TestOIDCProvider
    说明 创建此角色前,请确保已创建OIDC身份提供商TestOIDCProvider
    
    {
    	"Statement": [{
    		"Action": "sts:AssumeRole",
    		"Effect": "Allow",
    		"Principal": {
    			"Federated": [
    				"acs:ram::123456789012****:oidc-provider/TestOIDCProvider"
    			]
    		},
    		"Condition": {
    			"StringEquals": {
    				"oidc:aud": [
    					"496271242565057****"
    				],
    				"oidc:iss": "https://dev-xxxxxx.okta.com",
    				"oidc:sub": "KryrkIdjylZb7agUgCEf****"
    			}
    		}
    	}],
    	"Version": "1"
    }
    

返回数据

名称 类型 示例值 描述
Role Object

RAM角色信息。

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

RAM角色的信任策略。

Description String ECS管理角色

RAM角色描述。

MaxSessionDuration Long 3600

RAM角色最大会话时间。

RoleName String ECSAdmin

RAM角色名称。

CreateDate String 2015-01-23T12:33:18Z

创建时间。

RoleId String 901234567890****

RAM角色ID。

Arn String acs:ram::123456789012****:role/ECSAdmin

RAM角色的资源描述符。

RequestId String 04F0F334-1335-436C-A1D7-6C044FE73368

请求ID。

示例

请求示例

https://ram.aliyuncs.com/?Action=CreateRole
&RoleName=ECSAdmin
&AssumeRolePolicyDocument={"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"RAM":"acs:ram::123456789012****:root"}}],"Version":"1"}
&Description=ECS管理角色
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" ?>
<CreateRoleResponse>
	<RequestId>04F0F334-1335-436C-A1D7-6C044FE73368</RequestId>
	<Role>
		<RoleId>901234567890****</RoleId>
		<RoleName>ECSAdmin</RoleName>
		<Arn>acs:ram::123456789012****:role/ECSAdmin</Arn>
		<Description>ECS管理角色</Description>
		<MaxSessionDuration>3600</MaxSessionDuration>
		<AssumeRolePolicyDocument>{ &quot;Statement&quot;: [ { &quot;Action&quot;: &quot;sts:AssumeRole&quot;, &quot;Effect&quot;: &quot;Allow&quot;, &quot;Principal&quot;: { &quot;RAM&quot;: &quot;acs:ram::123456789012****:root&quot; } } ], &quot;Version&quot;: &quot;1&quot; }</AssumeRolePolicyDocument>
		<CreateDate>2015-01-23T12:33:18Z</CreateDate>
	</Role>
</CreateRoleResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "04F0F334-1335-436C-A1D7-6C044FE73368",
  "Role" : {
    "RoleId" : "901234567890****",
    "RoleName" : "ECSAdmin",
    "Arn" : "acs:ram::123456789012****:role/ECSAdmin",
    "Description" : "ECS管理角色",
    "MaxSessionDuration" : 3600,
    "AssumeRolePolicyDocument" : "{ \"Statement\": [ { \"Action\": \"sts:AssumeRole\", \"Effect\": \"Allow\", \"Principal\": { \"RAM\": \"acs:ram::123456789012****:root\" } } ], \"Version\": \"1\" }",
    "CreateDate" : "2015-01-23T12:33:18Z"
  }
}

错误码

访问错误中心查看更多错误码。