Todos los productos
Search
Centro de documentos

Alibaba Cloud CLI:RAM role credentials

Última actualización: Sep 05, 2026

Al configurar Alibaba Cloud CLI para asumir un rol de RAM, puede utilizar un AccessKey con privilegios bajos para obtener automáticamente credenciales temporales de STS y acceder a recursos en la nube, sin exponer directamente un AccessKey con privilegios altos. Este tema describe dos métodos de configuración: RamRoleArn (asunción directa de un rol de RAM) y ChainableRamRoleArn (asunción de un rol de RAM encadenando desde credenciales existentes de la CLI), así como sus escenarios aplicables.

Requisito de versión

Versión de Alibaba Cloud CLI ≥ 3.3.0. Ejecute aliyun version para comprobar la versión actual. Si su versión es anterior, consulte Install, update, and uninstall Alibaba Cloud CLI para actualizarla.

RamRoleArn

RamRoleArn utiliza un AccessKey con privilegios bajos para asumir un rol de RAM con mayores privilegios y obtener credenciales temporales de STS. El AccessKey solo necesita la política AliyunSTSAssumeRoleAccess. Los permisos efectivos se determinan según las políticas asociadas al rol destino. Este método es adecuado para entornos de desarrollo local y escenarios que requieren separación de privilegios.

Requisitos previos

  • Se ha creado un AccessKey para el usuario de RAM y se le ha otorgado la política AliyunSTSAssumeRoleAccess.

  • Se ha creado un rol de RAM destino y la política de confianza del rol permite que el usuario de RAM lo asuma.

  • Se ha obtenido el ARN del rol de RAM destino. Puede consultarlo en la página de detalles del rol en la consola de RAM. El formato es acs:ram::<ACCOUNT_ID>:role/<RoleName>.

Para obtener información detallada sobre la preparación de los requisitos previos, consulte los pasos bajo Indirectly use an AccessKey en Use an AccessKey pair to call APIs.

Configurar credenciales

Configuración interactiva

  1. Ejecute el siguiente comando para iniciar la configuración. Reemplace <ProfileName> con un nombre de perfil personalizado (por ejemplo, RamRoleProfile):

    aliyun configure --mode RamRoleArn --profile <ProfileName>
  2. Introduzca la información de configuración cuando se le solicite:

    Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[RamRoleArnProfile] ...Done.
  3. Cuando la terminal muestre Configure Done seguido de un mensaje de bienvenida, la configuración habrá finalizado.

Nota

Una vez completada la configuración correctamente, el perfil se convierte automáticamente en el perfil activo. Para cambiar a otro perfil, ejecute el comando aliyun configure switch --profile <ProfileName>.

Configuración no interactiva

Bash

aliyun configure set \
  --profile RamRoleArnProfile \
  --mode RamRoleArn \
  --access-key-id <yourAccessKeyID> \
  --access-key-secret <yourAccessKeySecret> \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"

PowerShell

aliyun configure set `
  --profile RamRoleArnProfile `
  --mode RamRoleArn `
  --access-key-id <yourAccessKeyID> `
  --access-key-secret <yourAccessKeySecret> `
  --sts-region "cn-hangzhou" `
  --ram-role-arn "acs:ram::012345678910****:role/Alice" `
  --role-session-name "alice" `
  --external-id "abcd1234" `
  --expired-seconds 900 `
  --region "cn-shanghai"

Parámetros completos

Parámetro

Obligatorio

Descripción

Ejemplo

--mode

Sí

Valor fijo RamRoleArn. Especifica el tipo de credencial.

RamRoleArn

--profile

No

Nombre del perfil. Si no se especifica, se utiliza el perfil activo actual de forma predeterminada. El nombre predeterminado del primer perfil es default. Se recomienda usar un nombre descriptivo para distinguir entre varios perfiles.

RamRoleProfile

--region

Sí

ID de región predeterminada.

cn-hangzhou

--access-key-id

Sí

ID del AccessKey del usuario de RAM. El usuario debe tener la política AliyunSTSAssumeRoleAccess.

LTAI5t****

--access-key-secret

Sí

AccessKey Secret correspondiente.

****

--ram-role-arn

Sí

ARN del rol de RAM destino. Puede obtenerlo en la página de detalles del rol en la consola de RAM.

acs:ram::191317683912****:role/DevOpsRole

--role-session-name

Sí

Nombre de sesión, utilizado para identificar esta asunción de rol en los registros de auditoría. Se recomienda usar un identificador significativo, como el nombre de una aplicación o de una máquina.

my-session

--expired-seconds

No

Periodo de validez de las credenciales temporales en segundos. Valores válidos: de 900 a 3600. El valor predeterminado es 900 segundos en la configuración interactiva. Si no se especifica en el comando configure set, el valor predeterminado es 3600 segundos.

900

--external-id

No

ID externo, utilizado para mejorar la seguridad durante la asunción de roles entre cuentas. Este parámetro es obligatorio solo cuando la política de confianza del rol destino lo requiere. Para más información, consulte Prevent the confused deputy problem with external IDs.

--sts-region

No

ID de región del endpoint de STS. Si no se especifica, se utiliza el endpoint global sts.aliyuncs.com.

cn-shanghai

Comprobar credenciales

Una vez completada la configuración, ejecute el siguiente comando para comprobar que las credenciales son efectivas:

aliyun sts get-caller-identity

Salida:

{
  "AccountId": "191317683912****",
  "Arn": "acs:ram::191317683912****:assumed-role/<role-name>/<role-session-name>",
  "IdentityType": "AssumedRoleUser",
  "PrincipalId": "30004467717606****:<role-session-name>",
  "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
  "RoleId": "30004467717606****"
}

