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

Resource Access Management:Alibaba Cloud CLI を使用した STS API オペレーションの呼び出し

最終更新日:Mar 06, 2026

Alibaba Cloud CLI は、API をベースに開発された汎用コマンドラインツールです。Alibaba Cloud CLI を使用すると、Security Token Service (STS) の自動管理とメンテナンスを実行できます。このトピックでは、Alibaba Cloud CLI を使用して STS の API 呼び出しを行う方法について説明します。この例では、STS の AssumeRole オペレーションを呼び出して、一時的な認証情報を取得します。

事前準備

このトピックを読む前に、以下の概念を理解しておく必要があります。

ステップ 1: Alibaba Cloud CLI のインストール

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 オペレーションは、Resource Access Management (RAM) ユーザーまたは RAM ロールとしてのみ呼び出すことができます。Alibaba Cloud アカウントを使用してこのオペレーションを呼び出すことはできません。この例では、RAM ユーザーを使用してオペレーションを呼び出します。

Alibaba Cloud CLI を使用する前に、Alibaba Cloud CLI で認証情報とリージョン ID を指定する必要があります。Alibaba Cloud CLI は、さまざまな種類の認証情報をサポートしています。詳細については、「プロファイルの構成」トピックの「認証情報の種類」セクションをご参照ください。この例では、AccessKey ペアを認証情報として使用します。

  1. RAM ユーザーを作成し、その RAM ユーザーの AccessKey ペアを作成します。詳細については、「RAM ユーザーの作成」と「AccessKey ペアの作成」をご参照ください。

  2. 必要な権限を RAM ユーザーに付与します。この例では、AliyunSTSAssumeRoleAccess ポリシーが RAM ユーザーにアタッチされます。このポリシーは、STS の AssumeRole オペレーションを呼び出す権限を付与します。詳細については、「RAM ユーザーへの権限付与」をご参照ください。

  3. ご利用のリージョン ID を取得します。Alibaba Cloud CLI は、指定したリージョン ID を使用して API 呼び出しを開始します。詳細については、「エンドポイント」をご参照ください。

    説明

    Alibaba Cloud CLI を使用する際、--region オプションを使用して、特定のリージョンでコマンドを実行できます。このオプションを使用すると、Alibaba Cloud CLI は、デフォルトの認証情報設定と環境変数内のリージョン情報を無視します。詳細については、「コマンドラインオプション」をご参照ください。

  4. RAM ユーザーの AccessKey ペアを使用して、AkProfile 構成ファイルに認証情報を構成します。詳細については、「プロファイルの構成」トピックの「構成例」セクションをご参照ください。

ステップ 3: RAM ロールの作成

重要

RoleArn パラメーターは、RAM ロールの Alibaba Cloud Resource Name (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 コマンドの生成

  1. OpenAPI Explorer で、AssumeRole オペレーションを呼び出します。

  2. [パラメーター] タブで、リクエストパラメーターを設定します。次に、[CLI の例] タブをクリックして、生成されたサンプルコマンドを表示します。

  3. Cloud Shell で CLI コマンドを実行するか、CLI コマンドをコピーします。

    • image アイコンをクリックして Cloud Shell を起動し、Cloud Shell で CLI コマンドをデバッグします。

    • image アイコンをクリックして CLI コマンドをクリップボードにコピーします。CLI コマンドをローカルシェルに貼り付けて、コマンドを実行することもできます。

      説明
      • デバッグのために CLI コマンドをローカルシェルに貼り付ける際は、パラメーター形式に注意してください。Alibaba Cloud CLI で必要なパラメーター形式の詳細については、「パラメーター形式」をご参照ください。

      • デフォルトでは、OpenAPI Explorer は生成された CLI コマンドに --region オプションを追加します。コマンドをローカルシェルにコピーすると、Alibaba Cloud CLI はデフォルトの認証情報設定と環境変数内のリージョン情報を無視し、オプションで指定されたリージョンでコマンドを優先的に実行します。ビジネス要件に基づいて、このオプションを削除または保持できます。

image

ステップ 5: STS の API 呼び出し

例 1: Alibaba Cloud CLI を使用して呼び出し可能な STS API オペレーションのクエリ

次のコードは、--help オプションを使用して、Alibaba Cloud CLI で呼び出し可能な STS API オペレーションをクエリする方法の例を示しています。サポートされている API オペレーションは、「機能別オペレーションリスト」でも確認できます。

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

    aliyun sts --help
  2. コマンド出力を表示します。

    image

例 2: 偽装する RAM ロールの一時的な認証情報の取得

次のコードは、Alibaba Cloud CLI を使用して STS の AssumeRole オペレーションを呼び出す方法の例を示しています。このオペレーションは、偽装する RAM ロールの一時的な認証情報を取得するために呼び出されます。

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

    説明

    コマンドパラメーターに関するヘルプ情報を取得するには、次のいずれかの方法を使用できます。

    • 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
  2. 期待されるコマンド出力を表示します。出力の SecurityToken パラメーターは、クエリする一時的な認証情報を示します。

    {
      "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 エラー情報に基づいて、OpenAPI Troubleshoot ページで診断を実行することもできます。