Para el inicio de sesión único (SSO) basado en roles que utiliza Security Assertion Markup Language (SAML), llame a la operación AssumeRoleWithSAML para obtener una credencial de identidad temporal (un token de Security Token Service [STS]) para un rol de RAM.
Descripción de la operación
Requisitos previos
-
Obtenga una respuesta SAML de un proveedor de identidades (IdP) externo.
-
Cree un proveedor de identidades SAML en Resource Access Management (RAM). Para obtener más información, consulte Crear un proveedor de identidades SAML o CreateSAMLProvider.
-
Cree un rol de RAM para un proveedor de identidades SAML. Para obtener más información, consulte Crear un rol de RAM para un proveedor de identidades o CreateRole.
Pruébelo ahora
Test
Autorización de RAM
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| SAMLProviderArn |
string |
No |
El nombre de recurso de Alibaba Cloud (ARN) del IdP SAML creado en RAM. Formato: Puede ver el ARN del IdP en la consola de RAM o mediante una llamada a una operación de API:
|
acs:ram::123456789012****:saml-provider/company1 |
| RoleArn |
string |
No |
El ARN del rol de RAM que se va a asumir. La entidad de confianza del rol de RAM es un IdP SAML. Para obtener más información, consulte Crear un rol de RAM para un proveedor de identidades o CreateRole. Formato: Puede ver el ARN del rol en la consola de RAM o mediante una llamada a una operación de API:
|
acs:ram::123456789012****:role/adminrole |
| SAMLAssertion |
string |
No |
La aserción SAML codificada en Base64. El valor debe tener una longitud de 4 a 100,000 caracteres. Nota
Obtenga la respuesta SAML completa del IdP. No utilice únicamente el campo de aserción SAML. |
base64_encoded_saml_assertion |
| Policy |
string |
No |
Una política de acceso para limitar aún más los permisos del token de STS. Este parámetro funciona de la siguiente manera:
El valor debe tener una longitud de 1 a 2,048 caracteres. |
url_encoded_policy |
| DurationSeconds |
integer |
No |
La duración de caducidad del token. Unidad: segundos. El valor mínimo es de 900 segundos. El valor máximo es el valor del parámetro Puede configurar el parámetro |
3600 |
Dado que la operación AssumeRoleWithSAML utiliza una aserción SAML para la autenticación de identidad y permite el acceso anónimo, no necesita especificar los parámetros de solicitud comunes Signature, SignatureMethod, SignatureVersion ni AccessKeyId. Para obtener más información sobre los parámetros de solicitud comunes, consulte Parámetros de solicitud 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 |
| SAMLAssertionInfo |
object |
La información sobre la aserción SAML. |
|
| SubjectType |
string |
El formato del elemento NameID en la aserción SAML. Si el prefijo es |
persistent |
| Subject |
string |
El valor del campo |
alice@example.com |
| Issuer |
string |
El valor del campo |
http://example.com/adfs/services/trust |
| Recipient |
string |
El valor del atributo |
https://signin.alibabacloud.com/saml-role/SSO |
| AssumedRoleUser |
object |
La identidad temporal del rol asumido. |
|
| AssumedRoleId |
string |
El ID de la identidad temporal. |
34458433936495****:alice |
| Arn |
string |
El ARN de la identidad temporal. |
acs:sts::123456789012****:assumed-role/AdminRole/alice |
| Credentials |
object |
La credencial de acceso. |
|
| SecurityToken |
string |
El token de seguridad. Nota
El token de seguridad tiene una longitud variable. No imponga un límite de longitud máxima al token de seguridad. |
******** |
| Expiration |
string |
La hora de caducidad del token. La hora está en formato UTC. |
2015-04-09T11:52:19Z |
| AccessKeySecret |
string |
El secreto de AccessKey. |
wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK**** |
| AccessKeyId |
string |
El ID de AccessKey. |
STS.L4aBSCSJVMuKg5U1**** |
| SourceIdentity |
string |
La identidad de origen. Cuando asume un rol, puede especificar una identidad de origen para el usuario del rol. La identidad de origen se utiliza como la identidad inicial de la sesión. El valor de la identidad de origen persiste a lo largo de las sesiones encadenadas de asunción de roles y no se puede modificar. Esto garantiza la trazabilidad y la seguridad de las operaciones. Este parámetro no se devuelve si no configura una identidad de origen. |
Alice |
Ejemplos
Respuesta exitosa
JSON Formato
{
"RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F",
"SAMLAssertionInfo": {
"SubjectType": "persistent",
"Subject": "alice@example.com",
"Issuer": "http://example.com/adfs/services/trust",
"Recipient": "https://signin.alibabacloud.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"
}
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|---|---|---|---|
| 500 | InternalError | STS Server Internal Error happened, please send the RequestId to us. |
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.