Alibaba Cloud CLI の認証方式を AccessKey ペアから OAuth に置き換えます。OAuth はブラウザベースの PKCE ログインフローを使用して短期有効な STS 認証情報を取得し、ローカルの設定ファイルにプレーンテキストのキーを保存しないようにします。
概要
Alibaba Cloud CLI v3.0.299 以降では、認証情報の種類として OAuth がサポートされています。OAuth は OAuth 2.0 PKCE フロー に基づくインタラクティブなブラウザサインインを使用して、Alibaba Cloud リソースへのアクセス用トークンを取得します。
AccessKey ペア認証と比較した場合の利点は以下のとおりです。
-
セキュリティの向上:ローカルの設定ファイルにプレーンテキストの AccessKey ペアを保存しないため、認証情報漏洩のリスクを低減できます。
-
既存の認証との統合:パスキー、多要素認証 (MFA)、シングルサインオン (SSO)(ユーザーおよびロールベース)と連携します。
前提条件
以下の要件を満たしていることを確認してください。
-
CLI バージョン:Alibaba Cloud CLI
v3.0.299以降がインストールされていること。 -
管理者権限:初期設定を行う RAM 管理者が
AliyunRAMFullAccess権限を持っていること。 -
環境:CLI とブラウザが同一デバイス上で実行されていること。ヘッドレス環境(SSH 接続された Linux ターミナルなど)はサポートされていません。
操作手順
-
管理者による CLI アプリケーションの作成。 RAM 管理者は、次のいずれかの方法で RAM 内に CLI アプリケーションを作成します。
-
管理者による同意による作成。RAM 管理者が CLI から初回の OAuth ログインを開始し、ブラウザで同意を付与します。これにより、
official-cliという名前の OAuth アプリケーションが自動的に作成されます。 -
コンソールからのプロビジョニング。RAM 管理者が RAM コンソールから
official-cliアプリケーションをプロビジョニングし、同意ステップをスキップします。
-
-
管理者による ID の割り当て。RAM 管理者(ルートアカウントではない)が、アプリケーションに RAM ユーザーまたは RAM ロールを割り当てます。割り当てられた ID のみが OAuth 経由でサインインできます。
-
ユーザーによる CLI の承認とサインイン。 割り当てられた RAM ユーザーが構成コマンドを実行するとブラウザが開きます。ユーザーがサインインして承認を付与すると、CLI はトークンを取得して認証を完了します。
ステップ 1:CLI アプリケーションの作成
AliyunRAMFullAccess 権限を持つ RAM 管理者がこのステップを実行します。
管理者による同意による作成
-
OAuth 認証モードの選択。OAuth サインインの構成を開始するには、次のコマンドを実行します。
OAuthProfileのようなプロファイル名を指定します。aliyun configure --profile OAuthProfile --mode OAuth -
サインインサイトの選択。プロンプトが表示されたら、
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):-
Alibaba Cloud 中国の場合は、
0またはCNを入力します。 -
Alibaba Cloud 国際版の場合は、
1またはINTLを入力します。 -
Enter キーを押すとデフォルト値(CN)が使用されます。
-
-
管理者としてサインイン。CLI が自動的にブラウザを開きます。ブラウザが開かない場合は、CLI プロンプトから SignIn url をコピーし、ブラウザに貼り付けます。
例:
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=... -
管理者の同意を提供します。[公式アプリケーション承認] ページで、許可 をクリックします。これにより、アカウントに
official-cliという名前の OAuth サードパーティアプリケーションが作成されます。この同意は一度だけ行う操作であり、official-cliアプリケーションが削除された場合にのみ、再度必要になります。
CLI は、権限付与中に次の OAuth スコープをリクエストします。スコープは、アプリケーションがユーザーに代わって行使できる権限を定義します。
OAuth スコープ
説明
openidRAM ユーザーの OpenID を取得します。これは Alibaba Cloud UID やユーザー名などの機密情報を公開しない一意の識別子です。
/internal/ram/userstsAlibaba Cloud サービス API を呼び出すための STS 認証情報を取得します。
説明このスコープは現在、公式 CLI アプリケーションでのみ利用可能です。
コンソールからのプロビジョニング
-
RAM コンソールにログインします。
-
左側のナビゲーションウィンドウで、 を選択し、サードパーティアプリケーション タブをクリックします。
-
サードパーティアプリケーション タブで、公式アプリをインストール をクリックします。
-
公式アプリをインストール ダイアログボックスで、 OfficialCLITool を選択し、OK をクリックします。

