Une fois l'installation d'Alibaba Cloud CLI terminée, configurez vos identifiants et installez un plugin de produit cloud pour commencer à appeler les API. Cette rubrique utilise ECS comme exemple pour vous guider tout au long du processus, de l'installation de la CLI à l'exécution de votre première commande.
Présentation de la solution
Pour appeler les API des produits cloud via Alibaba Cloud CLI, suivez ces quatre étapes :
Prérequis
Vous devez disposer d'un compte Alibaba Cloud. Si ce n'est pas le cas, accédez au site web officiel d'Alibaba Cloud pour vous inscrire.
Étape 1 : Installer Alibaba Cloud CLI
Sous Linux, exécutez la commande d'installation automatique suivante :
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"
Pour installer la CLI sur d'autres systèmes d'exploitation, consultez la rubrique Installer ou mettre à jour la CLI.
Après l'installation, vérifiez la version en exécutant la commande suivante :
aliyun version
Assurez-vous que le numéro de version est 3.3.0 ou supérieur. Sinon, réinstallez la CLI.
Si vous préférez ne pas installer la CLI localement, utilisez Cloud Shell. Cet outil intègre Alibaba Cloud CLI par défaut et authentifie automatiquement votre session de navigateur. Vous pouvez passer directement à l'étape 3.
Étape 2 : Configurer les identifiants
Alibaba Cloud CLI prend en charge plusieurs méthodes d'authentification. Privilégiez l'authentification OAuth dans la mesure du possible. Si vous utilisez un AccessKey, évitez de le coder en dur dans votre code source.
Authentification OAuth
L'authentification OAuth s'effectue via une connexion dans votre navigateur. Vous n'avez pas besoin de créer ni de gérer manuellement des clés.
L'authentification OAuth n'est pas disponible sur les serveurs dépourvus d'interface graphique. Basculez vers l'onglet d'authentification AccessKey.
Les administrateurs RAM doivent préalablement effectuer les tâches suivantes : créer une application OAuth pour la CLI et attribuer des identités aux utilisateurs nécessitant un accès CLI. Pour plus de détails, consultez les étapes 1 et 2 de la rubrique Configurer l'authentification OAuth pour Alibaba Cloud CLI. Les titulaires d'un compte Alibaba Cloud (le compte utilisé lors de l'inscription) n'ont pas besoin d'effectuer ces tâches.
-
Exécutez la commande suivante pour démarrer la configuration OAuth :
aliyun configure --mode OAuth --profile defaultL'option
--profile defaultenregistre ces identifiants sous le nom de profildefault. La CLI prend en charge plusieurs profils nommés. Utilisez--profile mydevpour basculer entre différents jeux d'identifiants. La CLI vous invite à sélectionner un site de connexion. Appuyez sur Entrée pour accepter le paramètre par défaut.
-
La CLI ouvre automatiquement votre navigateur pour finaliser l'autorisation. Votre terminal affiche une sortie similaire à la suivante :
Please open the following URL in your browser to authorize: https://signin.aliyun.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.aliyun.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 le navigateur ne s'ouvre pas automatiquement, copiez l'URL de connexion affichée dans le terminal et ouvrez-la manuellement dans votre navigateur pour vous connecter.
-
Une fois l'autorisation réussie, retournez dans le terminal et saisissez votre ID de région par défaut ainsi que la langue du terminal. Voici un exemple de sortie du 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 .............. -
Vérifiez la validité de vos identifiants :
aliyun sts get-caller-identitySi la réponse inclut les champs
AccountIdetArn, vos identifiants sont valides.RemarqueSi vous recevez une erreur
Forbidden.NoPermission, votre utilisateur actuel ne dispose pas des autorisations suffisantes. Contactez l'administrateur RAM de votre organisation pour accorder les autorisations requises à votre utilisateur RAM. Si vous utilisez un compte Alibaba Cloud, vérifiez que le statut de votre compte est normal.
Authentification AccessKey
Un AccessKey est un identifiant à long terme. Ne le codez jamais en dur dans votre code source ou vos fichiers de configuration. Transmettez-le plutôt via des variables d'environnement. N'utilisez les AccessKeys que dans des environnements de développement et de test personnels. Pour les environnements de production, privilégiez OAuth. Pour plus d'informations, consultez la rubrique Bonnes pratiques pour une utilisation sécurisée des identifiants.
Si vous possédez déjà un AccessKey, utilisez votre AccessKey ID et votre AccessKey Secret existants, puis ignorez cette étape. Dans le cas contraire, accédez à la console RAM pour créer un utilisateur RAM et générer un AccessKey. Pour plus de détails, consultez la rubrique Créer un utilisateur RAM.
-
Exécutez la commande suivante pour démarrer la configuration AccessKey :
aliyun configure --mode AK --profile defaultL'option
--profile defaultenregistre ces identifiants sous le nom de profildefault. La CLI prend en charge plusieurs profils nommés. Utilisez--profile mydevpour basculer entre différents jeux d'identifiants. Lorsque vous y êtes invité, saisissez votre AccessKey ID, votre AccessKey Secret, votre ID de région par défaut (par exemple
cn-hangzhou) et la langue du terminal.-
Vérifiez la validité de vos identifiants :
aliyun sts get-caller-identitySi la réponse inclut les champs
AccountIdetArn, vos identifiants sont valides. En cas d'erreur, vérifiez que votre AccessKey ID et votre Secret sont corrects.RemarqueSi vous recevez une erreur
Forbidden.NoPermission, votre utilisateur RAM actuel ne dispose pas des autorisations suffisantes. Contactez l'administrateur RAM de votre organisation pour accorder les autorisations requises. Si vous utilisez un compte Alibaba Cloud, vérifiez que le statut de votre compte est normal.
Alibaba Cloud CLI prend également en charge d'autres types d'identifiants, tels que les jetons Security Token Service pour les scénarios d'autorisation temporaire. Pour plus de détails, consultez la rubrique Configurer et gérer les identifiants.
Étape 3 : Installer un plugin de produit cloud
Les commandes Alibaba Cloud CLI relatives à chaque produit cloud sont regroupées sous forme de plugins et installées à la demande.
Prenons ECS comme exemple et installons le plugin ECS :
aliyun plugin install --names ecs
Si le terminal affiche le message Plugin aliyun-cli-ecs x.x.x installed successfully!, l'installation a réussi.
Pour plus d'informations sur l'installation et la gestion des plugins, consultez la rubrique Installer rapidement des plugins CLI de produits cloud.
Étape 4 : Exécuter une commande
Exécutez la commande suivante pour lister les régions disponibles :
aliyun ecs describe-regions --accept-language zh-CN
L'option --accept-language zh-CN spécifie que la langue de la réponse est le chinois.
Exemple de sortie de commande (extrait) :
{
"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"
}
Le champ RequestId constitue un identifiant unique pour chaque appel API et sert au dépannage.
FAQ
Pourquoi obtiens-je une erreur « Unauthorized call » lors de la configuration OAuth ?
Votre compte actuel ne dispose pas des autorisations de gestion RAM nécessaires pour créer une application OAuth. Basculez vers un compte administrateur RAM ou demandez à votre administrateur de créer l'application OAuth et d'attribuer les identités. Pour connaître les exigences spécifiques en matière d'autorisations, consultez la rubrique Identifiants OAuth.
Pourquoi dois-je installer un plugin pour utiliser les commandes de produits cloud ?
Alibaba Cloud CLI repose sur une architecture basée sur des plugins. Le cœur de la CLI reste léger, tandis que les commandes de chaque produit cloud sont empaquetées séparément sous forme de plugins. Cela vous permet d'installer et de mettre à jour les plugins à la demande sans devoir mettre à niveau l'intégralité de la CLI. Exécutez aliyun plugin list-remote pour afficher tous les plugins disponibles.
Comment savoir si un produit cloud prend en charge la CLI ?
Exécutez aliyun plugin list-remote pour afficher tous les plugins disponibles, ou accédez à la page d'accueil CLI du portail OpenAPI et effectuez une recherche par produit.
Puis-je utiliser l'authentification OAuth sur un serveur sans interface graphique ?
Non. L'authentification OAuth nécessite une connexion et une autorisation via un navigateur.