Alibaba Cloud CLIは、APIに基づいて開発された汎用のコマンドラインツールです。 Alibaba Cloud CLIを使用して、Security Token Service (STS) の自動管理とメンテナンスを実装できます。 このトピックでは、Alibaba Cloud CLIを使用してSTSのAPI操作を呼び出す方法について説明します。 この例では、STSのAssumeRole操作を呼び出して、一時的なID資格情報を取得します。
始める前に
このトピックを読む前に、次の概念を理解する必要があります。
手順1: Alibaba Cloud CLIのインストール
Alibaba Cloud CLIを使用する前にインストールする必要があります。 Alibaba Cloud CLIは、Windows、Linux、およびmacOSをサポートしています。 Alibaba Cloud CLIをインストールするときに、デバイスのオペレーティングシステムに基づいてインストールパッケージを選択します。
Alibaba Cloud Cloud Shellを使用して、Alibaba Cloud CLIで実行するコマンドをデバッグすることもできます。 Cloud Shellの詳細については、「Cloud Shellとは」をご参照ください。
ステップ2: Alibaba Cloud CLIの設定
AssumeRole操作は、RAM (Resource Access Management) ユーザーまたはRAMロールとしてのみ呼び出すことができます。 Alibaba Cloudアカウントを使用して操作を呼び出すことはできません。 この例では、RAMユーザーを使用して操作を呼び出します。
Alibaba Cloud CLIを使用する前に、Alibaba Cloud CLIでID資格情報とリージョンIDを指定する必要があります。 Alibaba Cloud CLIは、さまざまなタイプのID資格情報をサポートしています。 詳細については、「プロファイルの設定」トピックの「資格情報の種類」セクションをご参照ください。 この例では、AccessKeyペアがID資格情報として使用されます。
RAMユーザーを作成し、RAMユーザーのAccessKeyペアを作成します。 詳細については、「RAM ユーザーの作成」および「AccessKeyペアの作成」をご参照ください。
RAM ユーザーに必要な権限を付与します。 この例では、
AliyunSTSAssumeRoleAccessポリシーがRAMユーザーにアタッチされています。 ポリシーは、STSのAssumeRole操作を呼び出す権限を付与します。 詳細については、「RAMユーザーへの権限付与」をご参照ください。使用するリージョンのIDを取得します。 Alibaba Cloud CLIは、指定したリージョンIDを使用してAPI呼び出しを開始します。 詳細については、「エンドポイント」をご参照ください。
説明Alibaba Cloud CLIを使用する場合、
-- regionオプションを使用して、特定のリージョンでコマンドを実行できます。 このオプションを使用すると、Alibaba Cloud CLIはデフォルトの資格情報設定と環境変数のリージョン情報を無視します。 詳細については、「API呼び出しのコマンドラインオプション」をご参照ください。RAMユーザーのAccessKeyペアを使用して、
AkProfile設定ファイルでID資格情報を設定します。 詳細については、「プロファイルの設定」トピックの「設定例」をご参照ください。
ステップ3: RAMロールの作成
RoleArnパラメーターは、RAMロールのAlibaba Cloudリソース名 (ARN) を示し、AssumeRole操作を呼び出すために必要です。 パラメーターの値を取得するには、信頼できるAlibaba CloudのRAMロールを作成する必要があります。
この例では、手順2: Alibaba Cloud CLIの設定で作成されたRAMユーザーを使用して、RAMロールを引き受ける必要があります。 したがって、信頼できるAlibaba Cloudアカウントを、手順2: Alibaba Cloud CLIの設定で作成したRAMユーザーが属するAlibaba CloudアカウントのIDに設定する必要があります。 詳細については、「信頼できるAlibaba CloudアカウントのRAMロールの作成」をご参照ください。
RAMロールにアタッチされている信頼ポリシーを変更して、RAMロールを引き受けることができるRAMユーザーを変更することもできます。 詳細については、「RAM ロールの信頼ポリシーを編集する」をご参照ください。
ステップ4: CLIコマンドの生成
OpenAPI Explorerで、 AssumeRole
操作を呼び出します。
[パラメーター] タブで、リクエストパラメーターを設定します。 次に、[CLIの例] タブをクリックして、生成されたサンプルコマンドを表示します。
Cloud ShellでCLIコマンドを実行するか、CLIコマンドをコピーします。
アイコンをクリックしてCloud Shellを起動し、Cloud ShellでCLIコマンドをデバッグします。 アイコンをクリックして、
CLIコマンドをクリップボードにコピーします。 CLIコマンドをオンプレミスシェルに貼り付けて、コマンドを実行することもできます。 説明CLIコマンドをオンプレミスのシェルに貼り付けてデバッグするときは、パラメーターの形式に注意してください。 Alibaba Cloud CLIで必要なパラメーター形式の詳細については、「パラメーター形式」をご参照ください。
デフォルトでは、OpenAPI Explorerは、生成されたCLIコマンドに
-- regionオプションを追加します。 コマンドをローカルシェルにコピーすると、Alibaba Cloud CLIはデフォルトのID資格情報設定と環境変数のリージョン情報を無視し、オプションで指定されたリージョンでコマンドを優先的に実行します。 ビジネス要件に基づいてオプションを削除または保持できます。

手順5: STSのAPI操作の呼び出し
例1: Alibaba Cloud CLIを使用して呼び出すことができるSTS APIのクエリ
次のコードは、-- helpオプションを使用して、Alibaba Cloud CLIを使用して呼び出すことができるSTS API操作をクエリする方法の例を示しています。 サポートされているAPI操作は、関数別の操作の一覧でも表示できます。
以下のコマンドを実行します。
aliyun sts --helpコマンド出力を表示します。

例2: 引き受けるRAMロールの一時的なID資格情報の取得
次のコードは、Alibaba Cloud CLIを使用してSTSのAssumeRole操作を呼び出す方法の例を示しています。 この操作は、引き受けるRAMロールの一時的なID資格情報を取得するために呼び出されます。
以下のコマンドを実行します。
説明次のいずれかの方法を使用して、コマンドパラメーターに関するヘルプ情報を取得できます。
aliyun sts AssumeRole -- helpコマンドを実行して、コマンドパラメーターの提案を取得します。AssumeRoleトピックを読んで、パラメーターの詳細を表示します。
aliyun sts AssumeRole \ --DurationSeconds 3600 \ --Policy '{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}' \ --RoleSessionName alice \ --RoleArn 'acs:ram::123456789012****:role/adminrole' \ --ExternalId abcd1234期待されるコマンド出力を表示します。 出力の
SecurityTokenパラメーターは、照会する一時的なID資格情報を示します。{ "RequestId": "6894B13B-6D71-4EF5-88FA-F32781734A7F", "AssumedRoleUser": { "AssumedRoleId": "34458433936495****:alice", "Arn": "acs:ram::123456789012****:role/adminrole/alice" }, "Credentials": { "SecurityToken": "********", "Expiration": "2015-04-09T11:52:19Z", "AccessKeySecret": "wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****", "AccessKeyId": "STS.L4aBSCSJVMuKg5U1****" } }説明STSのAPI操作を呼び出した後にエラーメッセージが返された場合は、返されたエラーコードに基づいて、リクエストパラメーターとリクエストパラメーターの値が有効かどうかを確認する必要があります。
ページで返されたリクエストIDまたはSDKのエラー情報に基づいて診断を実行することもできます。