-
サードパーティアプリケーション タブで、
official-cliアプリケーションが作成されたことを確認します。
ステップ 2:ID の割り当て
管理者による同意で CLI アプリケーションを作成した場合、承認後にユーザーの割り当てを促されます。コンソールからアプリケーションをプロビジョニングした場合は、ステップ 1 をスキップします。
-
Go now をクリックします。ページが RAM コンソール内の OAuth アプリケーション詳細にリダイレクトされます。

または、RAM コンソールにログインし、 に移動し、サードパーティアプリケーション タブをクリックして、サードパーティアプリケーション リストから
official-cliアプリケーションを見つけ、クリックします。 -
official-cliアプリケーション詳細ページで、割り当て タブをクリックし、割り当てを作成 をクリックします。 -
割り当てを作成 パネルで、承認する RAM ユーザーまたは RAM ロールを選択し、OK をクリックします。

ステップ 3:CLI の承認とサインイン
official-cli アプリケーションに割り当てられた RAM ユーザーが、自身のデバイスでこのステップを実行します。
-
OAuth 認証モードの選択。OAuth サインイン構成を開始するには、次のコマンドを実行します。
aliyun configure --profile OAuthProfile --mode OAuth -
サインインサイトの選択。プロンプトが表示されたら、
CNまたはINTLを選択します。 -
ユーザーとしてサインイン。開いたブラウザウィンドウで、RAM ユーザー ID でサインインします。
-
ユーザー権限付与を実行します。[ユーザー権限付与] ページで、許可 をクリックします。ユーザー権限付与は初回のサインイン時のみ必要です。その後のサインインでは、
official-cliアプリケーションが削除されない限り、このステップはスキップされます。
ロールでのサインイン。RAM ロールを使用してサインインすることもできます。IdP からロールベース SSO を使用するか、コンソールにサインインして[ロールを切り替える]ことができます。ロールセッションを確立したら、構成コマンドを実行します。CLI はこのアクティブなセッションを使用して認証を完了します。
説明管理者の同意とユーザーの権限付与は、それぞれ異なる目的を持ちます。管理者の同意が付与された後でも、ユーザーの権限付与は必須です。
-
管理者の同意:ご利用の Alibaba Cloud アカウントに
official-cliアプリケーションを登録し、割り当てられたアイデンティティがそのアプリケーションにアクセスできるようにします。 -
ユーザーの権限付与:CLI が Alibaba Cloud リソースにアクセスする、またはユーザーに代わって特定の操作を実行するための権限を付与します。
-
-
デフォルトリージョンの設定。承認が成功したら、ターミナルに戻り、デフォルトリージョンを入力します。
Default Region Id []: ap-southeast-1説明一部のクラウドプロダクトはリージョン間アクセスをサポートしていません。デフォルトリージョンは、ご利用のリソースがあるリージョンに設定してください。
-
ターミナルに
Configure Doneおよびウェルカムメッセージが表示されたら、構成は完了です。 -
(オプション)サインイン済み ID の確認。現在の CLI ID を確認するには、次のコマンドを実行します。
aliyun sts GetCallerIdentity --profile OAuthProfile
制限事項
-
official-cliアプリケーションはユーザーグループには割り当てられません。特定の RAM ユーザーまたは RAM ロールに割り当ててください。 -
CLI とブラウザは同一デバイス上で実行されている必要があります。ヘッドレス環境(SSH 接続された Linux サーバーなど)はサポートされていません。
トラブルシューティング
"Unauthorized call" エラーが管理者同意中に発生する
原因:ブラウザにサインインしているアカウントが AliyunRAMFullAccess 権限を持っておらず、RAM 管理者アカウントではありません。
解決策:サインアウトして、AliyunRAMFullAccess 権限を持つ RAM 管理者アカウントでサインインし、再試行してください。必要な権限がない場合は、管理者にお問い合わせください。