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

:AssumeRole

最終更新日:Aug 08, 2025

AssumeRole 操作を呼び出して、RAM ロールの セキュリティトークンサービス (STS) の一時トークンを取得できます。

操作説明

前提条件

Alibaba Cloud アカウントを使用してこの操作を呼び出すことはできません。 RAM ユーザーまたは RAM ロールを使用する必要があります。 呼び出し元 (RAM ユーザーまたは RAM ロール) に AliyunSTSAssumeRoleAccess 権限が付与されていることを確認してください。

それ以外の場合、次のエラーが報告されます。

You are not authorized to do this action. You should be authorized by RAM.

原因と解決策は次のとおりです。

ベスト プラクティス

STS トークンは、発行されてから限られた期間有効です。 トークンに適切な有効期間を設定し、その期間内に再利用してください。 これにより、リクエスト率が増加した場合に、STS トークン発行のレート制限によってサービスが影響を受けるのを防ぐことができます。 レート制限の詳細については、「STS の呼び出し回数に制限はありますか?」をご参照ください。 DurationSeconds リクエスト パラメーターを使用して、トークンの有効期間を設定できます。

モバイル デバイスから OSS ファイルをアップロードまたはダウンロードするなど、リクエスト量の多いシナリオでは、STS トークンを再利用しても速度制限が発生する可能性があります。 STS の速度制限が OSS アクセスのボトルネックになるのを防ぐために、URL に署名を含めるという OSS ソリューションを使用できます。 詳細については、「URL に署名を含める」および「サーバーがリクエストに署名した後に、オブジェクトをポストして OSS にデータをアップロードする」をご参照ください。

今すぐお試しください

この API を OpenAPI Explorer でお試しください。手作業による署名は必要ありません。呼び出しに成功すると、入力したパラメーターに基づき、資格情報が組み込まれた SDK コードが自動的に生成されます。このコードをダウンロードしてローカルで使用できます。

テスト

RAM 認証

下表に、この API を呼び出すために必要な認証情報を示します。認証情報は、RAM (Resource Access Management) ポリシーを使用して定義できます。以下で各列名について説明します。

  • アクション:特定のリソースに対して実行可能な操作。ポリシー構文ではAction要素として指定します。

  • API:アクションを具体的に実行するための API。

  • アクセスレベル:各 API に対して事前定義されているアクセスの種類。有効な値:create、list、get、update、delete。

  • リソースタイプ:アクションが作用するリソースの種類。リソースレベルでの権限をサポートするかどうかを示すことができます。ポリシーの有効性を確保するため、アクションの対象として適切なリソースを指定してください。

    • リソースレベルの権限を持つ API の場合、必要なリソースタイプはアスタリスク (*) でマークされます。ポリシーのResource要素で対応する ARN を指定してください。

    • リソースレベルの権限を持たない API の場合、「すべてのリソース」と表示され、ポリシーのResource要素でアスタリスク (*) でマークされます。

  • 条件キー:サービスによって定義された条件のキー。このキーにより、きめ細やかなアクセス制御が可能になります。この制御は、アクション単体に適用することも、特定のリソースに対するアクションに適用することもできます。Alibaba Cloud は、サービス固有の条件キーに加えて、すべての RAM 統合サービスに適用可能な一連の共通条件キーを提供しています。

  • 依存アクション:ある特定のアクションを実行するために、前提として実行が必要となる他のアクション。依存アクションの権限も RAM ユーザーまたは RAM ロールに付与する必要があります。

アクション

アクセスレベル

リソースタイプ

条件キー

依存アクション

sts:AssumeRole

get

*Role

