CreateRole - 创建角色

调用CreateRole接口创建RAM角色。

接口说明

使用说明

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

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ram:CreateRolecreate
  • Role
    acs:ram:*:{#accountId}:role/{#RoleName}
  • ram:TrustedPrincipalTypes
  • ram:ServiceNames

请求参数

名称类型必填描述示例值
RoleNamestring

RAM 角色名称。

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

ECSAdmin
Descriptionstring

RAM 角色描述。

长度为 1~1024 个字符。

ECS管理角色
AssumeRolePolicyDocumentstring

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

说明 RAM 用户不能扮演可信实体为阿里云服务的 RAM 角色。
{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"RAM":"acs:ram::123456789012****:root"}}],"Version":"1"}
MaxSessionDurationlong

RAM 角色最大会话时间。

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

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

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"
}

返回参数

名称类型描述示例值
object

返回结果。

Roleobject

RAM 角色信息。

AssumeRolePolicyDocumentstring

RAM 角色的信任策略。

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

RAM 角色描述。

ECS管理角色
MaxSessionDurationlong

RAM 角色最大会话时间。

3600
RoleNamestring

RAM 角色名称。

ECSAdmin
CreateDatestring

创建时间。

2015-01-23T12:33:18Z
RoleIdstring

RAM 角色 ID。

901234567890****
Arnstring

RAM 角色的资源描述符。

acs:ram::123456789012****:role/ECSAdmin
RequestIdstring

请求 ID。

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

示例

正常返回示例

JSON格式

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

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史