AssumeRole 操作を呼び出して、RAM ロールの セキュリティトークンサービス (STS) の一時トークンを取得できます。
操作説明
前提条件
Alibaba Cloud アカウントを使用してこの操作を呼び出すことはできません。 RAM ユーザーまたは RAM ロールを使用する必要があります。 呼び出し元 (RAM ユーザーまたは RAM ロール) に AliyunSTSAssumeRoleAccess 権限が付与されていることを確認してください。
それ以外の場合、次のエラーが報告されます。
You are not authorized to do this action. You should be authorized by RAM.
原因と解決策は次のとおりです。
呼び出し元には、ロールをアシュームするための権限を付与するアクセス ポリシーがありません。 AliyunSTSAssumeRoleAccess システム ポリシーまたはカスタム ポリシーを呼び出し元にアタッチできます。 詳細については、「どの RAM ロールを RAM ユーザーがアシュームできるかを指定できますか?」および「RAM ユーザーに権限を付与する」をご参照ください。
RAM ロールの信頼ポリシーに、呼び出し元が信頼できるエンティティとしてリストされていません。 呼び出し元がロールをアシュームできるように、RAM ロールの信頼ポリシーを変更できます。 詳細については、「RAM ロールの信頼ポリシーを変更する」をご参照ください。
ベスト プラクティス
STS トークンは、発行されてから限られた期間有効です。 トークンに適切な有効期間を設定し、その期間内に再利用してください。 これにより、リクエスト率が増加した場合に、STS トークン発行のレート制限によってサービスが影響を受けるのを防ぐことができます。 レート制限の詳細については、「STS の呼び出し回数に制限はありますか?」をご参照ください。 DurationSeconds リクエスト パラメーターを使用して、トークンの有効期間を設定できます。
モバイル デバイスから OSS ファイルをアップロードまたはダウンロードするなど、リクエスト量の多いシナリオでは、STS トークンを再利用しても速度制限が発生する可能性があります。 STS の速度制限が OSS アクセスのボトルネックになるのを防ぐために、URL に署名を含めるという OSS ソリューションを使用できます。 詳細については、「URL に署名を含める」および「サーバーがリクエストに署名した後に、オブジェクトをポストして OSS にデータをアップロードする」をご参照ください。
今すぐお試しください
テスト
RAM 認証
|
アクション |
アクセスレベル |
リソースタイプ |
条件キー |
依存アクション |
|
sts:AssumeRole |
get |
*Role
|
なし | なし |
リクエストパラメーター
|
パラメーター |
タイプ |
必須 / 任意 |
説明 |
例 |
| DurationSeconds |
integer |
任意 |
トークンの有効期間 (秒単位)。 最小値は 900 秒、最大値はアシュームするロールの CreateRole または UpdateRole 操作を呼び出すことで、ロールの最大セッション期間 ( |
3600 |
| Policy |
string |
任意 |
セキュリティトークンサービス (STS) トークンの権限をさらに制限するための追加のアクセス ポリシー。 次のルールが適用されます。
ポリシーの長さは 1 ~ 2,048 文字である必要があります。 アクセス ポリシーの要素と例の詳細については、「アクセス ポリシーの基本要素」および「ポリシー例ライブラリ」をご参照ください。 |
{"Statement": [{"Action": ["*"],"Effect": "Allow","Resource": ["*"]}],"Version":"1"} |
| RoleArn |
string |
必須 |
アシュームする RAM ロールの Amazon リソースネーム (ARN)。 RAM ロールは、信頼できるエンティティが Alibaba Cloud アカウントであるロールである必要があります。 詳細については、「信頼できる Alibaba Cloud アカウントの RAM ロールを作成する」または「CreateRole」をご参照ください。 フォーマット: RAM ロールの ARN は、RAM コンソールで、または API 操作を呼び出すことで表示できます。
|
acs:ram::123456789012****:role/adminrole |
| RoleSessionName |
string |
必須 |
ロール セッション名。 これはカスタム パラメーターです。 通常、操作を呼び出すユーザーの ID (ユーザー名など) に設定されます。 ActionTrail 監査ログでは、 値の長さは 2 ~ 64 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: |
alice |
| ExternalId |
string |
任意 |
ロールの外部 ID。 このパラメーターは、Confused Deputy 問題を防ぐために使用されます。 詳細については、「外部 ID を使用して Confused Deputy 問題を防ぐ」をご参照ください。 値の長さは 2 ~ 1,224 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: |
abcd1234 |
| SourceIdentity |
string |
任意 |
ソース ID。 ロールをアシュームするときに、ロール ユーザーのソース ID を初期セッション ID として指定できます。 ソース ID は、チェーン化されたロールアシューム セッション全体で保持され、変更することはできません。 これにより、操作のトレーサビリティとセキュリティが確保されます。 SourceIdentity の長さは 2 ~ 64 文字である必要があり、文字、数字、および次の特殊文字を含めることができます: |
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 . |
完全なリストについては、「エラーコード」をご参照ください。
変更履歴
完全なリストについては、「変更履歴」をご参照ください。