acs:ram::{#accountId}:role/{#RoleName}

なし なし

リクエストパラメーター

パラメーター

タイプ

必須 / 任意

説明

DurationSeconds

integer

任意

トークンの有効期間 (秒単位)。

最小値は 900 秒、最大値はアシュームするロールの MaxSessionDuration です。 デフォルト値は 3600 秒です。

CreateRole または UpdateRole 操作を呼び出すことで、ロールの最大セッション期間 (MaxSessionDuration) を設定できます。 詳細については、「CreateRole」または「UpdateRole」をご参照ください。

3600

Policy

string

任意

セキュリティトークンサービス (STS) トークンの権限をさらに制限するための追加のアクセス ポリシー。 次のルールが適用されます。

  • このポリシーを指定した場合、STS トークンの最終的な権限は、RAM ロールの権限とこのポリシーの共通部分になります。

  • このポリシーを指定しない場合、STS トークンは RAM ロールの権限を持ちます。

ポリシーの長さは 1 ~ 2,048 文字である必要があります。

アクセス ポリシーの要素と例の詳細については、「アクセス ポリシーの基本要素」および「ポリシー例ライブラリ」をご参照ください。

{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"}

RoleArn

string

必須

アシュームする RAM ロールの Amazon リソースネーム (ARN)。

RAM ロールは、信頼できるエンティティが Alibaba Cloud アカウントであるロールである必要があります。 詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」または「CreateRole」をご参照ください。

フォーマット: acs:ram::<account_id>:role/<role_name>

RAM ロールの ARN は、RAM コンソールで、または API 操作を呼び出すことで表示できます。

acs:ram::123456789012****:role/adminrole

RoleSessionName

string

必須

ロール セッション名。

これはカスタム パラメーターです。 通常、操作を呼び出すユーザーの ID (ユーザー名など) に設定されます。 ActionTrail 監査ログでは、RoleSessionName パラメーターに基づいて、実際のオペレーターと、同じ RAM ロールをアシュームする他のオペレーターを区別できます。 これにより、ユーザーレベルのアクセス監査が可能になります。

値の長さは 2 ~ 64 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: .@-_

alice

ExternalId

string

任意

ロールの外部 ID。

このパラメーターは、Confused Deputy 問題を防ぐために使用されます。 詳細については、「外部 ID を使用して Confused Deputy 問題を防ぐ」をご参照ください。

値の長さは 2 ~ 1,224 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: =,.@:/-_。 正規表現: [\w+=,.@:\/-]*

abcd1234

SourceIdentity

string

任意

ソース ID。

ロールをアシュームするときに、ロール ユーザーのソース ID を初期セッション ID として指定できます。 ソース ID は、チェーン化されたロールアシューム セッション全体で保持され、変更することはできません。 これにより、操作のトレーサビリティとセキュリティが確保されます。

SourceIdentity の長さは 2 ~ 64 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: =,.@-_。 正規表現: [\w+=,.@-]*acs:aliyun:、または alibabacloud: で始まる値は使用しないでください。 これらのプレフィックスは、Alibaba Cloud による内部使用のために予約されています。

Alice

詳細については、「共通リクエスト パラメーター」をご参照ください。

レスポンスパラメーター

パラメーター

タイプ

説明

object

レスポンス パラメーター。

RequestId

string

リクエスト ID。

6894B13B-6D71-4EF5-88FA-F32781734A7F

AssumedRoleUser

object

ロール アシュームのための一時 ID。

AssumedRoleId

string

一時 ID の ID。

34458433936495****:alice

Arn

string

一時 ID の ARN。

acs:ram::123456789012****:role/adminrole/alice

Credentials

object

アクセス認証情報。

SecurityToken

string

セキュリティ トークン。

説明

セキュリティ トークンの長さは変動します。 セキュリティ トークンの最大長を設定しないでください。

********

Expiration

string

トークンの有効期限 (UTC)。

2015-04-09T11:52:19Z

AccessKeySecret

string

AccessKey シークレット。

wyLTSmsyPGP1ohvvw8xYgB29dlGI8KMiH2pK****

AccessKeyId

string

AccessKey ID。

STS.L4aBSCSJVMuKg5U1****

SourceIdentity

string

ロールをアシュームするときに、セッションの初期識別子として使用するソース ID を指定できます。 このソース ID の値は、チェーン化されたロール アシューム セッション全体で保持され、変更することはできません。 これにより、操作のトレーサビリティとセキュリティが確保されます。

ソース ID が設定されていない場合、このパラメーターは返されません。

ソース ID 情報が構成されていない場合、このパラメーターは返されません。

Alice

成功レスポンス

JSONJSON

{
  "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****"
  },
  "SourceIdentity": "Alice"
}

エラーコード

HTTP ステータスコード

エラーコード

エラーメッセージ

説明

400 InvalidParameter.DurationSeconds The Min/Max value of DurationSeconds is 15min/1hr.
400 InvalidParameter.ExternalId The parameter ExternalId is wrongly formed.
400 InvalidParameter.RoleArn The parameter RoleArn is wrongly formed.
400 InvalidParameter.RoleSessionName The parameter RoleSessionName is wrongly formed.
400 InvalidParameter.SerialNumber The parameter SerialNumber is wrongly formed.
400 InvalidParameter.TokenCode The parameter TokenCode is wrongly formed.
400 InvalidParameter.PolicyGrammar The parameter Policy has not passed grammar check.
400 InvalidParameter.PolicySize The size of Policy must be smaller than 2048 bytes.
400 InvalidParameter.ContentType The ContentType request header must be either "application/json" or "application/x-www-form-urlencoded".
500 InternalError STS Server Internal Error happened, please send the RequestId to us.
403 NoPermission You are not authorized to do this action. You should be authorized by RAM.
403 AuthenticationFail.ApiUsername The specified api username is not legal.
403 AuthenticationFail.ApiPassword The specified api password is not legal.
404 EntityNotExist.Role The specified Role not exists .

完全なリストについては、「エラーコード」をご参照ください。

変更履歴

完全なリストについては、「変更履歴」をご参照ください。