Todos los productos
Search
Centro de documentos

Resource Access Management:AssumeRole

Última actualización: Sep 01, 2026

Obtiene un token de Security Token Service (STS) para asumir un rol de Resource Access Management (RAM).

Descripción de la operación

Requisitos previos

No puede utilizar una cuenta de Alibaba Cloud para llamar a esta operación. El solicitante de esta operación solo puede ser un usuario de RAM o un rol de RAM. Asegúrese de que la política AliyunSTSAssumeRoleAccess esté adjunta al solicitante. Una vez que esta política se adjunta al solicitante, este tiene los permisos de administración sobre STS.

Si no adjunta la política AliyunSTSAssumeRoleAccess al solicitante, se devuelve el siguiente mensaje de error:

You are not authorized to do this action. You should be authorized by RAM.

Puede consultar la siguiente información para solucionar el error:

Mejores prácticas

Un token de STS es válido durante un período de tiempo después de su emisión, y el número de tokens de STS que se pueden emitir dentro de un intervalo también está limitado. Por lo tanto, se recomienda configurar un período de validez adecuado para un token de STS y reutilizar el token dentro de este período. Esto evita que la emisión frecuente de tokens de STS afecte negativamente a sus servicios si se envía un gran número de solicitudes. Para obtener más información sobre el límite, consulte ¿Está limitado el número de solicitudes de API de STS? Puede configurar el parámetro DurationSeconds para especificar un período de validez para un token de STS.

Cuando carga o descarga objetos de Object Storage Service (OSS) en dispositivos móviles, se envía un gran número de solicitudes de API de STS. En este caso, la reutilización de un token de STS podría no satisfacer sus requisitos empresariales. Para evitar que el límite de solicitudes de API de STS afecte el acceso a OSS, puede agregar una firma a la URL de un objeto de OSS. Para obtener más información, consulte Agregar firmas a las URL y Obtener información de firma del servidor y cargar datos en OSS.

Pruébelo ahora

Pruebe esta API en OpenAPI Explorer sin necesidad de firma manual. Las llamadas exitosas generan automáticamente código SDK acorde a sus parámetros. Descárguelo con seguridad de credenciales integrada para uso local.

Test

Autorización de RAM

La siguiente tabla describe la autorización necesaria para invocar esta API. Puede definirla en una directiva de Resource Access Management (RAM). A continuación, se detallan las columnas de la tabla:

  • Action: Estas acciones se utilizan en el elemento Action de las declaraciones de directivas de permisos de RAM para otorgar permisos que permitan realizar la operación.

  • API: La API que debe invocarse para llevar a cabo la acción.

  • Nivel de acceso: Nivel de acceso predefinido que se concede para cada API. Valores válidos: create, list, get, update y delete.

  • Tipo de recurso: Tipo de recurso que admite autorización para ejecutar la acción. Indica si la acción es compatible con permisos a nivel de recurso. El recurso especificado debe ser compatible con la acción; de lo contrario, la directiva no surtirá efecto.

    • En las API con permisos a nivel de recurso, los tipos de recursos obligatorios se marcan con un asterisco (*). Especifique el Alibaba Cloud Resource Name (ARN) correspondiente en el elemento Resource de la directiva.

    • Para las API sin permisos a nivel de recurso, se muestra All Resources. Utilice un asterisco (*) en el elemento Resource de la directiva.

  • Clave de condición: Claves de condición definidas por el servicio. Permiten un control granular y se aplican ya sea solo a acciones o a acciones asociadas con recursos específicos. Además de las claves de condición específicas del servicio, Alibaba Cloud proporciona un conjunto de common condition keys aplicables a todos los servicios compatibles con RAM.

  • Acción dependiente: Acciones dependientes necesarias para ejecutar la acción principal. Para completar la operación, el usuario de RAM o el rol de RAM debe contar con permisos para realizar todas las acciones dependientes.

Action

Nivel de acceso

Tipo de recurso

Clave de condición

Acción dependiente

sts:AssumeRole

get

*Role

