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

Alibaba Cloud CLI:Alibaba Cloud CLI の高度な資格情報 (OIDC / CloudSSO / External / CredentialsURI / BearerToken) の設定

最終更新日:Jun 03, 2026

Alibaba Cloud CLI は、特定の統合シナリオ向けに、OIDC、CloudSSO、External、CredentialsURI、BearerToken という 5 つの高度な認証方式を提供します。これらの方式により、長期 AccessKey をローカルに保存する必要がなくなります。本トピックでは、RRSA (RAM Roles for Service Accounts) Pod、エンタープライズマルチアカウント管理、外部シークレットシステム、HTTP 認証情報サービス、または Bearer Token 認証を伴うシナリオで CLI を安全に使用できるよう、各方式のシナリオ、設定、および一般的な問題について説明します。

バージョン要件

Alibaba Cloud CLI バージョン 3.3.0 以降が必要です。aliyun version コマンドを実行して、現在のバージョンを確認します。バージョンが 3.3.0 より前の場合は、「CLI のインストールまたは更新」を参照してアップグレードしてください。

説明

BearerToken 方式には、Alibaba Cloud CLI バージョン 3.3.16 以降が必要です。

OIDC

OIDC 方式は、OIDC 互換の外部 ID プロバイダーから取得した ID トークンを使用して認証し、ロールを引き受けます。この方式は、RRSA が有効になっている ACK または ACS クラスター内の Pod で使用します。CLI は、Pod に自動的にマウントされる OIDC トークンファイルを読み取り、STS の AssumeRoleWithOIDC API を呼び出して一時的な認証情報を取得し、有効期限が切れる前に自動的に更新します。

前提条件

  • ACK または ACS クラスターを作成し、ACK または ACS の RRSA 機能を有効化済みであること。

  • OIDC ID プロバイダー用の RAM ロールを作成済みであり、その信頼ポリシーによって、ack-rrsa-{cluster-id} の形式でクラスターによって自動的に作成される OIDC ID プロバイダーがロールを引き受けることが許可されていること。

  • RRSA を使用して、Pod のサービスアカウントを RAM ロールに関連付けていること。

資格情報の設定

非インタラクティブ設定 (推奨)

RRSA を有効にした後、ack-pod-identity-webhook コンポーネントをインストールすると、以下の環境変数が自動的に Pod に設定されます。CLI はこれらの変数を自動的に認識します。コンポーネントのインストール手順については、「ACK マネージドクラスターのコンポーネント管理」をご参照ください。

  • ALIBABA_CLOUD_OIDC_PROVIDER_ARN

  • ALIBABA_CLOUD_OIDC_TOKEN_FILE

  • ALIBABA_CLOUD_ROLE_ARN

環境変数を使用してプロファイルを設定するには、次のコマンドを実行します。

aliyun configure set \
  --mode OIDC \
  --profile OIDCProfile \
  --oidc-provider-arn $ALIBABA_CLOUD_OIDC_PROVIDER_ARN \
  --oidc-token-file $ALIBABA_CLOUD_OIDC_TOKEN_FILE \
  --ram-role-arn $ALIBABA_CLOUD_ROLE_ARN \
  --role-session-name "rrsa-pod" \
  --region cn-shanghai

設定パラメーター

パラメーター

必須

説明

--oidc-provider-arn

はい

OIDC ID プロバイダーの ARN。RRSA を有効にすると、クラスターによって ack-rrsa-{cluster-id} の形式で自動的に作成されます。

ack-rrsa-c89e0f7db43bc4db2af3dc7a602f0****

--oidc-token-file

はい

ID トークンのファイルパス。

/var/run/secrets/ack.alibabacloud.com/rrsa-tokens/token

--ram-role-arn

はい

引き受ける RAM ロールの ARN。

--role-session-name

はい

監査ログ用のセッション識別子。このパラメーターはフラグとしてのみ使用可能で、対応する環境変数はありません。

rrsa-pod-name

--region

はい

デフォルトの リージョン。一部のクラウド製品はリージョン固有です。リソースが存在するリージョンをデフォルトに設定することを推奨します。

cn-shanghai

