AccessKey ペアの代わりに OAuth を使用して Alibaba Cloud CLI を認証します。 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以降がインストールされていること。管理者権限: 初期設定を行う Resource Access Management (RAM) 管理者が
AliyunRAMFullAccess権限を持っていること。環境: CLI とブラウザが同じデバイス上で実行されていること。 ヘッドレス環境 (SSH 接続された Linux ターミナルなど) はサポートされていません。
操作手順
管理者が CLI アプリケーションを作成します。 RAM 管理者は、以下の 2 つの方法のいずれかを使用して、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):0またはCNを入力すると Alibaba Cloud 中国サイト1またはINTLを入力すると Alibaba Cloud 国際サイト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 をスキップしてください。
[今すぐ移動] をクリックします。 ページは 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アプリケーションを登録し、割り当てられた ID がそれにアクセスできるようにします。ユーザーの権限付与: ユーザーに代わって Alibaba Cloud リソースにアクセスしたり、特定のアクションを実行したりする権限を CLI に付与します。
デフォルトリージョンの設定: 権限付与が成功したら、ターミナルに戻り、デフォルトリージョンを入力します。
Default Region Id []: ap-southeast-1説明一部のクラウドプロダクトは、リージョン間のアクセスをサポートしていません。 ご利用のリソースが配置されているリージョンをデフォルトリージョンとして設定してください。
ターミナルに
Configure Doneとウェルカムメッセージが表示されたら、設定は完了です。(オプション) ログイン ID の確認: 以下のコマンドを実行して、現在の CLI ID を確認します。
aliyun sts get-caller-identity --profile OAuthProfile
制限事項
official-cliアプリケーションはユーザーグループに割り当てることはできません。 特定の RAM ユーザーまたは RAM ロールに割り当ててください。CLI とブラウザは同じデバイスで実行する必要があります。 ヘッドレス環境 (SSH 接続された Linux サーバーなど) はサポートされていません。
トラブルシューティング
管理者の同意時の「Unauthorized call」エラー
原因: ブラウザにログインしているアカウントに AliyunRAMFullAccess 権限がなく、RAM 管理者アカウントでもありません。
解決策: ログアウトし、AliyunRAMFullAccess 権限を持つ RAM 管理者アカウントでログインして、再試行してください。 必要な権限がない場合は、ご利用の管理者にお問い合わせください。