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

Alibaba Cloud CLI:RAM ロールの認証情報

最終更新日:Jun 05, 2026

Alibaba Cloud CLI で RAM ロールを引き受けるように設定することで、権限の低い AccessKey を使用して、権限の高い AccessKey を直接公開することなく、クラウドリソースにアクセスするための STS 一時的認証情報を自動的に取得できます。このトピックでは、2 つの設定方法—RamRoleArn (RAM ロールを直接引き受ける) と ChainableRamRoleArn (既存の CLI 認証情報から連鎖して RAM ロールを引き受ける)—および、それぞれの適用シナリオについて説明します。

バージョン要件

Alibaba Cloud CLI のバージョンは 3.3.0 以上である必要があります。aliyun version を実行して現在のバージョンを確認し、バージョンが古い場合は「Alibaba Cloud CLI のインストール、更新、アンインストール」をご参照のうえ、スペックアップしてください。

RamRoleArn

RamRoleArn は、権限の低い AccessKey を使用して権限の高い RAM ロールを引き受け、STS 一時的認証情報を取得します。この AccessKey には AliyunSTSAssumeRoleAccess ポリシーのみが必要です。有効な権限は、ターゲットロールにアタッチされたポリシーによって決まります。この方法は、ローカル開発環境や権限分離が必要なシナリオに適しています。

前提条件

  • RAM ユーザーの AccessKey が作成され、AliyunSTSAssumeRoleAccess ポリシーが付与されていること。

  • ターゲットの RAM ロールが作成され、そのロールの信頼ポリシーで RAM ユーザーによるロールの引き受けが許可されていること。

  • ターゲットの RAM ロールの ARN が取得済みであること。RAM コンソールのロール詳細ページで確認できます。フォーマットは acs:ram::<ACCOUNT_ID>:role/<RoleName> です。

前提条件の詳細な準備については、「AccessKey ペアを使用した API 呼び出し」の「AccessKey の間接的な使用」のステップをご参照ください。

認証情報の設定

対話形式での設定

  1. 次のコマンドを実行して設定を開始します。<ProfileName> をカスタムプロファイル名 (例: RamRoleProfile) に置き換えてください。

    aliyun configure --mode RamRoleArn --profile <ProfileName>
  2. プロンプトに従って設定情報を入力します。

    Configuring profile 'RamRoleArnProfile' in 'RamRoleArn' authenticate mode...
    Access Key Id []: <yourAccessKeyID>
    Access Key Secret []: <yourAccessKeySecret>
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[RamRoleArnProfile] ...Done.
  3. ターミナルに Configure Done とウェルカムメッセージが表示されたら、設定は完了です。

説明

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

非対話形式での設定

Bash
aliyun configure set \
  --profile RamRoleArnProfile \
  --mode RamRoleArn \
  --access-key-id <yourAccessKeyID> \
  --access-key-secret <yourAccessKeySecret> \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"
PowerShell
aliyun configure set `
  --profile RamRoleArnProfile `
  --mode RamRoleArn `
  --access-key-id <yourAccessKeyID> `
  --access-key-secret <yourAccessKeySecret> `
  --sts-region "cn-hangzhou" `
  --ram-role-arn "acs:ram::012345678910****:role/Alice" `
  --role-session-name "alice" `
  --external-id "abcd1234" `
  --expired-seconds 900 `
  --region "cn-shanghai"

全パラメーター

パラメーター

必須

説明

--mode

はい

固定値 RamRoleArn。認証情報のタイプを指定します。

RamRoleArn

--profile

いいえ

プロファイル名。指定しない場合、デフォルトで現在アクティブなプロファイルが使用されます。最初のプロファイルのデフォルト名は default です。複数のプロファイルを区別するために、意味のある名前を使用することを推奨します。

RamRoleProfile

--region

はい

デフォルトのリージョン ID。

cn-hangzhou

--access-key-id

はい

RAM ユーザーの AccessKey ID。ユーザーには AliyunSTSAssumeRoleAccess ポリシーが必要です。

