Tous les produits
Search
Centre de documentation

:AssumeRole

Dernière mise à jour :Aug 06, 2026

Obtient un jeton Security Token Service (STS) pour endosser un rôle Resource Access Management (RAM).

Description de l'opération

Prérequis

Vous ne pouvez pas utiliser un compte Alibaba Cloud pour appeler cette opération. L'auteur de la requête de cette opération ne peut être qu'un utilisateur RAM ou un rôle RAM. Assurez-vous que la stratégie AliyunSTSAssumeRoleAccess est jointe à l'auteur de la requête. Une fois cette stratégie jointe à l'auteur de la requête, ce dernier dispose des autorisations de gestion sur STS.

Si vous ne joignez pas la stratégie AliyunSTSAssumeRoleAccess à l'auteur de la requête, le message d'erreur suivant est renvoyé :

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

Vous pouvez vous référer aux informations suivantes pour résoudre l'erreur :

Bonnes pratiques

Un jeton STS est valide pendant une certaine période après son émission, et le nombre de jetons STS pouvant être émis dans un intervalle donné est également limité. Par conséquent, nous vous recommandons de configurer une durée de validité appropriée pour un jeton STS et de réutiliser ce jeton pendant cette période. Cela évite que l'émission fréquente de jetons STS n'affecte négativement vos services en cas d'envoi d'un grand nombre de requêtes. Pour plus d'informations sur cette limite, consultez Le nombre de requêtes d'API STS est-il limité ? Vous pouvez configurer le paramètre DurationSeconds pour spécifier une durée de validité pour un jeton STS.

Lorsque vous chargez ou téléchargez des objets Object Storage Service (OSS) sur des appareils mobiles, un grand nombre de requêtes d'API STS sont envoyées. Dans ce cas, la réutilisation d'un jeton STS peut ne pas répondre à vos exigences métier. Pour éviter que la limite des requêtes d'API STS n'affecte l'accès à OSS, vous pouvez ajouter une signature à l'URL d'un objet OSS. Pour plus d'informations, consultez Ajouter des signatures aux URL et Obtenir des informations de signature auprès du serveur et charger des données vers OSS.

Testez maintenant

Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.

Test

Autorisation RAM

Le tableau ci-dessous décrit les autorisations nécessaires pour appeler cette API. Vous pouvez les définir dans une politique Resource Access Management (RAM). Les colonnes du tableau sont détaillées ci-dessous :

  • Action : les actions peuvent être utilisées dans l'élément Action des instructions de politique de permissions RAM pour accorder les autorisations nécessaires à l'exécution de l'opération.

  • API : l'API que vous pouvez appeler pour exécuter l'action.

  • Niveau d'accès : le niveau d'accès prédéfini accordé pour chaque API. Valeurs valides : create, list, get, update et delete.

  • Type de ressource : le type de ressource qui prend en charge l'autorisation pour exécuter l'action. Il indique si l'action prend en charge les permissions au niveau de la ressource. La ressource spécifiée doit être compatible avec l'action. Sinon, la politique sera inefficace.

    • Pour les API avec permissions au niveau de la ressource, les types de ressource requis sont marqués d'un astérisque (*). Spécifiez l'Alibaba Cloud Resource Name (ARN) correspondant dans l'élément Resource de la politique.

    • Pour les API sans permissions au niveau de la ressource, la valeur All Resources est affichée. Utilisez un astérisque (*) dans l'élément Resource de la politique.

  • Clé de condition : les clés de condition définies par le service. La clé permet un contrôle granulaire, applicable aux actions seules ou aux actions associées à des ressources spécifiques. En plus des clés de condition propres au service, Alibaba Cloud fournit un ensemble de clés de condition communes applicables à tous les services pris en charge par RAM.

  • Action dépendante : les actions dépendantes requises pour exécuter l'action. Pour mener à bien l'opération, l'utilisateur RAM ou le rôle RAM doit disposer des permissions pour toutes les actions dépendantes.

sts:AssumeRole

get

*Role

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

  • sts:SourceIdentity
  • sts:SetSourceIdentity

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

DurationSeconds

integer

Non

La durée de validité du jeton STS. Unité : secondes.

Valeur minimale : 900. Valeur maximale : la valeur du paramètre MaxSessionDuration. Valeur par défaut : 3600.

Vous pouvez appeler l'opération CreateRole ou UpdateRole pour configurer le paramètre MaxSessionDuration. Pour plus d'informations, consultez CreateRole et UpdateRole.

3600

Policy

string

Non

La stratégie qui spécifie les autorisations du jeton STS renvoyé. Cela vous permet de mettre en œuvre un contrôle d'accès plus granulaire.

  • Si vous spécifiez ce paramètre, les autorisations du jeton STS renvoyé correspondent à l'intersection des autorisations définies dans cette stratégie et des autorisations accordées par la stratégie du rôle.

  • Si vous ne spécifiez pas ce paramètre, le jeton STS renvoyé dispose de toutes les autorisations du rôle RAM.

