Tous les produits
Search
Centre de documentation

:AssumeRoleWithSAML

Dernière mise à jour :Aug 06, 2026

Pour l'authentification unique (SSO) basée sur les rôles utilisant le langage SAML (Security Assertion Markup Language), appelez l'opération AssumeRoleWithSAML afin d'obtenir des informations d'identification temporaires (un jeton STS, Security Token Service) pour un rôle RAM.

Description de l'opération

Prérequis

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

Aucune autorisation n'est requise pour cette opération. En cas de problème, contactez le support technique.

Paramètres de requête

Paramètre

Type

Requis

Description

Exemple

SAMLProviderArn

string

Non

L'Alibaba Cloud Resource Name (ARN) du fournisseur d'identité SAML créé dans RAM.

Format : acs:ram::<account_id>:saml-provider/<saml_provider_name>.

Vous pouvez consulter l'ARN du fournisseur d'identité dans la console RAM ou en appelant une opération d'API :

acs:ram::123456789012****:saml-provider/company1

RoleArn

string

Non

L'ARN du rôle RAM à endosser.

L'entité de confiance du rôle RAM est un fournisseur d'identité SAML. Pour plus d'informations, consultez Créer un rôle RAM pour un fournisseur d'identité ou CreateRole.

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

Vous pouvez consulter l'ARN du rôle dans la console RAM ou en appelant une opération d'API :

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

SAMLAssertion

string

Non

L'assertion SAML encodée en Base64.

La valeur doit comporter entre 4 et 100 000 caractères.

Remarque

Obtenez la réponse SAML complète auprès du fournisseur d'identité. N'utilisez pas uniquement le champ d'assertion SAML.

base64_encoded_saml_assertion

Policy

string

Non

Une stratégie d'accès pour limiter davantage les autorisations du jeton STS. Ce paramètre fonctionne comme suit :

  • Si vous spécifiez cette stratégie, les autorisations du jeton STS correspondent à l'intersection des autorisations accordées au rôle RAM et des autorisations spécifiées dans cette stratégie.

  • Si vous ne spécifiez pas cette stratégie, le jeton STS dispose de toutes les autorisations accordées au rôle RAM.

La valeur doit comporter entre 1 et 2 048 caractères.

url_encoded_policy

DurationSeconds

integer

Non

La durée d'expiration du jeton. Unité : secondes.

La valeur minimale est de 900 secondes. La valeur maximale est celle du paramètre MaxSessionDuration. La valeur par défaut est de 3 600 secondes.

Vous pouvez définir le paramètre MaxSessionDuration lorsque vous appelez l'opération CreateRole ou UpdateRole. Pour plus d'informations, consultez CreateRole ou UpdateRole.

3600

Remarque

Étant donné que l'opération AssumeRoleWithSAML utilise une assertion SAML pour l'authentification de l'identité et autorise l'accès anonyme, vous n'avez pas besoin de spécifier les paramètres de requête communs Signature, SignatureMethod, SignatureVersion ou AccessKeyId. Pour plus d'informations sur les paramètres de requête communs, consultez Paramètres de requête communs.

É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

SAMLAssertionInfo

object

Les informations relatives à l'assertion SAML.

SubjectType

string

Le format de l'élément NameID dans l'assertion SAML. Si le préfixe est urn:oasis:names:tc:SAML:2.0:nameid-format:, le préfixe est supprimé. Exemples : persistent et transient.

persistent

Subject

string

La valeur du champ Subject - NameID dans l'assertion SAML.

alice@example.com

Issuer

string

La valeur du champ Issuer dans l'assertion SAML.

http://example.com/adfs/services/trust

Recipient

string

La valeur de l'attribut Recipient dans le champ Subject - SubjectConfirmation - SubjectConfirmationData de l'assertion SAML.

https://signin.aliyun.com/saml-role/SSO

AssumedRoleUser

object

L'identité temporaire du rôle endossé.

AssumedRoleId

string

L'identifiant de l'identité temporaire.

34458433936495****:alice

Arn

string

L'ARN de l'identité temporaire.

acs:sts::123456789012****:assumed-role/AdminRole/alice

Credentials

object

Les informations d'identification d'accès.

SecurityToken

string

Le jeton de sécurité.

Remarque

Le jeton de sécurité a une longueur variable. N'imposez pas de limite de longueur maximale au jeton de sécurité.

********

Expiration

string

L'heure d'expiration du jeton. L'heure est au format UTC.

2015-04-09T11:52:19Z

AccessKeySecret

string

Le secret AccessKey.

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

L'identifiant AccessKey.

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

L'identité source.

Lorsque vous endossez un rôle, vous pouvez spécifier une identité source pour l'utilisateur du rôle. L'identité source est utilisée comme identité initiale de la session. La valeur de l'identité source persiste tout au long des sessions d'endossement de rôle en chaîne et ne peut pas être modifiée. Cela garantit la traçabilité et la sécurité des opérations.

Ce paramètre n'est pas renvoyé si vous ne définissez pas d'identité source.

Alice

Exemples

JSON format

{
  "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
  "SAMLAssertionInfo": {
    "SubjectType": "persistent",
    "Subject": "alice@example.com",
    "Issuer": "http://example.com/adfs/services/trust",
    "Recipient": "https://signin.aliyun.com/saml-role/SSO"
  },
  "AssumedRoleUser": {
    "AssumedRoleId": "34458433936495****:alice",
    "Arn": "acs:sts::123456789012****:assumed-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

500 InternalError STS Server Internal Error happened, please send the RequestId to us.

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

Notes de version

Consultez Notes de version pour la liste complète.