LTAI5t****

--access-key-secret

はい

対応する AccessKey Secret。

****

--ram-role-arn

はい

ターゲット RAM ロールの ARN。RAM コンソールのロール詳細ページから取得できます。

acs:ram::191317683912****:role/DevOpsRole

--role-session-name

はい

セッション名。監査ログでこのロールの引き受けを識別するために使用されます。アプリケーション名やマシン名など、意味のある識別子を使用することを推奨します。

my-session

--expired-seconds

いいえ

一時的認証情報の有効期間 (秒)。有効な値:900~3600。対話形式での設定ではデフォルト値は 900 秒です。configure set コマンドで指定しない場合、デフォルト値は 3600 秒です。

900

--external-id

いいえ

外部 ID。クロスアカウントでのロール引き受け時のセキュリティを強化するために使用されます。このパラメーターは、ターゲットロールの信頼ポリシーで要求されている場合にのみ必須です。詳細については、「外部 ID を使用して Confused Deputy 問題を回避する」をご参照ください。

--sts-region

いいえ

STS エンドポイントのリージョン ID。指定しない場合、グローバルエンドポイント sts.aliyuncs.com が使用されます。

cn-shanghai

認証情報の検証

設定が完了したら、次のコマンドを実行して認証情報が有効であることを確認します。

aliyun sts get-caller-identity

出力:

{
  "AccountId": "191317683912****",
  "Arn": "acs:ram::191317683912****:assumed-role/<role-name>/<role-session-name>",
  "IdentityType": "AssumedRoleUser",
  "PrincipalId": "30004467717606****:<role-session-name>",
  "RequestId": "0FFADC33-EA49-5E2A-977F-0BA820D6****",
  "RoleId": "30004467717606****"
}

認証情報のリフレッシュ

CLI は手動介入なしで認証情報のリフレッシュを自動的に管理します。STS 一時的認証情報が期限切れになる前に、CLI は再度 STS AssumeRole を呼び出して新しい認証情報を取得します。これは実行中の CLI コマンドには影響しません。

ChainableRamRoleArn

ChainableRamRoleArn は、既存の CLI 認証情報プロファイル (ソースプロファイル) から連鎖して別の RAM ロールを引き受けます。CLI はまずソースプロファイルから中間認証情報を取得し、その認証情報を使用して STS AssumeRole を呼び出し、最終的な STS 一時的認証情報を取得します。この方法は、クロスアカウント、マルチホップのロールチェーンシナリオ、または EcsRamRole に基づいて追加のロールを引き受ける必要があるシナリオに適しています。

ChainableRamRoleArn 認証情報タイプは、ソース認証情報プロファイルを指定し、そのプロファイルから中間認証情報 (AccessKey または STS 一時的認証情報) を取得し、その中間認証情報を使用してターゲットロールを引き受け、最終的な STS 一時的認証情報を取得することで機能します。

前提条件

  • 設定済みの EcsRamRole、AK、または RamRoleArn プロファイルなど、有効な CLI プロファイル (ソースプロファイル) がすでに存在すること。

  • ソースプロファイルに関連付けられたプリンシパル (RAM ユーザーまたはロール) が、ターゲットの RAM ロールを引き受ける権限を持っていること (ターゲットロールの信頼ポリシーでプリンシパルによる引き受けが許可されていること)。

  • ターゲットの RAM ロールの ARN が取得済みであること。フォーマットは acs:ram::<ACCOUNT_ID>:role/<RoleName> です。

認証情報の設定

