Después de instalar Alibaba Cloud CLI, configure sus credenciales de identidad e instale un plugin de producto en la nube para comenzar a realizar llamadas a la API. Este tema utiliza ECS como ejemplo para guiarlo a través del proceso completo, desde la instalación de la CLI hasta la ejecución de su primer comando.
Descripción general de la solución
Para llamar a las API de productos en la nube mediante Alibaba Cloud CLI, siga estos cuatro pasos:
Requisitos previos
Debe tener una cuenta de Alibaba Cloud. Si no tiene una, vaya al sitio web oficial de Alibaba Cloud para registrarse.
Paso 1: Instalar Alibaba Cloud CLI
En Linux, ejecute el siguiente comando de instalación con un solo clic:
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"
Para obtener instrucciones de instalación en otros sistemas operativos, consulte Install or update CLI.
Después de la instalación, ejecute el siguiente comando para comprobar la versión:
aliyun version
Asegúrese de que el número de versión sea 3.3.0 o posterior. De lo contrario, reinstale la CLI.
Si prefiere no instalar la CLI localmente, utilice Cloud Shell. Esta herramienta incluye Alibaba Cloud CLI preinstalada y autentica automáticamente la sesión de su navegador. Puede comenzar directamente desde el Paso 3.
Paso 2: Configurar las credenciales de identidad
Alibaba Cloud CLI admite varios métodos de autenticación de identidad. Utilice la autenticación OAuth siempre que sea posible. Si utiliza una AccessKey, no la escriba directamente en su código fuente.
Autenticación OAuth
OAuth completa la autenticación mediante el inicio de sesión a través de su navegador. No necesita crear ni gestionar claves manualmente.
No es posible utilizar la autenticación OAuth en servidores sin interfaz gráfica. Cambie a la pestaña de autenticación AccessKey en su lugar.
Los administradores de RAM deben completar las siguientes tareas con antelación: crear una aplicación OAuth de CLI y asignar identidades a los usuarios que necesiten acceso a la CLI. Para más detalles, consulte el Paso 1 y el Paso 2 en Configure OAuth authentication for Alibaba Cloud CLI. Los usuarios de una cuenta de Alibaba Cloud (la cuenta utilizada durante el registro) no necesitan realizar estas tareas.
-
Ejecute el siguiente comando para iniciar la configuración de OAuth:
aliyun configure --mode OAuth --profile defaultLa opción
--profile defaultguarda estas credenciales bajo el nombre de perfildefault. La CLI admite varios perfiles con nombre. Utilice--profile mydevpara alternar entre diferentes credenciales. La CLI le solicitará que seleccione un sitio de inicio de sesión. Presione Enter para aceptar la configuración predeterminada.
-
La CLI abre automáticamente su navegador para completar la autorización. Su terminal mostrará una salida similar a la siguiente:
Please open the following URL in your browser to authorize: https://signin.alibabacloud.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 If the browser does not open automatically, use the following URL to complete the login process: SignIn url: https://signin.alibabacloud.com/oauth2/v1/auth?response_type=code&client_id=40381819545577*****&redirect_uri=http%3A%2F%2F127.0.0.1%3A12345%2Fcli%2Fcallback&state=CdI6CcOsxQUiCuFl&code_challenge=vDr1QWI5TI9q6UMMs2djJzxCmcAySjrYK6UD4Gu2res&code_challenge_method=S256 Now you can login to your account with OAuth configuration in the browser.Si el navegador no se abre automáticamente, copie la URL de inicio de sesión que se muestra en la terminal y ábrala manualmente en su navegador para iniciar sesión.
-
Después de una autorización correcta, regrese a la terminal e introduzca su ID de región predeterminada y el idioma de la terminal. Ejemplo de salida de la terminal:
Default Region Id []: cn-hangzhou Default Output Format [json]: json (Only support json) Default Language [zh|en] en: zh Saving profile[oauth-1] ...Done. Configure Done!!! ..............888888888888888888888 ........=8888888888888888888D=.............. ...........88888888888888888888888 ..........D8888888888888888888888I........... .........,8888888888888ZI: ...........................=Z88D8888888888D.......... .........+88888888 ..........................................88888888D.......... .........+88888888 .......Welcome to use Alibaba Cloud.......O8888888D.......... .........+88888888 ............. ************* ..............O8888888D.......... .........+88888888 .... Command Line Interface(Reloaded) ....O8888888D.......... .........+88888888...........................................88888888D.......... ..........D888888888888DO+. ..........................?ND888888888888D.......... ...........O8888888888888888888888...........D8888888888888888888888=........... ............ .:D8888888888888888888.........78888888888888888888O .............. -
Compruebe que sus credenciales sean válidas:
aliyun sts get-caller-identitySi la respuesta incluye
AccountIdyArn, sus credenciales son válidas.NotaSi recibe un error
Forbidden.NoPermission, su usuario actual no tiene permisos suficientes. Póngase en contacto con el administrador de RAM de su organización para otorgar los permisos obligatorios a su usuario RAM. Si utiliza una cuenta de Alibaba Cloud, compruebe que el estado de su cuenta sea normal.
Autenticación AccessKey
Una AccessKey es una credencial de larga duración. No la escriba directamente en su código fuente ni en archivos de configuración. Pásela mediante variables de entorno en su lugar. Utilice AccessKeys únicamente en entornos personales de desarrollo y prueba. Para entornos de producción, utilice OAuth. Para más información, consulte Secure credential usage practices.
Si ya tiene una AccessKey, utilice su AccessKey ID y AccessKey secret existentes y omita este paso. Si no tiene una, vaya a la consola de RAM para crear un usuario RAM y generar una AccessKey. Para más detalles, consulte Create a RAM user.
-
Ejecute el siguiente comando para iniciar la configuración de AccessKey:
aliyun configure --mode AK --profile defaultLa opción
--profile defaultguarda estas credenciales bajo el nombre de perfildefault. La CLI admite varios perfiles con nombre. Utilice--profile mydevpara alternar entre diferentes credenciales. Introduzca su AccessKey ID, AccessKey secret, ID de región predeterminada (como
cn-hangzhou) y el idioma de la terminal cuando se le solicite.-
Compruebe que sus credenciales sean válidas:
aliyun sts get-caller-identitySi la respuesta incluye
AccountIdyArn, sus credenciales son válidas. Si recibe un error, compruebe que su AccessKey ID y secret sean correctos.NotaSi recibe un error
Forbidden.NoPermission, su usuario RAM actual no tiene permisos suficientes. Póngase en contacto con el administrador de RAM de su organización para otorgar los permisos obligatorios. Si utiliza una cuenta de Alibaba Cloud, compruebe que el estado de su cuenta sea normal.
Alibaba Cloud CLI también admite otros tipos de credenciales, como tokens de Security Token Service para escenarios de autorización temporal. Para más detalles, consulte Configure and manage identity credentials.
Paso 3: Instalar un plugin de producto en la nube
Los comandos de Alibaba Cloud CLI para cada producto en la nube se empaquetan como plugins y se instalan bajo demanda.
Utilizando ECS como ejemplo, instale el plugin de ECS:
aliyun plugin install --names ecs
Si la terminal muestra Plugin aliyun-cli-ecs x.x.x installed successfully!, la instalación se completó correctamente.
Para más información sobre cómo instalar y gestionar plugins, consulte Quickly install cloud product CLI plugins.
Paso 4: Ejecutar un comando
Ejecute el siguiente comando para listar las regiones disponibles:
aliyun ecs describe-regions --accept-language zh-CN
La opción --accept-language zh-CN especifica que el idioma de la respuesta es chino.
Ejemplo de salida del comando (extracto):
{
"Regions": {
"Region": [
{
"RegionId": "cn-hangzhou",
"RegionEndpoint": "ecs.cn-hangzhou.aliyuncs.com",
"LocalName": "China (Hangzhou)"
},
{
"RegionId": "cn-shanghai",
"RegionEndpoint": "ecs.cn-shanghai.aliyuncs.com",
"LocalName": "China (Shanghai)"
},
{
"RegionId": "cn-beijing",
"RegionEndpoint": "ecs.cn-beijing.aliyuncs.com",
"LocalName": "China (Beijing)"
}
]
},
"RequestId": "5BEAEC76-E9B4-47B2-8D24-A3C31D5D2EEF"
}
El RequestId es un identificador único para cada llamada a la API y se utiliza para la resolución de problemas.
Preguntas frecuentes
¿Por qué recibo un error de "Unauthorized call" durante la configuración de OAuth?
Su cuenta actual no tiene los permisos de gestión de RAM necesarios para crear una aplicación OAuth. Cambie a una cuenta de administrador de RAM o solicite a su administrador que cree la aplicación OAuth y asigne las identidades. Para conocer los requisitos específicos de permisos, consulte OAuth credentials.
¿Por qué necesito instalar un plugin para usar los comandos de productos en la nube?
Alibaba Cloud CLI utiliza una arquitectura basada en plugins. El núcleo de la CLI se mantiene ligero, mientras que los comandos para cada producto en la nube se empaquetan por separado como plugins. Esto le permite instalar y actualizar plugins bajo demanda sin necesidad de actualizar toda la CLI. Ejecute aliyun plugin list-remote para ver todos los plugins disponibles.
¿Cómo sé si un producto en la nube es compatible con la CLI?
Ejecute aliyun plugin list-remote para ver todos los plugins disponibles, o visite la página principal de CLI del portal OpenAPI y busque por producto.
¿Puedo usar la autenticación OAuth en un servidor sin interfaz gráfica?
No. La autenticación OAuth requiere inicio de sesión y autorización basados en navegador.