インタラクティブ設定

  1. 次のコマンドを実行して設定を開始します。<ProfileName> を、OIDCProfile などのカスタムプロファイル名に置き換えます。

    aliyun configure --mode OIDC --profile <ProfileName>
  2. プロンプトに従って、OIDC プロバイダーの ARN、OIDC トークンファイルのパス、RAM ロールの ARN、ロールセッション名、デフォルトのリージョン、および言語を入力します。

    Configuring profile 'OIDC_Profile' in 'OIDC' authenticate mode...
    OIDC Provider ARN []: acs:ram::012345678910****:oidc-provider/TestOidcIdp
    OIDC Token File []: /path/to/oidctoken
    RAM Role ARN []: acs:ram::012345678910****:role/TanakaHanako
    Role Session Name []: rrsa-pod-name
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[OIDC_Profile] ...Done.
  3. ターミナルに Configure Done とウェルカムメッセージが表示され、設定が正常に完了したことを示します。

設定が完了したら、ポッドで aliyun sts get-caller-identity コマンドを実行し、認証情報が有効であることを検証します。

認証情報の更新

ACK または ACS クラスターは、Pod 内の OIDC トークンファイルを自動的にローテーションします。Alibaba Cloud CLI は、STS の AssumeRoleWithOIDC API を自動的に呼び出し、最新の OIDC トークンを渡して資格情報を更新します。このプロセスはユーザーに対して透過的に行われます。

CloudSSO

CloudSSO 方式は、Alibaba Cloud の CloudSSO ディレクトリサービスを使用する企業向けです。これにより、統一された ID を使用して CLI にログインし、異なるリソースディレクトリのアカウントとアクセス設定を切り替えることができます。

前提条件

  • 所属企業で CloudSSO がデプロイされ、ユーザーディレクトリとアクセス設定が構成済みであること。

  • CloudSSO ユーザーに、少なくとも 1 つのアクセス設定が割り当てられていること。

  • 管理者から CloudSSO のログイン URL を取得済みであること。URL は通常、https://signin-<region>.alibabacloudsso.com/<directory-name>/login の形式です。CloudSSO ユーザーのログイン URL の取得方法については、「ユーザーポータル URL の取得」をご参照ください。

資格情報の設定

  1. 次のコマンドを実行して設定を開始します。<ProfileName> は、SSOProfile などのカスタムプロファイル名に置き換えます。

    aliyun configure --mode CloudSSO --profile <ProfileName>
  2. プロンプトに従って、SignIn Url を入力します。

    Configuring profile 'SSOProfile' in 'CloudSSO' authenticate mode...
    CloudSSO Sign In Url []: https://signin-<region>.alibabacloudsso.com/<directory-name>/login
  3. 開いたブラウザーウィンドウで、画面の指示に従って CloudSSO ユーザーのログインを完了します。ログイン後、ブラウザーウィンドウを閉じます。

    説明

    ブラウザーウィンドウが開かない場合、またはターミナルのみの環境の場合は、CLI プロンプトから SignIn urlUser code をコピーし、ブラウザーに貼り付けてログインを完了します。

    プロンプトの例を次に示します。

    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: CGKM-LIXZ
  4. 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. <other-account-name>
    Please input the account number: 1
  5. CLI は、使用可能な アクセス設定 (ユーザー権限設定) を一覧表示します。使用したいアクセス設定に対応する番号を入力します。

    Please choose an access configuration:
    1. <access-configuration1>
    2. <access-configuration2>
    Please input the access configuration number: 2
  6. デフォルトのリージョンと言語を設定します。例:

    Default Region Id []: cn-shanghai
    Default Language [zh|en] en: en

    リージョンの一覧については、「リージョンとアベイラビリティゾーン」をご参照ください。一部のクラウド製品はリージョン固有です。リソースが存在するリージョンをデフォルトに設定することを推奨します。

  7. ターミナルに Configure Done とウェルカムメッセージが表示されます。これは、設定が成功したことを示します。

設定が完了したら、aliyun sts get-caller-identity コマンドを実行して、認証情報が有効であることを検証します。

説明

構成が正常に作成されると、自動的にアクティブな構成として設定されます。別の構成に切り替えるには、aliyun configure switch --profile <ProfileName> コマンドを実行します。

認証情報の更新

CloudSSO 資格情報は自動的に更新されません。有効期限が切れた後、aliyun configure --mode CloudSSO --profile <ProfileName> コマンドを再度実行して設定する必要があります。

External

External 方式は、外部プログラムを使用して資格情報データを取得します。資格情報が必要になると、Alibaba Cloud CLI は指定されたプログラムを実行し、その標準出力を資格情報として使用します。この方式は、カスタムの資格情報取得ロジックが必要なシナリオに適しています。