acs:ram::{#accountId}:role/{#RoleName}

  • sts:SourceIdentity
  • sts:SetSourceIdentity

Parámetros de la solicitud

Parámetro

Tipo

Obligatorio

Descripción

Ejemplo

DurationSeconds

integer

No

El período de validez del token de STS. Unidad: segundos.

Valor mínimo: 900. Valor máximo: el valor del parámetro MaxSessionDuration. Valor predeterminado: 3600.

Puede llamar a la operación CreateRole o UpdateRole para configurar el parámetro MaxSessionDuration. Para obtener más información, consulte CreateRole y UpdateRole.

3600

Policy

string

No

La política que especifica los permisos del token de STS devuelto. Esto le permite implementar un control de acceso más detallado.

  • Si especifica este parámetro, los permisos del token de STS devuelto son la intersección de los permisos definidos en esta política y los permisos otorgados por la política del rol.

  • Si no especifica este parámetro, el token de STS devuelto tiene todos los permisos del rol de RAM.

El valor debe tener una longitud de 1 a 2,048 caracteres.

Para obtener más información sobre los elementos de política y ejemplos de políticas, consulte Elementos de política y Resumen de ejemplos de políticas.

{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}

RoleArn

string

Sí

El nombre de recurso de Alibaba Cloud (ARN) del rol de RAM.

La entidad de confianza del rol de RAM es una cuenta de Alibaba Cloud. Para obtener más información, consulte Crear un rol de RAM para una cuenta de Alibaba Cloud de confianza y CreateRole.

Formato: acs:ram::<account_id>:role/<role_name>.

Puede ver los ARN de los roles de RAM mediante la consola de RAM o llamando a operaciones de API.

acs:ram::123456789012****:role/adminrole

RoleSessionName

string

Sí

El nombre de la sesión de rol.

El valor es definido por el usuario. En la mayoría de los casos, puede establecer este parámetro en la identidad del usuario que llama a la operación. Por ejemplo, puede especificar un nombre de usuario. Puede especificar RoleSessionName para identificar a los llamadores de API que asumen el mismo rol de RAM en los registros de ActionTrail. Esto le permite rastrear a los usuarios que realizan las operaciones.

El nombre debe tener una longitud de 2 a 64 caracteres y puede contener letras, dígitos y los siguientes caracteres especiales: . @ - _.

alice

ExternalId

string

No

El ID externo del rol de RAM.

El valor de este parámetro lo proporciona una parte externa y se utiliza para evitar el problema de delegado confundido. Para obtener más información, consulte Usar ID externos para evitar el problema de delegado confundido.

El ID debe tener una longitud de 2 a 1,224 caracteres y puede contener letras, dígitos y los siguientes caracteres especiales: = , . @ : / - _. La expresión regular para este parámetro es [\w+=,.@:\/-]*.

abcd1234

SourceIdentity

string

No

La información de identidad de origen.

Cuando un usuario asume un rol, la identidad de origen del usuario se puede especificar como la identidad inicial de una sesión. La identidad de origen especificada persiste durante toda la sesión de rol y no se puede cambiar. Esto garantiza la trazabilidad y la seguridad de las operaciones.

El valor debe tener una longitud de 2 a 64 caracteres y puede contener letras, dígitos y los siguientes caracteres especiales: =,.@-_. La expresión regular para este parámetro es [\w+=,.@-]*. El valor no puede comenzar con acs:, aliyun: o alibabacloud:. Estos prefijos se utilizan internamente dentro de Alibaba Cloud.

Alice

Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros comunes.

Elementos de la respuesta

Elemento

Tipo

Descripción

Ejemplo

object

Los parámetros de respuesta.

RequestId

string

El ID de la solicitud.

6894B13B-6D71-4EF5-88FA-F32781734A7F

AssumedRoleUser

object

La identidad temporal que utiliza para asumir el rol de RAM.

AssumedRoleId

string

El ID de la identidad temporal que utiliza para asumir el rol de RAM.

34458433936495****:alice

Arn

string

El ARN de la identidad temporal que utiliza para asumir el rol de RAM.

acs:ram::123456789012****:role/adminrole/alice

Credentials

object

Las credenciales de STS.

SecurityToken

string

El token de STS.

Nota

Alibaba Cloud STS no impone límites en la longitud de los tokens de STS. Se recomienda no especificar una longitud máxima para los tokens de STS.

********

Expiration

string

La hora en la que caduca el token de STS. La hora se muestra en UTC.

2015-04-09T11:52:19Z

AccessKeySecret

string

La clave secreta de AccessKey.

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

El ID de AccessKey.

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

La información de identidad de origen.

Cuando un usuario asume un rol, la identidad de origen del usuario se puede especificar como la identidad inicial de una sesión. La identidad de origen especificada persiste durante toda la sesión de rol y no se puede cambiar. Esto garantiza la trazabilidad y la seguridad de las operaciones.

Si el parámetro SourceIdentity no se especificó en la solicitud, este campo se omite en la respuesta.

Alice

Ejemplos

Respuesta exitosa

JSON Formato

{
  "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
  "AssumedRoleUser": {
    "AssumedRoleId": "34458433936495****:alice",
    "Arn": "acs:ram::123456789012****:role/adminrole/alice"
  },
  "Credentials": {
    "SecurityToken": "********",
    "Expiration": "2015-04-09T11:52:19Z",
    "AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****",
    "AccessKeyId": "STS.L4aBSCSJVMuKg5U1****"
  },
  "SourceIdentity": "Alice"
}

Códigos de error

Código de estado HTTP

Código de error

Mensaje de error

Descripción

400 InvalidParameter.DurationSeconds The Min/Max value of DurationSeconds is 15min/1hr. DurationSeconds parameter is illegal, DurationSeconds minimum value is 15 minutes, maximum value is 1 hour
400 InvalidParameter.ExternalId The parameter ExternalId is wrongly formed. Parameters
400 InvalidParameter.RoleArn The parameter RoleArn is wrongly formed. Parameters
400 InvalidParameter.RoleSessionName The parameter RoleSessionName is wrongly formed.
400 InvalidParameter.SerialNumber The parameter SerialNumber is wrongly formed.
400 InvalidParameter.TokenCode The parameter TokenCode is wrongly formed.
400 InvalidParameter.PolicyGrammar The parameter Policy has not passed grammar check. Parameter Policy syntax format check failed
400 InvalidParameter.PolicySize The size of Policy must be smaller than 2048 bytes. The policy parameter is invalid. The policy length must be less than 2048 bytes.
400 InvalidParameter.ContentType The ContentType request header must be either "application/json" or "application/x-www-form-urlencoded".
500 InternalError STS Server Internal Error happened, please send the RequestId to us.
403 NoPermission You are not authorized to do this action. You should be authorized by RAM.
403 AuthenticationFail.ApiUsername The specified api username is not legal.
403 AuthenticationFail.ApiPassword The specified api password is not legal.
404 EntityNotExist.Role The specified Role not exists .

Consulte Códigos de error para ver la lista completa.

Notas de la versión

Consulte Notas de la versión para ver la lista completa.