Authentifiez Alibaba Cloud CLI avec OAuth au lieu des paires AccessKey. OAuth obtient des informations d'identification STS à courte durée de vie via un flux de connexion PKCE basé sur un navigateur, éliminant ainsi les clés en texte clair des fichiers de configuration locaux.
Présentation
Alibaba Cloud CLI v3.0.299 et versions ultérieures prennent en charge OAuth comme type d'information d'identification. OAuth utilise une connexion interactive via un navigateur basée sur le flux OAuth 2.0 PKCE pour obtenir un jeton permettant d'accéder aux ressources Alibaba Cloud.
Avantages par rapport à l'authentification par paire AccessKey :
Sécurité améliorée : aucune paire AccessKey en texte clair dans les fichiers de configuration locaux, ce qui réduit le risque de fuite d'informations d'identification.
Intégration de l'authentification existante : fonctionne avec les passkeys, l'authentification multifacteur (MFA) et le SSO (basé sur l'utilisateur et sur le rôle).
Prérequis
Assurez-vous que les exigences suivantes sont satisfaites :
Version de la CLI : Alibaba Cloud CLI
v3.0.299ou version ultérieure installée.Autorisations d'administrateur : l'administrateur RAM effectuant la configuration initiale dispose de l'autorisation
AliyunRAMFullAccess.Environnement : la CLI et le navigateur doivent s'exécuter sur le même appareil. Les environnements sans interface graphique (tels que les terminaux Linux connectés via SSH) ne sont pas pris en charge.
Procédure
-
Un administrateur crée l'application CLI. Un administrateur RAM crée l'application CLI dans RAM en utilisant l'une des deux méthodes suivantes :
Création via le consentement de l'administrateur. Un administrateur RAM lance la première connexion OAuth depuis la CLI et accorde son consentement dans le navigateur. Le système crée automatiquement une application OAuth nommée
official-cli.Provisionnement depuis la console. Un administrateur RAM provisionne l'application
official-clidepuis la console RAM, en contournant l'étape de consentement.
Un administrateur attribue des identités. Un administrateur RAM (et non le compte racine) attribue des utilisateurs RAM ou des rôles RAM à l'application. Seules les identités attribuées peuvent se connecter via OAuth.
Un utilisateur autorise et se connecte à la CLI. L'utilisateur RAM attribué exécute la commande de configuration, qui ouvre un navigateur. Une fois que l'utilisateur s'est connecté et a accordé l'autorisation, la CLI obtient un jeton pour finaliser l'authentification.
Étape 1 : Créer l'application CLI
Un administrateur RAM disposant des autorisations AliyunRAMFullAccess effectue cette étape.
Création via le consentement de l'administrateur
-
Sélectionnez le mode d'authentification OAuth. Exécutez la commande suivante pour commencer à configurer la connexion OAuth. Spécifiez un nom de profil tel que
OAuthProfile.aliyun configure --profile OAuthProfile --mode OAuth -
Sélectionnez le site de connexion. Lorsque vous y êtes invité, saisissez le
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):Saisissez
0ouCNpour Alibaba Cloud Chine.Saisissez
1ouINTLpour Alibaba Cloud International.Appuyez sur Entrée pour utiliser la valeur par défaut (CN).
-
Connectez-vous en tant qu'administrateur. La CLI ouvre automatiquement un navigateur. Si le navigateur ne s'ouvre pas, copiez l'URL de connexionSignIn url affichée dans l'invite de la CLI et collez-la dans votre navigateur.
Exemple :
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=... -
Accordez le consentement de l'administrateur. Sur la page Official Application Authorization, cliquez sur AccorderGrants. Cette action crée une application tierce OAuth nommée
official-clidans votre compte. Ce consentement est une action unique et n'est requis à nouveau que si l'applicationofficial-cliest supprimée.

La CLI demande les étendues OAuth suivantes lors de l'autorisation. Les étendues définissent les autorisations que l'application peut exercer au nom de l'utilisateur.
Étendue OAuth
Description
openidObtient l'OpenID de l'utilisateur RAM — un identifiant unique qui n'expose pas d'informations sensibles telles que l'UID Alibaba Cloud ou le nom d'utilisateur.
/internal/ram/userstsObtient des informations d'identification STS pour appeler les API des services Alibaba Cloud.
RemarqueCette étendue est actuellement disponible uniquement pour l'application CLI officielle.
Provisionnement depuis la console
Connectez-vous à la console RAM.
Dans le volet de navigation de gauche, choisissez Integrations, puis cliquez sur l'onglet Third-party ApplicationThird-party Application.
Sur l'onglet Third-party ApplicationThird-party Application, cliquez sur Provision Official ApplicationProvision Official Application.
-
Dans la boîte de dialogue Provision Official ApplicationProvision Official Application, sélectionnez Official CLIOfficial CLI, puis cliquez sur OKOK.


