AWS STS 認証情報を比較する
次の表は、一時的なセキュリティ認証情報を返す、AWS STS の API オペレーションの機能を比較したものです。ロールを引き受けることで一時的なセキュリティ認証情報をリクエストするための別の方法については、「ロールを引き受けるための各種方法」を参照してください。セッションタグを渡すことができるさまざまな AWS STS API オペレーションについては、「AWS STS でセッションタグを渡します」を参照してください。
注記
AWS STS API 呼び出しは、グローバルエンドポイントにも、リージョンのエンドポイントの 1 つに対しても送信できます。より近くのエンドポイントを選択した場合、レイテンシーを軽減し、API 呼び出しのパフォーマンスが向上します。また、元のエンドポイントとの通信ができなくなった場合は、代替リージョンのエンドポイントに呼び出しを送信することもできます。各種 AWS SDK の 1 つを使用している場合、API コールを行う前に SDK メソッドを使用してリージョンを選択します。手動で HTTP API リクエストを組み立てる場合、独自で正しいエンドポイントにリクエストを送信する必要があります。詳細については、リージョンとエンドポイントの「AWS STS 」セクションおよび「AWS リージョン で AWS STS を管理する」 を参照してください。
AWS STS API | 呼び出し元 | 認証情報の有効期間 (最小 | 最大 | デフォルト) | MFA サポート¹ | セッションポリシーのサポート² | 得られた一時的な認証情報に対する制限 |
---|---|---|---|---|---|
AssumeRole | 既存の一時的なセキュリティ認証情報を持つ IAM ユーザーまたは IAM ロール | 15 分 | 最大セッション期間設定³ | 1 時間 | あり | 可能 |
|
AssumeRoleWithSAML | 任意のユーザー。呼び出し元は、既知の ID プロバイダーからの認証を示す SAML 認証レスポンスを渡す必要があります。 | 15 分 | 最大セッション期間設定³ | 1 時間 | 不可 | 可能 |
|
AssumeRoleWithWebIdentity | 任意のユーザー。呼び出し元は、既知の ID プロバイダーからの認証を示す OIDC 準拠の JWT トークンを渡す必要があります。 | 15 分 | 最大セッション期間設定³ | 1 時間 | 不可 | 可能 |
|
GetFederationToken | IAM ユーザーまたは AWS アカウントのルートユーザー |
IAM ユーザー: 15 分 | 36 時間 | 12 時間 ルートユーザー: 15 分 | 1 時間 | 1 時間 |
不可 | 可能 |
AWS CLI または AWS API を使用して IAM オペレーションを呼び出すことはできません。この制限はコンソールセッションには適用されません。
コンソールへの SSO は許可されています。⁵ |
GetSessionToken | IAM ユーザーまたは AWS アカウントのルートユーザー |
IAM ユーザー: 15 分 | 36 時間 | 12 時間 ルートユーザー: 15 分 | 1 時間 | 1 時間 |
可能 | 不可 |
リクエストに MFA 情報が含まれていない場合は、IAM API オペレーションを呼び出せません。
コンソールへの SSO は許可されていません。⁶ |
¹ MFA サポート。AssumeRole および GetSessionToken API オペレーションを呼び出すときに、多要素認証 (MFA) デバイスに関する情報を含めることができます。そうすることで、API 呼び出しによって得られた一時的なセキュリティ認証情報を、MFA デバイスで認証されたユーザーだけが使用できるようにできます。詳細については、「MFA を使用した安全な API アクセス」を参照してください。
² セッションポリシーのサポート。セッションポリシーは、ロールまたはフェデレーティッドユーザーの一時セッションをプログラムで作成する際にパラメータとして渡すポリシーです。このポリシーでは、セッションに割り当てられているロールまたはユーザーのアイデンティティベースのポリシーのアクセス許可を制限しています。結果として得られるセッションのアクセス許可は、エンティティの ID ベースのポリシーとセッションポリシーの共通部分です。セッションポリシーを使用して、委任されているロールのアイデンティティベースのポリシーによって許可されている以上のアクセス許可を付与することはできません。ロールセッションのアクセス許可の詳細については、「セッションポリシー」を参照してください。
³ [Maximum session duration setting] (最大セッション期間設定)。DurationSeconds
パラメータを使用して、ロールセッションの期間を 900 秒 (15 分) からそのロールの最大セッション期間設定まで指定できます。ロールの最大値を確認する方法については、「ロールの最大セッション期間を更新する」を参照してください。
⁴ GetCallerIdentity。このオペレーションを実行するためのアクセス許可は必要ありません。管理者が、sts:GetCallerIdentity
アクションへのアクセスを明示的に拒否するポリシーを IAM ユーザーまたはロールに追加しても、このオペレーションは実行できます。IAM ユーザーまたはロールがアクセスを拒否されたときに同じ情報が返されるため、アクセス許可は必要ありません。レスポンスの例については、「iam:DeleteVirtualMFADevice を実行することを認可されていません」を参照してください。
⁵ コンソールへのシングルサインオン (SSO)。SSO をサポートするために、AWS でフェデレーションエンドポイント (https://signin.aws.amazon.com/federation
) を呼び出し、一時的セキュリティ認証情報を渡すことができます。エンドポイントから返されるトークンを使用すると、パスワードを要求せずにユーザーを直接コンソールにサインインさせる URL を作成できます。詳細とサンプルスクリプトについては、SAML 2.0 フェデレーティッドユーザーが AWS Management Consoleにアクセス可能にする および AWS セキュリティブログの「AWS へのクロスアカウントアクセスを有効にする方法
⁵ 一時的な認証情報を取得した後、この認証情報をフェデレーションのシングルサインオンエンドポイントに渡して AWS Management Console にアクセスすることはできません。詳細については、「AWS コンソールへのカスタム ID ブローカーアクセスを有効にする」を参照してください。