Obtiene un token de Security Token Service (STS) para asumir un rol de RAM durante el SSO de roles basado en OIDC mediante la operación AssumeRoleWithOIDC.
Descripción de la operación
Antes de comenzar
Asegúrese de haber obtenido un token OIDC de un proveedor de identidad (IdP) externo.
Asegúrese de haber creado un IdP OIDC en RAM. Para obtener más información, consulte Crear un IdP OIDC o CreateOIDCProvider.
Asegúrese de haber creado un rol de RAM cuya entidad de confianza sea el IdP OIDC. Para obtener más información, consulte Crear un rol de RAM para un IdP de confianza o CreateRole.
Pruébelo ahora
Test
Autorización de RAM
Parámetros de la solicitud
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
| OIDCProviderArn |
string |
No |
El nombre de recurso de Alibaba Cloud (ARN) del IdP OIDC. Puede ver el ARN del IdP OIDC en la consola de Resource Access Management (RAM) o mediante una operación de API:
|
acs:ram::113511544585****:oidc-provider/TestOidcIdp |
| RoleArn |
string |
No |
El ARN del rol de RAM que se va a asumir. Puede ver el ARN del rol en la consola de Resource Access Management (RAM) o mediante una operación de API:
|
acs:ram::113511544585****:role/testoidc |
| OIDCToken |
string |
No |
El token OIDC emitido por el IdP externo. Longitud: de 4 a 20,000 caracteres. Nota
Proporcione el token OIDC original sin decodificación Base64. |
eyJraWQiOiJKQzl3eHpyaHFKMGd0**** |
| Policy |
string |
No |
Una política de permisos adicional adjunta al token de STS para restringir aún más sus permisos:
Longitud: de 1 a 2,048 caracteres. |
{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
| DurationSeconds |
integer |
No |
El periodo de validez del token. Unidad: segundos. Valor predeterminado: 3600. Valor mínimo: 900. Valor máximo: el valor especificado por Para establecer la duración máxima de la sesión |
3600 |
| RoleSessionName |
string |
Sí |
El nombre de la sesión de rol. Este es un parámetro definido por el usuario. Establezca este parámetro con la identidad del llamador de la API, como un nombre de usuario. En los registros de ActionTrail, puede usar diferentes valores de RoleSessionName para distinguir a los operadores reales incluso cuando se utiliza el mismo rol de RAM, lo que permite la auditoría de acceso a nivel de usuario. Formato: El valor puede contener letras, dígitos, puntos (.), signos de arroba (@), guiones (-) y guiones bajos (_). Longitud: de 2 a 64 caracteres. |
TestOidcAssumedRoleSession |
Dado que la operación AssumeRoleWithOIDC utiliza un token OIDC para la autenticación y admite acceso anónimo, no necesita proporcionar los parámetros de solicitud comunes Signature, SignatureMethod, SignatureVersion o 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. |
3D57EAD2-8723-1F26-B69C-F8707D8B565D |
| OIDCTokenInfo |
object |
La información del token OIDC analizada. |
|
| Subject |
string |
El sujeto OIDC. Esto corresponde al campo |
KryrkIdjylZb7agUgCEf**** |
| Issuer |
string |
La URL del emisor OIDC. Esto corresponde al campo |
https://dev-xxxxxx.okta.com |
| ClientIds |
string |
La audiencia OIDC. Los valores múltiples se separan con comas (,). Esto corresponde al campo |
496271242565057**** |
| ExpirationTime |
string |
La hora de expiración del token OIDC (UTC). |
2021-10-20T04:27:09Z |
| IssuanceTime |
string |
La hora de emisión del token OIDC (UTC). |
2021-10-20T03:27:09Z |
| VerificationInfo |
string |
La información de verificación del token OIDC. Para obtener más información, consulte Gestionar un IdP OIDC. |
Success |
| AssumedRoleUser |
object |
La identidad temporal para la asunción de roles. |
|
| AssumedRoleId |
string |
El ID de la identidad temporal. |
33157794895460**** |
| Arn |
string |
El ARN de la identidad temporal. |
acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession |
| Credentials |
object |
Las credenciales de acceso temporales (token de STS). |
|
| SecurityToken |
string |
El token de seguridad. Nota
La longitud del token de seguridad no es fija. No imponga ningún límite de longitud máxima al token de seguridad. |
CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz**** |
| Expiration |
string |
La hora en la que expira el token (UTC). |
2021-10-20T04:27:09Z |
| AccessKeySecret |
string |
La clave de acceso secreta (AccessKey secret). |
CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2**** |
| AccessKeyId |
string |
El ID de la clave de acceso (AccessKey ID). |
STS.NUgYrLnoC37mZZCNnAbez**** |
| SourceIdentity |
string |
La información de identidad de origen. Al asumir un rol, puede especificar una identidad de origen (SourceIdentity) 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 cambiar, lo que garantiza la trazabilidad y la seguridad de las operaciones. Si no se especifica ninguna identidad de origen, este campo no se devuelve. |
Alice |
Ejemplos
Respuesta exitosa
JSON Formato
{
"RequestId": "3D57EAD2-8723-1F26-B69C-F8707D8B565D",
"OIDCTokenInfo": {
"Subject": "KryrkIdjylZb7agUgCEf****",
"Issuer": "https://dev-xxxxxx.okta.com",
"ClientIds": "496271242565057****",
"ExpirationTime": "2021-10-20T04:27:09Z",
"IssuanceTime": "2021-10-20T03:27:09Z",
"VerificationInfo": "Success"
},
"AssumedRoleUser": {
"AssumedRoleId": "33157794895460****",
"Arn": "acs:ram::113511544585****:role/testoidc/TestOidcAssumedRoleSession"
},
"Credentials": {
"SecurityToken": "CAIShwJ1q6Ft5B2yfSjIr5bSEsj4g7BihPWGWHz****",
"Expiration": "2021-10-20T04:27:09Z",
"AccessKeySecret": "CVwjCkNzTMupZ8NbTCxCBRq3K16jtcWFTJAyBEv2****",
"AccessKeyId": "STS.NUgYrLnoC37mZZCNnAbez****"
},
"SourceIdentity": "Alice"
}
Códigos de error
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.