Sur l'onglet Third-party ApplicationThird-party Application, vérifiez que l'application
official-cliest créée.
Étape 2 : Attribuer des identités
Si vous avez créé l'application CLI via le consentement de l'administrateur, vous êtes invité à attribuer des utilisateurs après l'autorisation. Si vous avez provisionné l'application depuis la console, ignorez l'étape 1.
-
Cliquez sur Go nowGo now. La page redirige vers les détails de l'application OAuth dans la console RAM.


Vous pouvez également vous connecter à la console RAM, accéder à Integrations, cliquer sur l'onglet Third-party ApplicationThird-party Application, puis rechercher et cliquer sur l'application
official-clidans la liste Third-party ApplicationThird-party Application. Sur la page des détails de l'application
official-cli, cliquez sur l'onglet Allowed IdentitiesAllowed Identities, puis cliquez sur Add Users or rolesAdd Users or roles.-
Dans le panneau Add Users or rolesAdd Users or roles, sélectionnez les utilisateurs RAM ou les rôles RAM à autoriser, puis cliquez sur OK.

Étape 3 : Autoriser et se connecter à la CLI
Un utilisateur RAM attribué à l'application official-cli effectue cette étape sur son propre appareil.
-
Sélectionnez le mode d'authentification OAuth. Exécutez la commande suivante pour commencer la configuration de la connexion OAuth.
aliyun configure --profile OAuthProfile --mode OAuth Sélectionnez le site de connexion. Lorsque vous y êtes invité, sélectionnez
CNouINTL.Connectez-vous en tant qu'utilisateur. Dans la fenêtre du navigateur qui s'ouvre, connectez-vous avec votre identité d'utilisateur RAM.
-
Accordez l'autorisation de l'utilisateur. Sur la page User Authorization, cliquez sur AccorderGrants. L'autorisation de l'utilisateur n'est requise que lors de la première connexion. Les connexions ultérieures ignorent cette étape, sauf si l'application
official-cliest supprimée.

Se connecter avec un rôle. Vous pouvez également vous connecter avec un rôle RAM. Utilisez le SSO basé sur les rôles depuis votre fournisseur d'identité (IdP), ou connectez-vous à la console et changez de rôle. Après avoir établi la session de rôle, exécutez la commande de configuration. La CLI utilise cette session active pour finaliser l'authentification.
RemarqueLe consentement de l'administrateur et l'autorisation de l'utilisateur ont des objectifs différents. L'autorisation de l'utilisateur est requise même après que le consentement de l'administrateur a été accordé.
Consentement de l'administrateur : enregistre l'application
official-clidans votre compte Alibaba Cloud et permet aux identités attribuées d'y accéder.Autorisation de l'utilisateur : accorde à la CLI l'autorisation d'accéder aux ressources Alibaba Cloud ou d'effectuer des actions spécifiques au nom de l'utilisateur.
-
Définissez la région par défaut. Une fois l'autorisation réussie, revenez au terminal et saisissez une région par défaut.
Default Region Id []: cn-hangzhouDefault Region Id []: ap-southeast-1RemarqueCertains produits cloud ne prennent pas en charge l'accès inter-région. Définissez la région par défaut sur celle où se trouvent vos ressources.
Lorsque le terminal affiche
Configure Doneet un message de bienvenue, la configuration est terminée.-
(Facultatif) Vérifiez l'identité connectée. Exécutez la commande suivante pour vérifier l'identité actuelle de la CLI :
aliyun sts get-caller-identity --profile OAuthProfile
Limitations
L'application
official-cline peut pas être attribuée à un groupe d'utilisateurs. Attribuez-la à des utilisateurs RAM ou des rôles RAM spécifiques.La CLI et le navigateur doivent s'exécuter sur le même appareil. Les environnements sans interface graphique (tels que les serveurs Linux connectés via SSH) ne sont pas pris en charge.
Dépannage
Erreur « Unauthorized call » lors du consentement de l'administrateur
Cause : le compte connecté au navigateur ne dispose pas de l'autorisation AliyunRAMFullAccess et n'est pas un compte d'administrateur RAM.
Solution : déconnectez-vous, reconnectez-vous avec un compte d'administrateur RAM disposant de l'autorisation AliyunRAMFullAccess, puis réessayez. Contactez votre administrateur si vous ne disposez pas des autorisations requises.