すべてのプロダクト
Search
ドキュメントセンター

CloudSSO:Alibaba Cloud CLI を使用して CloudSSO と Alibaba Cloud リソースにアクセスする

最終更新日:Jan 18, 2025

CloudSSO は Alibaba Cloud CLI と統合されています。ユーザーは、ブラウザまたは Alibaba Cloud CLI を使用して CloudSSO ユーザーポータルにログインできます。ユーザーが Alibaba Cloud CLI を使用して CloudSSO にアクセスする場合、Alibaba Cloud リソースにアクセスするには、リソースディレクトリのアカウントと必要なアクセス構成を選択する必要があります。このトピックでは、Alibaba Cloud CLI を使用して CloudSSO にアクセスする方法について説明します。

手順 1:CLI をインストールする

Alibaba Cloud CLI と CloudSSO CLI をインストールする必要があります。

  • Alibaba Cloud CLI をインストールする

  • CloudSSO CLI をインストールする

    1. Node.js をインストールします。

      Node.js をインストールする際に、パッケージ管理ツール npm をインストールします。

      説明

      Node.js 7.6.0 以降をインストールする必要があります。 最新の長期サポート (LTS) バージョンをインストールすることをお勧めします。 詳細については、LTS にアクセスしてください。

    2. 次のコマンドを実行して、CloudSSO CLI をインストールします。

      npm i @alicloud/sso-cli -g

    詳細については、「CloudSSO CLI」をご参照ください。

手順 2:CloudSSO へのアクセスに関する情報を構成する

  1. 次のコマンドを実行して、CloudSSO へのアクセスに関する情報を構成します。

    acs-sso configure
  2. CloudSSO ユーザーポータルへのログインに使用される URL を示す signinUrl を入力します。

    説明

    signinUrl を取得するには、CloudSSO コンソール にログインし、[概要] ページに移動して、右側の [ユーザーログイン URL] セクションを見つけます。

    リクエストの例:

    acs-sso configure
    ? please input 'signinUrl': https://signin-******.alibabacloudsso.com/device/login

    正常なレスポンスの例:

    configuration done!

手順 3:CloudSSO ユーザーを使用して Alibaba Cloud にログインする

以下は、一般的に使用されるコマンドのリストです。

  • デフォルトログイン

    1. 次のコマンドを実行します。

      acs-sso login
    2. 表示されるブラウザで、ユーザーポータルにログインします。 ユーザーポータルにログインした後、ブラウザを閉じます。

      ブラウザが表示されない場合は、CLI で提供されているログイン URL とユーザーコードをコピーして、ユーザーポータルにログインします。

      例:

      If your default browser is not opened automatically, please use the following URL to finish the signin process.
      Signin URL: https://signin-****.alibabacloudsso.com/device/code
      User Code: *********
    3. 現在のユーザーに、リソースディレクトリの複数のアカウントに対するアクセス権限が割り当てられている場合、CLI はアカウントと、そのアカウントのアクセス構成を選択するように求めます。 その後、CLI はアカウントの AccessKey ペアを生成します。

      例:

      You have logged in.
      used account: test-account(191585963325****)
      used access configuration: TestAC(ac-x08xz11covd3cyzd****)
      {
        "mode": "StsToken",
        "access_key_id": "STS.****",
        "access_key_secret": "****",
        "sts_token": "****"
      }

    ユーザーポータルにログインすると、選択したアカウントとアクセス構成は profile オプションにキャッシュされます。 キャッシュされたアカウントとアクセス構成は、次回のログインに使用されます。

  • ログインプロファイルを使用してログインする

    acs-sso login --profile sso

    リソースディレクトリの複数のアカウントとアクセス構成のログイン情報を一度に構成する場合は、ログインプロファイルを指定して、特定のアカウントとそのアクセス構成を使用できます。 この場合、ログインプロファイルは、リソースディレクトリの複数のアカウントとそのアクセス構成を区別するために使用されます。 --profile オプションを使用して、異なるログインプロファイルを指定できます。 前述のコマンドは、ログインプロファイルが sso であることを指定しています。

    --profile オプションを使用してログインプロファイルを指定しない場合、default という名前のログインプロファイルが使用されます。

  • ログイン構成を取得する。

    acs-sso profile --list
  • 特定のログイン構成を削除する。

    次のコマンドを実行して、デフォルトのログイン構成を削除します。

    acs-sso profile --delete --profile default

    次のコマンドを実行して、sso という名前のログイン構成を削除します。

    acs-sso profile --delete --profile sso
  • 出力モードを構成する。

    ビジネス要件に基づいて、次のモードのいずれかを構成できます。

    • 外部プロセスモード: Alibaba Cloud CLI で --mode External を使用する場合は、このモードを使用できます。 このモードはデフォルト値です。 詳細については、「Use an external program to get credentials」をご参照ください。

      例:

      {
        "mode": "StsToken",
        "access_key_id": "STS.NUyPeEoab****",
        "access_key_secret": "GBubpmh****",
        "sts_token": "CAIS****"
      }
    • 環境変数モード: --env パラメーターを構成することで、このモードを使用できます。 例: acs-sso login --profile user1 --env

      例:

      export ALIBABACLOUD_ACCESS_KEY_ID=STS.NUyPeEoab****
      export ALIBABACLOUD_ACCESS_KEY_SECRET=GBubpmh****
      export SECURITY_TOKEN=CAIS****

      環境変数は、Terraform などの Alibaba Cloud ツールと組み合わせて使用できます。 例: `acs-sso login --profile user1 --env` && terraform plan

      環境変数は、Alibaba Cloud CLI と組み合わせて使用できます。 例: `acs-sso login --profile user1 --env` && aliyun ecs DescribeRegions

手順 4:Alibaba Cloud CLI を使用して CloudSSO にアクセスする

リクエストの例:

aliyun configure --mode External --profile sso
Configuring profile 'sso' in 'External' authenticate mode...
Process Command []: acs-sso login --profile sso
Default Region Id []: cn-shanghai
Default Output Format [json]: json (Only support json)
Default Language [zh|en] en: 
Saving profile[sso] ...Done.

acs-sso login --profile sso in Process Command は、ログインプロファイルが sso であることを指定しています。Alibaba Cloud CLI と CloudSSO CLI の両方で同じプロファイルを指定することをお勧めします。 こうすることで、複数のログインプロファイルが構成されている場合、CLI 認証情報を複数回構成し、CLI 認証情報を異なるログインプロファイルと一致させることができます。

正常なレスポンスの例:

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 ..............

次のコマンドを実行して、Alibaba Cloud CLI が使用可能かどうかを確認します。

aliyun sts GetCallerIdentity --profile sso