前提条件

  • 指定された JSON 形式の資格情報を標準出力 (stdout) に出力できる実行可能なプログラムまたはスクリプトがあること。必要な形式は次のとおりです。

    AccessKey

    {
      "mode": "AK",
      "access_key_id": "<yourAccessKeyID>",
      "access_key_secret": "<yourAccessKeySecret>"
    }

    STS トークン

    {
      "mode": "StsToken",
      "access_key_id": "<yourAccessKeyID>",
      "access_key_secret": "<yourAccessKeySecret>",
      "sts_token": "<yourSecurityToken>"
    }
  • プログラムはステータスコード 0 で終了する必要があります。ゼロ以外の終了コードは失敗を示します。

資格情報の設定

非インタラクティブ設定 (推奨)

Bash
aliyun configure set \
  --mode External \
  --profile ExternalProfile \
  --process-command "/path/to/credential-helper" \
  --region cn-shanghai
PowerShell
aliyun configure set `
  --mode External `
  --profile ExternalProfile `
  --process-command "/path/to/credential-helper" `
  --region cn-shanghai

設定パラメーター

パラメーター

説明

必須

--mode

固定値 External は、認証情報タイプを指定します。

はい

External

--profile

設定の名前です。名前を指定しない場合、デフォルトで現在アクティブな設定が使用されます。最初の設定のデフォルト名は default です。複数の認証情報セットを区別するために、意味のある名前を使用することをお勧めします。

いいえ

ExternalProfile

--process-command

外部プログラムのコマンドパス。パラメーター付きの完全なコマンドがサポートされています。

はい

acs-sso login --profile sso

--region

デフォルトの リージョン。一部のクラウド製品はリージョン固有です。リソースが存在するリージョンをデフォルトに設定することを推奨します。

はい

cn-shanghai

インタラクティブ設定

aliyun configure --mode External --profile <ProfileName>

プロンプトに従って、プロセス コマンド、デフォルトリージョン、言語を入力して設定を完了します。

設定が完了したら、aliyun sts get-caller-identity コマンドを実行して、認証情報が有効であることを検証します。

認証情報の更新

External 方式を使用する場合、CLI は資格情報をキャッシュしたり、自動的に更新したりしません。CLI は、資格情報が必要になるたびに外部プログラムを再実行します。外部プログラムが更新ロジックを実装する責任を負います。

CredentialsURI

CredentialsURI 方式は、ユーザーが提供する HTTP エンドポイントから一時的なセキュリティ認証情報 (STS トークン) を取得します。この方式は、自己管理型の資格情報配布サービスがあるシナリオに適しています。

前提条件

HTTP 200 ステータスコードで、指定された JSON 形式の資格情報レスポンスを返すことができる HTTP または HTTPS エンドポイントがあること。レスポンスボディは、次の JSON 形式である必要があります。

{
  "Code": "Success",
  "AccessKeyId": "<yourAccessKeyID>",
  "AccessKeySecret": "<yourAccessKeySecret>",
  "SecurityToken": "<yourSecurityToken>"
}
重要
  • 指定された URL が HTTP 200 ステータスコードを返さない場合、またはレスポンスの内容が期待される形式と一致しない場合、Alibaba Cloud CLI はリクエストを失敗として扱います。

  • レスポンス JSON の Code フィールドは、"Success" である必要があります (大文字と小文字が区別されます)。

資格情報の設定

  1. 次のコマンドを実行して設定を開始します。<ProfileName>URIProfile などのカスタムプロファイル名に置き換えます。

    aliyun configure --mode CredentialsURI --profile <ProfileName>
  2. プロンプトに従って、Credentials URI、デフォルトリージョン、言語を入力します。

    Configuring profile 'URIProfile' in 'CredentialsURI' authenticate mode...
    Credentials URI []: http://credentials.uri/
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[URIProfile] ...Done.

    リージョンの一覧については、「リージョンとアベイラビリティゾーン」をご参照ください。一部のクラウド製品はリージョン固有です。リソースが存在するリージョンをデフォルトに設定することを推奨します。

  3. ターミナルに Configure Done とウェルカムメッセージが表示され、設定が正常に完了したことを示します。

説明

プロファイルが正常に設定されると、自動的にアクティブなプロファイルになります。別のプロファイルに切り替えるには、 aliyun configure switch --profile <ProfileName> コマンドを実行します。

設定が完了したら、aliyun sts get-caller-identity コマンドを実行して、認証情報が有効になったことを確認します。