La valeur doit comporter de 1 à 2 048 caractères.

Pour plus d'informations sur les éléments de stratégie et les exemples de stratégies, consultez Éléments de stratégie et Vue d'ensemble des exemples de stratégies.

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

RoleArn

string

Oui

L'Alibaba Cloud Resource Name (ARN) du rôle RAM.

L'entité de confiance du rôle RAM est un compte Alibaba Cloud. Pour plus d'informations, consultez Créer un rôle RAM pour un compte Alibaba Cloud de confiance et CreateRole.

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

Vous pouvez consulter les ARN des rôles RAM en utilisant la console RAM ou en appelant des opérations d'API.

  • Pour plus d'informations sur la façon de consulter l'ARN d'un rôle RAM dans la console RAM, consultez la section « Comment consulter l'ARN d'un rôle RAM ? » de la rubrique FAQ sur les rôles RAM et les jetons STS.

  • Pour plus d'informations sur la façon de consulter l'ARN en appelant des opérations, consultez ListRoles et GetRole.

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

RoleSessionName

string

Oui

Le nom de la session de rôle.

La valeur est définie par l'utilisateur. Dans la plupart des cas, vous pouvez définir ce paramètre sur l'identité de l'utilisateur qui appelle l'opération. Par exemple, vous pouvez spécifier un nom d'utilisateur. Vous pouvez spécifier RoleSessionName pour identifier les appelants d'API qui endossent le même rôle RAM dans les journaux ActionTrail. Cela vous permet de suivre les utilisateurs qui effectuent les opérations.

Le nom doit comporter de 2 à 64 caractères et peut contenir des lettres, des chiffres et les caractères spéciaux suivants : . @ - _.

alice

ExternalId

string

Non

L'identifiant externe du rôle RAM.

La valeur de ce paramètre est fournie par une partie externe et est utilisée pour éviter le problème de confusion de mandataire. Pour plus d'informations, consultez Utiliser des identifiants externes pour éviter le problème de confusion de mandataire.

L'identifiant doit comporter de 2 à 1 224 caractères et peut contenir des lettres, des chiffres et les caractères spéciaux suivants : = , . @ : / - _. L'expression régulière pour ce paramètre est [\w+=,.@:\/-]*.

abcd1234

SourceIdentity

string

Non

Les informations d'identité source.

Lorsqu'un utilisateur endosse un rôle, l'identité source de l'utilisateur peut être spécifiée comme identité initiale d'une session. L'identité source spécifiée persiste tout au long de la session de rôle et ne peut pas être modifiée. Cela garantit la traçabilité et la sécurité des opérations.

La valeur doit comporter de 2 à 64 caractères et peut contenir des lettres, des chiffres et les caractères spéciaux suivants : =,.@-_. L'expression régulière pour ce paramètre est [\w+=,.@-]*. La valeur ne peut pas commencer par acs:, aliyun: ou alibabacloud:. Ces préfixes sont utilisés en interne au sein d'Alibaba Cloud.

Alice

Pour plus d'informations sur les paramètres de requête courants, consultez Paramètres courants.

Éléments de réponse

Élément

Type

Description

Exemple

object

Les paramètres de réponse.

RequestId

string

L'identifiant de la requête.

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

AssumedRoleUser

object

L'identité temporaire que vous utilisez pour endosser le rôle RAM.

AssumedRoleId

string

L'identifiant de l'identité temporaire que vous utilisez pour endosser le rôle RAM.

34458433936495****:alice

Arn

string

L'ARN de l'identité temporaire que vous utilisez pour endosser le rôle RAM.

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

Credentials

object

Les informations d'identification STS.

SecurityToken

string

Le jeton STS.

Remarque

Alibaba Cloud STS n'impose pas de limites sur la longueur des jetons STS. Nous vous recommandons de ne pas spécifier de longueur maximale pour les jetons STS.

********

Expiration

string

L'heure d'expiration du jeton STS. L'heure est affichée en UTC.

2015-04-09T11:52:19Z

AccessKeySecret

string

Le secret AccessKey.

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

L'identifiant AccessKey.

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

Les informations d'identité source.

Lorsqu'un utilisateur endosse un rôle, l'identité source de l'utilisateur peut être spécifiée comme identité initiale d'une session. L'identité source spécifiée persiste tout au long de la session de rôle et ne peut pas être modifiée. Cela garantit la traçabilité et la sécurité des opérations.

Si le paramètre SourceIdentity n'a pas été spécifié dans la requête, ce champ est omis de la réponse.

Alice

Exemples

JSON format

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

Codes d'erreur

Code de statut HTTP

Code d'erreur

Message d'erreur

Description

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 .

Consultez Codes d'erreur pour la liste complète.

Notes de version

Consultez Notes de version pour la liste complète.