Renovación de credenciales

La CLI gestiona automáticamente la renovación de credenciales sin intervención manual. Antes de que expiren las credenciales temporales de STS, la CLI vuelve a llamar a STS AssumeRole para obtener nuevas credenciales. Esto no afecta a los comandos de la CLI que se estén ejecutando.

ChainableRamRoleArn

ChainableRamRoleArn asume otro rol de RAM encadenando desde un perfil de credenciales existente en la CLI (el perfil origen). La CLI primero obtiene credenciales intermedias del perfil origen y luego utiliza esas credenciales para llamar a STS AssumeRole y obtener las credenciales temporales finales de STS. Este método es adecuado para escenarios de encadenamiento de roles de múltiples saltos entre cuentas, o para casos en los que necesite asumir roles adicionales basándose en un EcsRamRole.

El tipo de credencial ChainableRamRoleArn funciona especificando un perfil de credenciales origen, obteniendo credenciales intermedias (un AccessKey o credenciales temporales de STS) de dicho perfil y utilizándolas posteriormente para asumir el rol destino y obtener las credenciales temporales finales de STS.

Requisitos previos

  • Ya existe un perfil válido de la CLI (perfil origen), como un perfil EcsRamRole, AK o RamRoleArn configurado.

  • La entidad principal (usuario o rol de RAM) asociada al perfil origen tiene permiso para asumir el rol de RAM destino (la política de confianza del rol destino permite que la entidad principal lo asuma).

  • Se ha obtenido el ARN del rol de RAM destino, con el formato acs:ram::<ACCOUNT_ID>:role/<RoleName>.

Configurar credenciales

Configuración interactiva

  1. Ejecute el siguiente comando para iniciar la configuración. Reemplace <ProfileName> con un nombre de perfil personalizado (por ejemplo, ChainProfile):

    aliyun configure --mode ChainableRamRoleArn --profile <ProfileName>
  2. Introduzca la información de configuración cuando se le solicite:

    Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode...
    Source Profile []: RamRoleArnProfile
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[ChainableProfile] ...Done.
    Nota

    En el ejemplo anterior, RamRoleArnProfile es el nombre de un perfil origen existente y el ARN del rol de RAM es un valor de ejemplo. Reemplácelos con valores reales. Puede presionar Enter para omitir las solicitudes de Sts Region y External Id.

  3. Cuando la terminal muestre Configure Done seguido de un mensaje de bienvenida, la configuración habrá finalizado.

Nota

Una vez completada la configuración correctamente, el perfil se convierte automáticamente en el perfil activo. Para cambiar a otro perfil, ejecute el comando aliyun configure switch --profile <ProfileName>.

Configuración no interactiva

Ejemplo de comando:

Bash

aliyun configure set \
  --profile ChainableProfile \
  --mode ChainableRamRoleArn \
  --source-profile RamRoleArnProfile \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"

PowerShell

aliyun configure set `
  --profile ChainProfile `
  --mode ChainableRamRoleArn `
  --region cn-hangzhou `
  --source-profile EcsRoleProfile `
  --ram-role-arn acs:ram::<UID>:role/<RoleName> `
  --role-session-name chain-session `
  --expired-seconds 900
Importante

El perfil especificado por --source-profile ya debe existir en el archivo de configuración de la CLI. De lo contrario, se devolverá el error can not load the source profile: <name>. Ejecute aliyun configure list para ver todos los perfiles existentes.

Parámetros completos

Parámetro

Obligatorio

Descripción

Ejemplo

--mode

Sí

Valor fijo ChainableRamRoleArn. Especifica el tipo de credencial. Debe especificarse explícitamente y no admite inferencia automática.

ChainableRamRoleArn

--profile

No

Nombre del perfil. Si no se especifica, se utiliza el perfil activo actual de forma predeterminada. El nombre predeterminado del primer perfil es default.

ChainProfile

--region

Sí

ID de región predeterminada.

cn-hangzhou

--source-profile

Sí

Nombre del perfil origen. La CLI primero obtiene credenciales intermedias de este perfil y luego las utiliza para asumir el rol destino. El perfil ya debe existir.

EcsRoleProfile

--ram-role-arn

Sí

ARN del rol de RAM destino.

acs:ram::191317683912****:role/CrossAccountRole

--role-session-name

Sí

Nombre de sesión, utilizado para identificación en registros de auditoría.

chain-session

--expired-seconds

No

Periodo de validez de las credenciales temporales en segundos. Valores válidos: de 900 a 3600. Si no se especifica, el valor predeterminado es 3600 segundos.

900

--external-id

No

ID externo. Este parámetro es obligatorio solo cuando la política de confianza del rol destino lo requiere.

--sts-region

No

ID de región del endpoint de STS. Si no se especifica, se utiliza el endpoint global sts.aliyuncs.com.

cn-hangzhou

Comprobar credenciales

Una vez completada la configuración, ejecute el comando aliyun sts get-caller-identity para comprobar que las credenciales son efectivas.

Renovación de credenciales

La CLI gestiona automáticamente la renovación de credenciales sin intervención manual. Antes de que expiren las credenciales temporales de STS, la CLI primero renueva las credenciales del perfil origen (siguiendo la lógica de renovación de dicho perfil; por ejemplo, EcsRamRole se renueva mediante IMDS) y luego vuelve a llamar a STS AssumeRole para obtener nuevas credenciales.

Eliminar credenciales

Elimine las credenciales de rol de RAM de la configuración local de la CLI:

aliyun configure delete --profile <ProfileName>
Nota

Si el perfil eliminado es el perfil activo actual, la CLI cambia automáticamente al primer perfil de la lista.