対話形式での設定

  1. 次のコマンドを実行して設定を開始します。<ProfileName> をカスタムプロファイル名 (例: ChainProfile) に置き換えてください。

    aliyun configure --mode ChainableRamRoleArn --profile <ProfileName>
  2. プロンプトに従って設定情報を入力します。

    Configuring profile 'ChainableProfile' in 'ChainableRamRoleArn' authenticate mode...
    Source Profile []: RamRoleArnProfile
    Sts Region []: cn-hangzhou
    Ram Role Arn []: acs:ram::012345678910****:role/Alice
    Role Session Name []: alice
    External ID []: abcd1234
    Expired Seconds [900]: 900
    Default Region Id []: cn-hangzhou
    Default Output Format [json]: json (Only support json)
    Default Language [zh|en] en: en
    Saving profile[ChainableProfile] ...Done.
    説明

    上記の例では、RamRoleArnProfile は既存のソースプロファイルの名前であり、RAM ロールの ARN はサンプル値です。これらを実際の値に置き換えてください。Sts RegionExternal Id のプロンプトは Enter キーを押してスキップできます。

  3. ターミナルに Configure Done とウェルカムメッセージが表示されたら、設定は完了です。

説明

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

非対話形式での設定

コマンド例:

Bash
aliyun configure set \
  --profile ChainableProfile \
  --mode ChainableRamRoleArn \
  --source-profile RamRoleArnProfile \
  --sts-region "cn-hangzhou" \
  --ram-role-arn "acs:ram::012345678910****:role/Alice" \
  --role-session-name "alice" \
  --external-id "abcd1234" \
  --expired-seconds 900 \
  --region "cn-shanghai"
PowerShell
aliyun configure set `
  --profile ChainProfile `
  --mode ChainableRamRoleArn `
  --region cn-hangzhou `
  --source-profile EcsRoleProfile `
  --ram-role-arn acs:ram::<UID>:role/<RoleName> `
  --role-session-name chain-session `
  --expired-seconds 900
重要

--source-profile で指定されたプロファイルは、CLI 設定ファイルにすでに存在している必要があります。そうでない場合、can not load the source profile: <name> というエラーが返されます。aliyun configure list を実行して、既存のすべてのプロファイルを表示できます。

全パラメーター

パラメーター

必須

説明

--mode

はい

固定値 ChainableRamRoleArn。認証情報のタイプを指定します。明示的に指定する必要があり、自動推論はサポートされていません。

ChainableRamRoleArn

--profile

いいえ

プロファイル名。指定しない場合、デフォルトで現在アクティブなプロファイルが使用されます。最初のプロファイルのデフォルト名は default です。

ChainProfile

--region

はい

デフォルトのリージョン ID。

cn-hangzhou

--source-profile

はい

ソースプロファイルの名前。CLI はまずこのプロファイルから中間認証情報を取得し、その中間認証情報を使用してターゲットロールを引き受けます。プロファイルはすでに存在している必要があります。

EcsRoleProfile

--ram-role-arn

はい

ターゲット RAM ロールの ARN。

acs:ram::191317683912****:role/CrossAccountRole

--role-session-name

はい

セッション名。監査ログでの識別に使われます。

chain-session

--expired-seconds

いいえ

一時的認証情報の有効期間 (秒)。有効な値:900~3600。指定しない場合、デフォルト値は 3600 秒です。

900

--external-id

いいえ

外部 ID。このパラメーターは、ターゲットロールの信頼ポリシーで要求されている場合にのみ必須です。

--sts-region

いいえ

STS エンドポイントのリージョン ID。指定しない場合、グローバルエンドポイント sts.aliyuncs.com が使用されます。

cn-hangzhou

認証情報の検証

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

認証情報のリフレッシュ

CLI は手動介入なしで認証情報のリフレッシュを自動的に管理します。STS 一時的認証情報が期限切れになる前に、CLI はまずソースプロファイルの認証情報をリフレッシュし (ソースプロファイルのリフレッシュロジックに従います。たとえば、EcsRamRole は IMDS を通じてリフレッシュします)、その後、再度 STS AssumeRole を呼び出して新しい認証情報を取得します。

認証情報の削除

CLI のローカル設定から RAM ロールの認証情報を削除します。

aliyun configure delete --profile <ProfileName>
説明

削除されたプロファイルが現在アクティブなプロファイルである場合、CLI は自動的にプロファイルリストの最初のプロファイルに切り替わります。