認証情報の更新

資格情報の有効期限が切れると、CLI は自動的に新しい HTTP GET リクエストをエンドポイントに送信して、新しい資格情報を取得します。このプロセスはユーザーに対して透過的に行われます。HTTP エンドポイントは、リクエストごとに有効な STS トークンを返す必要があります。

BearerToken

BearerToken 方式は、Bearer Token を使用して Alibaba Cloud API サービスで認証します。この方式は、製品プラグインを介して API を呼び出し、対象サービスが Bearer Token をサポートし、発行するシナリオに適しています。

前提条件

  • 対象サービスによって発行された Bearer Token を取得済みであること。

  • 対象製品の CLI プラグインをインストール済みであること: aliyun plugin install --name <plugin-name>

重要
  • BearerToken モードは、製品プラグインを介した API 呼び出しのみをサポートします。製品の API を呼び出すには、まず対応するプラグインをインストールする必要があります: aliyun plugin install --name <plugin-name>

  • CLI のバージョンは 3.3.16 以上である必要があります。

資格情報の設定

非インタラクティブ設定 (推奨)

aliyun configure set \
  --mode BearerToken \
  --profile BearerProfile \
  --bearer-token <your-bearer-token> \
  --region cn-shanghai

認証ヘッダー名をカスタマイズするには、--bearer-token-header-key パラメーターを追加します:

aliyun configure set \
  --mode BearerToken \
  --profile BearerProfile \
  --bearer-token <your-bearer-token> \
  --bearer-token-header-key <custom-header-name> \
  --region cn-shanghai

設定パラメーター

パラメーター

必須

説明

--mode

はい

値には BearerToken を指定する必要があります。これは認証情報タイプであり、大文字と小文字が区別されます。

BearerToken

--bearer-token

はい

Bearer Token の値。

eyJhbGciOiJSUzI1****

--bearer-token-header-key

いいえ

カスタム認証ヘッダーの名前。指定しない場合、デフォルトは x-acs-bearer-token です。値は印刷可能な ASCII 文字である必要があり、スペース、タブ、コロン、または制御文字を含めることはできません。

x-custom-auth

--profile

いいえ

プロファイル名。指定しない場合、現在アクティブなプロファイルが使用されます。

BearerProfile

--region

はい

デフォルトのリージョン。一部のクラウド製品はリージョン固有です。リソースが存在するリージョンをデフォルトに設定することを推奨します。

cn-shanghai

インタラクティブ設定

  1. 設定を開始するには、次のコマンドを実行します。コマンド内の <ProfileName> は、BearerProfile などのカスタムプロファイル名に置き換えます。

    aliyun configure --mode BearerToken --profile <ProfileName>
  2. プロンプトに従って、Bearer Token、オプションの Bearer Token ヘッダーキー (デフォルトを使用する場合は空欄のままにします)、デフォルトリージョン、言語を入力します。

    Configuring profile 'BearerProfile' in 'BearerToken' authenticate mode...
    Bearer Token []: eyJhbGciOiJSUzI1****
    Bearer Token Header Key [] (optional, e.g. x-custom-token; leave empty for x-acs-bearer-token): 
    Default Region Id []: cn-shanghai
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[BearerProfile] ...Done.
  3. ターミナルに Configure Done とウェルカムメッセージが表示され、設定が成功したことを示します。

設定が完了したら、次のコマンドを実行して、製品プラグインを介して対象製品の API を呼び出し、資格情報が有効であることを確認します。

aliyun <command> <sub-command> --profile BearerProfile
説明

BearerToken モードの configure hello コマンドは、接続性チェックを実行せず、すぐに成功メッセージを返します。実際の API コールを行うことで、認証情報の有効性を検証する必要があります。

環境変数

BearerToken 方式は、資格情報パラメーターを設定するために次の環境変数をサポートします。

環境変数

説明

ALIBABA_CLOUD_BEARER_TOKEN

Bearer Token の値。

ALIBABA_CLOUD_BEARER_TOKEN_HEADER_KEY

カスタム認証ヘッダーの名前です。値を指定しない場合、デフォルトは x-acs-bearer-token です。

資格情報の削除

ローカル CLI 設定から資格情報プロファイルを削除するには、次のコマンドを実行します。

aliyun configure delete --profile <ProfileName>
説明

アクティブなプロファイルを削除すると、CLI は自動的に設定リストの最初のプロファイルに切り替わります。