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

Resource Access Management:RAMロールとSTSトークンに関するFAQ

最終更新日:Oct 30, 2024

このトピックでは、Resource Access Management (RAM) ロールとSecurity Token Service (STS) トークンに関するよくある質問に対する回答を提供します。

エラーメッセージ "このアクションを実行する権限がありません。 あなたはRAMによって承認されるべきです。RAMユーザーがSTSにアクセスしようとしたときに報告されますか?

RAMユーザーがAPI、CLI、またはSDKを使用してAssumeRole操作を呼び出すと、次のエラーメッセージが返される場合があります。

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

次の情報を参照して、エラーのトラブルシューティングを行うことができます。

AssumeRole操作を呼び出すことができるのは誰ですか?

AssumeRole操作を呼び出して、RAMロールを引き受けるために使用されるSTSトークンを取得できます。 この操作を呼び出すことができるのは、RAMユーザーまたはRAMロールだけです。 Alibaba Cloudアカウントはこの操作を呼び出すことはできません。

RAMロールの種類は何ですか? RAMロールの種類を引き受けることができるエンティティ

RAMロールは、信頼できるエンティティに基づいて次のタイプに分類されます。

  • Alibaba Cloudアカウント: 信頼できるAlibaba CloudアカウントのRAMユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールを引き受けるRAMユーザーは、所有者のAlibaba Cloudアカウントまたは他のAlibaba Cloudアカウントに所属できます。 このタイプのRAMロールは、クロスアカウントアクセスと一時的な権限付与に使用されます。

  • Alibaba Cloudサービス: Alibaba Cloudサービスは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールは、Alibaba Cloudサービス間のアクセスを許可するために使用されます。 Elastic Compute Service (ECS) インスタンスが想定するRAMロールは、このタイプのRAMロールに分類されます。 この場合、信頼できるエンティティはECSです。 詳細については、「インスタンスRAMロールを使用した他のAlibaba Cloudリソースへのアクセス」をご参照ください。

  • IdP: 信頼できるIdPのユーザーは、このタイプのRAMロールを引き受けることができます。 このタイプのRAMロールは、Alibaba Cloudと信頼できるIdP間のシングルサインオン (SSO) の実装に使用されます。

RAMユーザーが引き受けることができるRAMロールを指定できますか?

はい。RAMユーザーが引き受けることができるRAMロールを指定できます。 カスタムポリシーを作成して、RAMユーザーが引き受けることができるRAMロールを指定できます。 次のサンプルコードは、カスタムポリシーの例を示しています。

{
    "Statement": [
        {
            "Action": "sts:AssumeRole",
            "Effect": "Allow",
            "Resource": "acs:ram:*:<account-id>:role/<role-name>"
        }
    ],
    "Version": "1"
}
説明
  • このポリシーでは、Resource要素はRAMロールのAlibaba Cloud Resource Name (ARN) を指定します。 この要素では、<account-id> はAlibaba Cloudアカウントを指定し、<role-name> はRAMロールの名前を指定します。 RAMロールのARNを表示する方法の詳細については、「RAMロールのARNを見つけるにはどうすればよいですか?」をご参照ください。

  • このポリシーをRAMユーザーにアタッチして、RAMユーザーが引き受けることができるRAMロールを指定できます。 RAMユーザーにポリシーをアタッチする方法の詳細については、「RAMユーザーへの権限の付与」をご参照ください。

RAMロールのARNを表示するにはどうすればよいですか?

  1. RAM コンソール にログインします。

  2. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

  3. [ロール] ページで、ARNを表示するRAMロールの名前をクリックします。

  4. [基本情報] セクションで、RAMロールのARNを表示します。  ARN of a RAM role

STS APIリクエストの数は制限されていますか?

はい、STS APIリクエストの数は制限されています。 AssumeRole操作は、Alibaba Cloudアカウントごとに1秒あたり最大100回呼び出すことができます。 Alibaba Cloudアカウント内のRAMユーザーとRAMロールを使用して送信されたAPIリクエストもカウントされます。

APIリクエストの数が上限を超えると、過剰なリクエストに対して次のいずれかのエラーメッセージが返されます。

  • エラーメッセージ

    エラーコード

    エラーメッセージ

    Throttling.Api

    apiフロー制御によりリクエストが拒否されました。

    Throttling.User

    ユーザーフロー制御によりリクエストが拒否されました。

    スロットリング

    フロー制御によりリクエストが拒否されました。

  • HTTPステータスコード302

上記のエラーメッセージまたはHTTPステータスコードの302のいずれかが返された場合は、同時STS APIリクエストの数を減らします。 サービスが同時のSTS APIリクエストに対してより高いクォータを必要とする場合は、 ticket を起票してクォータを増やします。

STSトークンの権限は何ですか?

STSトークンの権限は、指定されたRAMロールによって所有され、AssumeRole操作を呼び出すときにPolicyパラメーターに指定する値に含まれる権限です。

説明

AssumeRole操作を呼び出すときにPolicyパラメーターを指定しない場合、返されるSTSトークンには特定のRAMロールのすべての権限が付与されます。

STS トークンの有効期間はどれだけですか?

STSトークンの有効期間は、900秒から指定した最大セッション期間の範囲です。 デフォルトの有効期間は3,600秒です。

説明
  • AssumeRole操作を呼び出してSTSトークンの有効期間を指定するときに、DurationSecondsパラメーターを設定できます。

  • RAMコンソールを使用するか、APIを呼び出して、RAMロールの最大セッション期間を設定できます。 詳細については、「RAMロールの最大セッション期間の指定」をご参照ください。

異なる時点で複数のSTSトークンを取得した場合、古いトークンと新しいトークンは同時に有効ですか?

はい、古いトークンと新しいトークンは同時に有効です。 すべてのSTSトークンは、有効期限が切れる前に有効です。

STSトークンが公開された場合はどうすればよいですか?

RAMユーザーがRAMロールを引き受けた後に取得したSTSトークンが開示されている場合は、次の手順を実行してSTSトークンを無効にします。

  1. Alibaba Cloud アカウントを使用して、RAM コンソールにログインします。

  2. RAMロールからすべてのポリシーをデタッチします。

    詳細については、「RAM ロールの権限の削除」をご参照ください。

  3. RAMロールを削除します。

    詳細については、「RAMロールの削除」をご参照ください。

    RAMロールが削除されると、期限切れでないSTSトークンは無効になります。

削除したRAMロールを引き続き使用する場合は、同じ名前のRAMロールを作成し、新しいRAMロールに同じポリシーをアタッチします。

STSトークンの最大長は何ですか?

Alibaba Cloud STSは、STSトークンの長さに制限を課していません。 STSトークンの最大長を指定しないことを強くお勧めします。