CloudSSO は Alibaba Cloud CLI と統合されています。ユーザーは、ブラウザまたは Alibaba Cloud CLI を使用して CloudSSO ユーザーポータルにログインできます。Alibaba Cloud CLI を使用して CloudSSO にアクセスする場合、ユーザーはリソースディレクトリのアカウントと必要なアクセス構成を選択して、Alibaba Cloud リソースにアクセスする必要があります。このトピックでは、Alibaba Cloud CLI を使用して CloudSSO にアクセスする方法について説明します。
背景情報
Alibaba Cloud CLI 3.0.271 以降のバージョン (新しいバージョン) では、CloudSSO 認証情報タイプが追加され、構成プロセスが簡素化されています。古いバージョンの操作方法も引き続き利用できます。現在の Alibaba Cloud CLI のバージョンは、aliyun version コマンドで確認できます。
新しいバージョン
新しいバージョンでは、対話型と非対話型の両方の構成方法が提供されています。対話型の構成方法では、プロセスガイドを通じて操作が簡素化されるため、ユーザーは簡単に始めることができます。非対話型の構成方法はスクリプト作成に適しており、自動構成を容易にします。
対話型構成
aliyun configure コマンドを実行して、対話モードで CloudSSO ログイン情報の設定を開始します。複数のプロファイルを指定し、特定のプロファイルを選択して、アカウントとアクセス構成をすばやく切り替えることができます。
aliyun configure --profile SSOProfile --mode CloudSSO
プロンプトに従って、ユーザーログイン URL を入力します。
aliyun configure --profile SSOProfile --mode CloudSSO
CloudSSO Sign In Url []: https://signin-******.alibabacloudsso.com/device/login
表示されたブラウザで、ユーザーポータルにログインします。ユーザーポータルにログインしたら、ブラウザを閉じます。
ブラウザが表示されない場合は、CLI に表示されるログイン URL とユーザーコードをコピーして、ユーザーポータルにログインします。
例:
If the browser does not open automatically, use the following URL to complete the login process:
SignIn url: https://signin-****.alibabacloudsso.com/device/code
User code: *********
CLI はログインが成功したことを示し、アクセス可能なリソースディレクトリのアカウントのユーザー名を出力します。アクセスしたいアカウントの番号を入力します。
Now you can login to your account with SSO configuration in the browser.
You have successfully logged in.
Please choose an account:
1. <RD Management Account>
2. AccountName
Please input the account number: 1
CLI は利用可能なアクセス構成を出力します。使用したいアクセス構成の番号を入力します。
Please choose an access configuration:
1. AccessConfiguration1
2. AccessConfiguration2
Please input the access configuration number: 2
デフォルトのリージョンを指定します。
Default Region Id []: cn-hangzhou
構成が成功すると、「Configure Done」メッセージとウェルカムメッセージが表示されます。
非対話モード
aliyun configure set コマンドを実行して、非対話モードで CloudSSO 認証情報を構成します。次の表に、認証情報に必要なパラメーターとオプションを示します:
オプション | 説明 | 値の例 |
profile | 認証情報構成の名前。 この名前はユーザーがカスタマイズでき、大文字 (A-Z)、小文字 (a-z)、数字 (0-9)、および特殊文字 (_/+=.@-) を含めることができます。 | SSOProfile |
mode | 認証情報タイプ。 このシナリオでは、値は CloudSSO である必要があります。 | CloudSSO |
cloud-sso-sign-in-url | ユーザーログイン URL。 取得方法: CloudSSO コンソールにログインし、[概要] ページの右側でユーザーログイン URL を取得します。 | https://signin-******.alibabacloudsso.com/device/login |
cloud-sso-account-id | リソースディレクトリのアカウントの UID。 取得方法: CloudSSO コンソールにログインし、[複数アカウントの権限管理] ページの右側でリソースディレクトリのアカウントの UID を取得します。 | 012345678910**** |
cloud-sso-access-config | アクセス構成の ID。 取得方法: CloudSSO コンソールにログインし、[アクセス設定] ページでアクセス構成の ID を取得します。 | ac-012345678910abcde**** |
region | デフォルトのリージョン。 一部のクラウドサービスは、クロスリージョンアクセスをサポートしていません。リソースのリージョンを指定することをお勧めします。 | cn-hangzhou |
構成コマンド:
説明 非対話モードで CloudSSO 認証情報を構成した後、認証情報を使用する最初のログイン時に aliyun configure --profile <profileName> コマンドを実行する必要があります。
古いバージョン
手順
ステップ 1: CLI のインストール
Alibaba Cloud CLI と CloudSSO CLI をインストールする必要があります。
ステップ 2: CloudSSO へのアクセスに関する情報の設定
次のコマンドを実行して、CloudSSO へのアクセスに関する情報を構成します。
acs-sso configure
ユーザーログイン URL signinUrl を入力します。
説明 ユーザーログイン URL signinUrl の取得方法: CloudSSO コンソールにログインし、[概要] ページの右側にある [ユーザーログイン URL] を取得します。
リクエストの例:
acs-sso configure
? please input 'signinUrl': https://signin-******.alibabacloudsso.com/device/login
正常なレスポンスの例:
configuration done!
ステップ 3: CloudSSO ユーザーとして Alibaba Cloud にログインする
以下は、一般的に使用されるコマンドのリストです。
デフォルトログイン
次のコマンドを実行します。
acs-sso login
表示されるブラウザで、ユーザーポータルにログインします。 ユーザーポータルにログインした後、ブラウザを閉じます。
ブラウザが表示されない場合は、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: *********
現在のユーザーに、リソースディレクトリの複数のアカウントに対するアクセス権限が割り当てられている場合、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 はリソースディレクトリのアカウントとアクセス構成にアタッチされます。キャッシュされたアカウントとアクセス構成は、次回のログイン時に使用されます。
CloudSSO ログイン構成名を指定します。
acs-sso login --profile sso
リソースディレクトリ内の複数のアカウントとアクセス構成のログイン情報を一度に設定したい場合は、ログインプロファイルを指定して、特定のアカウントとそのアクセス構成を使用できます。この場合、ログインプロファイルは、リソースディレクトリ内の複数のアカウントとそのアクセス構成を区別するために使用されます。--profile を使用して、CloudSSO のさまざまなログインプロファイルを指定できます。上記のコマンドは、ログインプロファイルが sso であることを指定します。
--profile が指定されていない場合、デフォルトのログインプロファイルは default です。
ログイン構成の取得
acs-sso profile --list
特定のログイン構成の削除
次のコマンドを実行して、デフォルトのログイン構成を削除します。
acs-sso profile --delete --profile default
次のコマンドを実行して、sso という名前のログイン構成を削除します。
acs-sso profile --delete --profile sso
出力モードの設定
必要に応じて、次のいずれかのモードを設定できます:
外部プロセスモード (デフォルト): Alibaba Cloud CLI の 外部プロセス (External) モードを使用する場合、この出力モードを使用できます。
応答の例:
{
"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 の使用
リクエストの例:
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.
この例では、Process Command は acs-sso login --profile sso コマンドを使用して、CloudSSO のログインプロファイルが 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...........D888888888888888888888=...........
............ .:D8888888888888888888.........78888888888888888888O ..............
次のコマンドを実行して、Alibaba Cloud CLI が使用可能かどうかを確認します。
aliyun sts GetCallerIdentity --profile sso