Inicie sesión una sola vez desde un navegador para otorgar a Alibaba Cloud CLI credenciales temporales que le permitan llamar a las API de la nube. La CLI gestiona automáticamente la actualización y renovación del token, por lo que nunca tendrá que almacenar ni rotar pares de AccessKey de larga duración. Este es el método de autenticación recomendado para el desarrollo local.
Requisitos previos
Requisitos del entorno
Alibaba Cloud CLI versión
3.3.0o posterior. Ejecutealiyun versionpara comprobar la versión instalada. Si su versión es anterior a3.3.0, consulte Install or update the CLI para actualizarla antes de continuar.Una cuenta con acceso a la consola: una cuenta de Alibaba Cloud (cuenta raíz), un usuario de RAM o un usuario empresarial mediante SSO. Si utiliza un usuario de RAM, compruebe que el inicio de sesión en la consola esté habilitado. Para obtener más información, consulte Enable console logon.
Un entorno local con un navegador gráfico. Las sesiones exclusivas de terminal (como SSH sin reenvío X11) no admiten la configuración de OAuth.
Instalar la aplicación de Alibaba Cloud CLI y asignar identidades
Un administrador de RAM debe completar esta configuración antes de que cualquier usuario pueda utilizar credenciales de OAuth. Después de la configuración inicial, agregar nuevos usuarios solo requiere el paso 2.
Instalar la aplicación de la CLI (una sola vez): inicie sesión en la consola de RAM. En el panel de navegación izquierdo, elija . Cambie a la pestaña Third-party Application. Si la aplicación
official-clino aparece en la lista, haga clic en Provision Official Application y seleccione Official CLI.-
Asignar identidades: abra la página de detalles de la aplicación
official-cliy cambie a la pestaña Allowed Identities. Haga clic en Add Users or roles para agregar los usuarios o roles de RAM que necesiten usar Alibaba Cloud CLI.
Estos pasos se documentan en Install the CLI application y Assign identities.
Configurar credenciales
Las credenciales de OAuth requieren el comando interactivo aliyun configure --mode OAuth, que inicia un flujo de inicio de sesión en el navegador. El comando aliyun configure set solo escribe parámetros sin iniciar sesión.
-
Ejecute el siguiente comando. Reemplace
<ProfileName>con el nombre que prefiera (por ejemplo,OAuthProfile):aliyun configure --mode OAuth --profile <ProfileName> -
Seleccione el sitio de inicio de sesión cuando se le solicite
OAuth Site Type:aliyun configure --profile OAuthProfile --mode OAuth Configuring profile 'OAuthProfile' in 'OAuth' authenticate mode... OAuth Site Type (CN: 0 or INTL: 1, default: CN):Introduzca
0oCNpara el sitio de China (aliyun.com).Introduzca
1oINTLpara el sitio internacional (alibabacloud.com).Presione Entrar para aceptar el valor predeterminado (CN).
-
Complete el inicio de sesión en el navegador. Se abrirá automáticamente una ventana del navegador. Inicie sesión con sus credenciales de usuario de RAM. Si el navegador no se abre, copie la sign-in URL (SignIn URL) que se muestra en el mensaje de la CLI y péguela manualmente en un navegador:
Please open the following URL in your browser to authorize: https://signin.alibabacloud.com/oauth2/v1/auth?... Autorice la aplicación. En la página de autorización del navegador, haga clic en Authorize. Una vez completada correctamente la autorización, el navegador mostrará
Authorization successful. You can close this window.-
Establezca la región y el idioma predeterminados:
Default Region Id []: cn-shanghai Default Language [zh|en] en: enLos valores disponibles se enumeran en Regions and endpoints. Establezca la región predeterminada donde residan sus recursos, ya que algunos servicios no admiten llamadas entre regiones.
Cuando el terminal muestre
Configure Donejunto con un mensaje de bienvenida, la configuración habrá finalizado.
Después de configurar correctamente las credenciales, el nuevo perfil se convierte automáticamente en el perfil activo. Para cambiar a otro perfil, ejecute aliyun configure switch --profile <ProfileName>.
Renovación de credenciales
Las credenciales de OAuth constan de tres capas de token. La CLI gestiona la renovación automáticamente, por lo que no se requiere intervención manual durante el uso normal:
Token de Security Token Service (STS)
Token de acceso de OAuth
Token de renovación de OAuth
Cada vez que un token se renueva correctamente, el token anterior queda invalidado. El archivo de configuración (~/.aliyun/config.json) se actualiza automáticamente.
Eliminar credenciales
Ejecute el siguiente comando para eliminar un perfil de OAuth específico:
aliyun configure delete --profile <ProfileName>
Tras la eliminación:
El perfil y todos sus tokens de OAuth y STS almacenados se eliminan de
~/.aliyun/config.json.Esta acción no revoca la autorización de la aplicación de OAuth en RAM. No se requiere ninguna acción por parte del administrador.
Preguntas frecuentes
El navegador no se abre durante la autorización
La CLI imprime la URL de inicio de sesión en el terminal. Cópiela y ábrala manualmente. Si la página no carga, compruebe lo siguiente:
Que los puertos locales del 12345 al 12349 estén disponibles (la CLI usa uno de ellos para la devolución de llamada de autorización).
La conectividad de red hacia
signin.alibabacloud.com(sitio de China) osignin.alibabacloud.com(sitio internacional).
Error: The call is not authorized / You are not allowed to do this action.
El administrador no ha instalado la aplicación de la CLI en la cuenta de Alibaba Cloud a la que pertenece el usuario. Consulte los pasos descritos en Install the Alibaba Cloud CLI application and assign identities para instalar la aplicación y agregar al usuario a la lista de autorización de la aplicación de OAuth official-cli.
¿Puedo cambiar de AccessKey a OAuth sin eliminar mi perfil existente?
Sí. Cree un nuevo perfil de OAuth; sus perfiles existentes se conservarán. Cambie entre ellos en cualquier momento mediante aliyun configure switch --profile <profile-name>.
¿La CLI con OAuth admite el inicio de sesión con un rol de RAM?
Sí. Utilice cualquiera de estos enfoques:
Inicie sesión mediante role-based SSO desde su proveedor de identidades (IdP). Esto requiere que el SSO de roles esté configurado.
Inicie sesión primero como usuario de RAM y luego utilice switch identity para asumir el rol de RAM de destino en la consola.
Realice estos pasos antes de ejecutar aliyun configure --mode OAuth, para que la CLI detecte su identidad actual como el rol de RAM durante el paso de autorización en el navegador.